《分布式系统:概念与设计》一1.3 分布式系统的趋势

1.3 分布式系统的趋势

分布式系统正在经历巨大的变化,这可追溯到一系列有影响力的趋势:

  • 出现了泛在联网技术;
  • 出现了无处不在计算,它伴随着分布式系统中支持用户移动性的意愿;
  • 对多媒体设备的需求增加;
  • 把分布式系统作为一个设施。

1.3.1 泛在联网和现代互联网

现代互联网是一个巨大的由多种类型计算机网络互连的集合,网络的类型一直在增加,现在包括多种多样的无线通信技术,如WiFi、WiMAX、蓝牙(参见第3章)和第三代移动电话网络。最终结果是联网已成为一个泛在的资源,设备可以在任何时间、任何地方被连接(如果愿意)。
图1-3举例说明了互联网的部分典型组成。互联网上的计算机程序通过传递消息进行交互,采用了一种公共的通信手段。互联网通信机制(互联网协议)的设计和构造是一项重大的技术成果,它使得一个在某处运行的程序能给另一个地方的程序发送消息。

互联网也是一个超大的分布式系统。它使得世界各地的用户都能利用诸如万维网、电子邮件和文件传送等服务。(有时,Web被不正确地等同于互联网。)服务集是开放的,它能够通过服务器计算机和新的服务的增加而被扩展。图1-3还展示了许多企业内部网——由公司和其他组织操作的子网,通常受防火墙的保护。防火墙的作用是保护企业内部网,防止未授权的消息进出网络。8防火墙是通过过滤到达消息和外发消息来实现的。可以在源或目的地进行过滤,或者防火墙可以仅允许与电子邮件和Web访问相关的消息进出它保护的企业内部网。互联网服务提供商(Internet Service Provider,ISP)是给个体用户和小型组织提供宽带链接和其他类型连接的公司,使他们能获得互联网上任何地方的服务;同时提供诸如电子邮件和Web托管等本地服务。企业内部网通过主干网实现互相链接。主干网是具有高传送能力的网络链接,通常采用卫星连接、光缆和其他高带宽线路。
一些组织并不希望将他们的内部网络连接到互联网。例如,警察局与其他安全和法律执行机构可能至少有一些内部网与外部世界隔离(没有与互联网的任何物理连接——可能是最有效的防火墙)。当内部用户和外部用户之间需要资源共享时,对服务的合法访问受到防火墙的阻碍,也会在分布式系统中出现问题。因此,必须经常用更细粒度的机制和策略(见第11章的讨论)作为防火墙的补充。
互联网和其支持的服务的实现,使得必须开发实用解决方案来解决分布式系统中的许多问题(包括在1.5节中定义的大多数问题)。本书将着重阐述这些解决方案,并在适当的时候说明它们的适用范围和局限性。9

1.3.2 移动和无处不在计算

设备小型化和无线网络方面的技术进步已经逐步使得小型和便携式计算设备集成到分布式系统中。这些设备包括:

  • 笔记本电脑。
  • 手持设备,包括移动电话、智能电话、GPS设备、传呼机、个人数字助理(PDA)、摄像机和数码相机。
  • 可穿戴设备,如具有类似PDA功能的智能手表。
  • 嵌入在家电(如洗衣机、高保真音响系统、汽车和冰箱)中的设备。

这些设备大多数具有可携带性,再加上它们可以在不同地方方便地连接到网络的能力,使得移动计算成为可能。移动计算是指用户在移动或访问某个非常规环境时执行计算任务的性能。在移动计算中,远离其本地的企业内部网(指工作环境或其住处的企业内部网)的用户也能通过他们携带的设备访问资源。他们能继续访问互联网,继续访问在他们本地内部企业网上的资源。为用户在其移动时提供资源(如打印机)或方便地利用附近的销售点的情形也在不断增加。后者也称为位置感知或上下文感知的计算。移动性为分布式系统引入了一系列的挑战,包括需要处理变化的连接甚至断连、需要在设备移动时维持操作(见1.5.7节关于移动透明性的讨论)。
无处不在计算是指对在用户的物理环境(包括家庭、办公室和其他自然环境)中存在的多个小型、便宜的计算设备的利用。术语“无处不在”意指小型计算设备最终将在不会引人注意的日常物品中普及。也就是说,它们的计算行为将透明地紧密捆绑到这些日常物品的物理功能上。
各处的计算机只有在它们能相互通信时才变得有用。例如,如果用户能通过电话或一个“通用远程控制”设备控制家里的洗衣机和娱乐系统,那么用户会觉得很方便。而洗衣机在完成洗衣后能通过一个智能徽章或电话通知用户,也会让人觉得很方便。
无处不在计算和移动计算有交叉的地方,因为从原理上说,移动用户能受益于遍布各处的计算机。但一般而言,它们是不同的。无处不在计算能让待在家里或医院这样单一的环境中的用户受益。类似地,即使移动计算只涉及常见的、分立的计算机和设备(如笔记本电脑和打印机),它还是有优势的。
图1-4显示了一个正在访问一个组织的用户。该图显示出用户本地的内部网和用户正在访问的内部网。两个企业内部网都连接到互联网。

用户可以使用三种无线连接。笔记本电脑可以连接到被访问组织的无线LAN。无线LAN覆盖方圆几百米的范围(即建筑物的一层)。10它通过网关或访问点连接到被访问组织的企业内部网。用户还有一部连到互联网的移动电话,电话可以访问Web和其他互联网服务,只是所显示的内容受限于小的显示屏幕,电话也可以通过内置的GPS功能提供位置信息。最后,用户携带一台数码相机,它能通过一个个域无线网络(其覆盖范围大约为10m)与打印机这样的设备通信。
利用适当的系统基础设施,用户能在其访问地用他们携带的设备完成一些简单的任务。当用户到达其访问的地方时,他能通过移动电话从Web服务器上取得最新的股票价格,也能使用内置的GPS和路由寻找软件来获得到达目标位置的方向。在与访问单位开会时,通过把数码相机的照片直接发送到会议室的一台可用的(本地)打印机或投影机上,用户就能展示最近的照片。这仅仅要求相机和打印机或投影机之间具有无线连接。原则上,用户可以利用无线LAN或有线的以太网链接从笔记本电脑上把文件发送到同一台打印机。
这个场景说明了支持自发互操作的需求,依靠自发互操作,设备之间的关联被例行地创建和拆除,定位和使用所访问地的设备(如打印机)是一个这方面的例子。这种情况下的最大挑战是让互操作快速和方便(即自发),即使用户可能在一个他们以前从来没有访问过的环境。这意味着,要让访问者的设备在访问地的网络上通信,并将设备与合适的本地设备相关联——这个过程称为服务发现。
移动和无处不在计算是一个热门的研究领域,上面提到的多个方面将在第19章深入讨论。11

1.3.3 分布式多媒体系统

另一个重要的趋势是在分布式系统中支持多媒体服务的需求。多媒体支持可以定义为以集成的方式支持多种媒体类型的能力。人们可以期望分布式多媒体系统支持离散类型媒体(如图片或正文消息)的存储、传输和展示。分布式多媒体系统应该能对连续类型媒体(如音频和视频)完成相同的功能,即它应该能存储和定位音频或视频文件,并通过网络传输它们(可能需要以实时的方式,因为流来自摄像机),从而能向用户展示多种媒体类型,以及在一组用户中共享多种类型的媒体。
连续媒体的重要特点是它们包括一个时间维度,确实,媒体类型的完整性从根本上依赖于在媒体类型的元素之间保持实时关系。例如,在视频展示中,保持给定的吞吐量是必要的,它以帧/秒计,而对实时流来说,是给定帧传递的最大延迟。(这是服务质量的一个例子,详细讨论见1.5.8节。)
分布式多媒体计算的好处是相当大的,因为能在桌面环境提供大量的新(多媒体)服务和应用,包括访问实况或预先录下的电视广播、访问提供视频点播服务的电影资料库、访问音乐资料库、提供音频和视频会议设施、提供集成的电话功能(包括IP电话或相关的技术,例如IP电话的一个对等方案Skype,对Skype底层的分布式系统基础设施的讨论见4.5.2节)。注意,该项技术对于制造商重新思考消费类设备方面是革命性的。例如,什么是将来核心的家庭娱乐设备——计算机、电视或游戏控制台?
网络播放(webcasting)是分布式多媒体技术的应用。网络播放是在互联网上广播连续媒体(典型的是音频或视频)的能力,现在常见以这种方式广播主要的体育或音乐事件,它经常吸引大量的观看者(例如,2005年的Live8音乐会在其高峰同时吸引了大约170000名用户)。
分布式多媒体应用(例如网络播放)对底层的分布式基础设施提出了大量的要求,包括:

  • 提供对一系列(可扩展的)编码和加密格式的支持,例如MPEG系列标准(包括如流行的MP3标准,也称MPEG-1音频第三层)和HDTV;
  • 提供一系列机制来保障所需的服务质量能得到满足;
  • 提供相关的资源管理策略,包括合适的调度策略,来支持所需的服务质量;
  • 提供适配策略来处理在开放系统中不可避免的场景,即服务质量不能得到满足或维持。

这些机制的进一步讨论可以在第20章找到。12

1.3.4 把分布式计算作为一个公共设施

随着分布式系统基础设施的不断成熟,不少公司在推广这样的观点:把分布式资源看成一个商品或公共设施,把分布式资源和其他公用设施(例如水或电)进行类比。采用这个模型,资源通过合适的服务提供者提供,能被最终用户有效地租赁而不是拥有。这种模型可以应用到物理资源和更多的逻辑服务上。

  • 联网的计算机可用诸如存储和处理这样的物理资源,从而无须自己拥有这样的资源。从一个维度看,用户可以为其文件存储(例如,照片、音乐或视频等多媒体数据的存储)需求和/或文件备份需求选择一个远程存储设施。类似地,利用这个方法,用户能租用一个或多个计算结点,从而满足他们的基本计算需求或者完成分布式计算。从另一个维度看,用户现在能用像Amazon和Google之类的公司提供的服务访问复杂的数据中心(网络化的设施,为用户或机构提供对拥有大量数据的数据仓库的访问)或计算基础设施。操作系统虚拟化是该方法关键的使能技术,它意味着实际上可以通过一个虚拟的而不是物理的结点为用户提供服务。这从资源管理角度给服务提供者提供了更大的灵活性(关于操作系统虚拟化的详细讨论见第7章)。
  • 用这种方法,软件服务(其定义见1.4节)也能跨全球互联网使用。确实,许多公司现在提供一整套服务用于租赁,包括诸如电子邮件和分布式日历之类的服务。例如,Google将其旗下的一系列业务服务捆绑成Google Apps[www.google.com I]。软件服务所遵循的标准,例如Web服务(见第9章)提供的标准,使得这类开发成为可能。

关于计算作为公共设施,术语云计算(cloud computing)被用来刻画其前景。云被定义成一组基于互联网的应用,并且足以满足大多数用户需求的存储和计算服务的集合,这使得用户能大部分或全部免除本地数据存储和应用软件的使用(见图1-5)。

 图1-5 云计算该术语也推广“把每个事物看成一个服务”的观点,从物理或虚拟基础设施到软件,这样,服务经常根据使用而非购买来支付费用。注意,云计算减少了对用户设备的需求,允许非常简单的桌面或便携式设备来访问可能很广范围内的资源和服务。
通常,云实现在集群计算机上,从而提供每个服务所要求的必要的伸缩性和性能。集群计算机(cluster computer)是互连的计算机集合,它们紧密协作提供单一的、集成的高性能计算能力。在诸如Berkeley的NOW(Network of Workstations)项目[Anderson et al.1995,now.cs.berkeley.edu]和NASA的Beowulf项目[www.beowulf.org]的基础上,现在的趋势是计算机和互连网络都朝着利用商用硬件的方向发展。13大多数集群由商用PC组成,这些PC运行操作系统(如Linux)的标准版本(有时是缩减版),并通过局域网互联。诸如HP、Sun和IBM等公司提供了刀片解决方案。刀片服务器(blade server)是最小的包含处理和(主存)存储能力的计算元素。刀片系统由包含在一个刀片机架中的大量刀片服务器组成。其他元素例如电源、冷却、持久存储(磁盘)、联网和显示,或是由机架提供或是通过虚拟化解决方案提供(相关讨论见第7章)。通过这个解决方案,单个刀片服务器比商用PC更小,也更便宜。
集群服务器的总目的是提供一系列的云服务,包括高性能计算能力、大容量存储(例如通过数据中心)、丰富的应用服务(如Web搜索——Google依赖大容量集群计算机体系结构来实现其搜索引擎和其他服务,相关讨论见第21章)。
网格计算(相关讨论见第9章9.7.2节)也能被看成是一种云计算。大量的术语是同义的,偶尔定义得不清楚,但网格计算通常被看成是云计算这种更通用模式的先驱,它只是偏重于支持科学计算。

时间: 2024-10-25 13:02:22

《分布式系统:概念与设计》一1.3 分布式系统的趋势的相关文章

《分布式系统:概念与设计》一第3节 练习

前 言 在互联网和Web持续发展并且对我们社会的每个方面都产生影响的时候,这本教材的第5版问世了.本书的介绍性章节提到互联网和Web对诸多(如金融.商业.艺术.娱乐等)应用领域的影响以及对信息社会的普遍影响.它还强调了诸如Web搜索和多人在线游戏等应用领域中的需求.从分布式系统的角度出发,这些开发在应用的范围.多个现代系统所支持的工作负载和系统大小等方面正在对底层系统架构提出实质性的新需求.重要的趋势包括网络技术上不断增加的多样性和普遍性(包括不断增加的无线网络的重要性).移动和无处不在计算元素

《分布式系统:概念与设计》一1.1 简介

1.1 简介 计算机网络无处不在.互联网也是其中之一,因为它是由许多种网络组成的.移动电话网.协作网.企业网.校园网.家庭网.车内网,所有这些,既可单独使用,又可相互结合,它们具有相同的本质特征,这些特征使得它们可以放在分布式系统的主题下来研究.本书旨在解释影响系统设计者和实现者的连网的计算机的特征,给出已有的可帮助完成设计和实现分布式系统任务的主要概念和技术.我们把分布式系统定义成一个其硬件或软件组件分布在连网的计算机上,组件之间通过传递消息进行通信和动作协调的系统.这个简单的定义覆盖了所有可

《分布式系统:概念与设计》一第2章 系统模型

第2章 系统模型 本章提供三个重要且互补的解释方法,以便有效地描述和讨论分布式系统的设计:物理模型考虑组成系统的计算机和设备的类型以及它们的互连,不涉及特定的技术细节.体系结构模型是从系统的计算元素执行的计算和通信任务方面来描述系统:这里计算元素或是指单个计算机或是指通过网络互连的计算机集合.客户-服务器和对等模型是分布式系统中的两种最常使用的体系结构模型.基础模型采用抽象的观点描述大多数分布式系统面临的单个问题的解决方案.在分布式系统中没有全局时间,所以不同计算机上的时钟未必给出相同的时间.进

《分布式系统:概念与设计》一1.2 分布式系统的例子

1.2 分布式系统的例子 本节给出能激发读者学习积极性的当代分布式系统的例子,用于说明分布式系统所扮演的无处不在的角色和相关应用的多样性. 如1.1节所提及的那样,网络无处不在,成为我们现在认为理所当然的日常服务(互联网和相关的万维网.Web搜索.在线游戏.电子邮件.社会网络.电子商务,等等)的基础.为了进一步说明这一点,可参考图1-1,它描述了一系列所选的关键商务或社会应用部门,强调了相关的分布式系统技术已公认或新出现的应用. 正如所看到的,分布式系统包含近些年许多最重要的技术发展,因此理解底

《PADS 9.5电路设计与仿真从入门到精通》——第一章 绪论 1.1 PCB的基本概念及设计工具

第一章 绪论 PADS 9.5电路设计与仿真从入门到精通 本章主要介绍PADS的基本概念及特点,包括PCB设计的一般原则.基本步骤.标准规范等.着重介绍了美国Mentor Graphics公司的PCB设计软件:PADS 9.5,包括了PADS 9.5的发展过程以及它的新特点.PADS 9.5是一款非常优秀的PCB设计软件,它具有完整强大的PCB绘制工具,界面和操作十分简洁,希望用户好好学习本书,以便更加方便地使用PADS 9.5软件. 1.1 PCB的基本概念及设计工具 PADS 9.5电路设计

《分布式系统:概念与设计》一练习

练习 1.1 列出能被共享的五种类型的硬件资源和五种类型的数据或软件资源,并举出它们在实际的分布式系统中发生共享的例子. 1.2 在不参考外部时间源的情况下,通过本地网络连接的两台计算机的时钟如何同步?什么因素限制了你描述的过程的准确性?由互联网连接的大量的计算机的时钟是如何同步的?讨论该过程的准确性. 1.3 考虑1.2.2节讨论的大型多人在线游戏的实现策略.采用单一服务器方法表示多个玩家游戏状态的好处是什么?这存在什么问题以及如何解决? 1.4 一个用户随身携带可以无线连网的PDA,来到一个

《分布式系统:概念与设计》一2.3.1 体系结构元素

2.3.1 体系结构元素 为了理解一个分布式系统的基础构建块,有必要考虑下面四个关键问题: 在分布式系统中进行通信的实体是什么? 它们如何通信,特别是使用什么通信范型? 它们在整个体系结构中扮演什么(可能改变的)角色,承担什么责任? 它们怎样被映射到物理分布式基础设施上(它们被放置在哪里)? 通信实体 上述前两个问题是理解分布式系统的关键:什么是通信和这些实体如何相互通信为分布式系统开发者定义了一个丰富的设计空间.它对从面向系统和面向问题的角度解决第一个问题是有帮助的. 从系统的观点,回答通常是

《分布式系统:概念与设计》一2.4.1 交互模型

2.4.1 交互模型 2.3节对系统体系结构的讨论表明分布式系统由多个以复杂方式进行交互的进程组成.例如: 多个服务器进程能相互协作提供服务,前面提到的例子有域名服务(它将数据分区并复制到互联网中的服务器上)和Sun的网络信息服务(它在局域网的几个服务器上保存口令文件的复制版本). 对等进程能相互协作获得一个共同的目标.例如,一个语音会议系统,它以类似的方式分布音频数据流,但它有严格的实时限制. 大多数程序员非常熟悉算法的概念--采取一系列步骤以执行期望的计算.简单的程序由算法控制,算法中的每一

《分布式系统:概念与设计》一3.1 简介

3.1 简介 要构建分布式系统所使用的网络,首先需要众多的传输介质,包括电线.电缆.光纤以及无线频道:然后需要一些硬件设备,包括路由器.交换机.网桥.集线器.转发器和网络接口:最后还需要软件组件,包括协议栈.通信处理器和驱动器.上述因素都会影响分布式系统和应用程序所能达到的最终功能和性能.我们把为分布式系统提供通信设施的软硬件组件称为通信子系统.计算机和其他使用网络进行通信的设备称为主机.结点则指的是在网络上的所有计算机或者交换设备.互联网是一个通信子系统,它为所有接入的主机提供通信服务.互联网

《分布式系统:概念与设计》一1.5 挑战

1.5 挑战 1.2节的例子试图说明分布式系统的范围,并提出在设计中出现的问题.在许多系统中,遇到了重大的挑战并且已经得到解决.随着分布式系统的应用范围和规模的扩展,可能会遇到相同的和其他的挑战.本节我们描述主要的挑战. 1.5.1 异构性 互联网使得用户能在大量异构计算机和网络上访问服务和运行应用程序.下面这些均存在异构性(即存在多样性和差别): 网络: 计算机硬件: 操作系统: 编程语言: 由不同开发者完成的软件实现. 虽然互联网由多种不同种类的网络组成(见图1-3),但因为所有连接到互联网