对等系统

1.对等系统定义及其特征

  对等系统代表构造分布式系统和应用的一-种范型,在对等系统中,互联网上的众多主机以一种一致的服务方式提供它们的数据和计算资源。

  对等系统具有以下特点:
  ●系统设计确保每个用户都能向系统提供资源。
  ●虽然各个参与的结点提供的资源不同,但在同一个对等系统中它们具有相同的功能和责任。
  ●系统不依赖-一个中心管理系统就能正常运行。

  ●系统的设计能够给资源的提供者和使用者提供-定限度的匿名性。
  ●系统能够高效运行的一个关键点就是选择-一个在大量主机中放置数据资源,以及访问这些资源的算法。这个算法能够自动平衡各个主机的负载,确保可用性,并且不会增加不必要的系统
开销。

  对等系统旨在利用存在于互联网以及其他网络上的不断发展的个人计算机和工作站上的数据和计算资源,提供有用的分布式服务和应用。

  对等系统和应用的开发到现在已经经历了三代。第一代是从提供音乐文件交换服务的Napster开始[ OpenNap 2001],我们将在下节描述它。第二代文件共享应用能够提供更大的伸缩性、可以匿名使用、
具有容错机制,典型的软件包括Freenet[ Clarke et al. 2000, freenetproject. org],Gnutell、 Kazaa[ Lei-bowitz et al. 2003]和 BitTorrent[ Cohen 2003 ]。

  第三代以中间件层的出现为特征即对等中间件,它能够在全球范围内管理与应用无关的分布式资源。一些研究团队已经完成了对等中间件平台的开发、评估和改良,并且把他们的研究成果部署到- -
系列的应用服务中。众所周知的、深度开发的系统包括Pastry Rowstron and Druschel 2001 ]、Tapestry[Zhao et al. 2004]、CAN[ Ratnasamy et al. 2001]、Chord[ Stoica et al. 2001 ]和Kademlia[ Maymounkov andMazieres 2002]。

  这些平台可以把资源(数据对象、文件)放置到一组广泛分布在互联网中的计算机上。它们可以代表客户进行消息路由,臧轻客户放置资源的决策负担并记录要访问的资源的行踪。与第二代系统不
同的是,它们可以保证使用不超过某个限制数量的网络跳数正确地将请求传递到。由于主机并不总是可用的、可信的,以及对负载平衡和信息存储、使用的地域性需求,这些系统以结构化的方式把资源
的副本放到可用的主机上。

2.Napster 及其遗留系统

  对等系统的第-个应用是数字音乐文件的下载,在这个应用中出现了在全球范围内可伸缩的信息存储和检索服务的需求。Napster 文件共享系统[OpenNap 2001]为用户提供了共享文件的手段,它也
第一次向人们展示了对等解决方案的必要性和可行性。Napster 自1999年出现以后,很快在音乐文件交换领域得到广泛应用。高峰的时候,有几百万注册用户,有几千人同时交换音乐文件。
  Napster的体系结构包括集中式索引,但是文件由用户提供,这些文件存储在用户的个人计算机上,并且能够被访问。图10-2中的步骤说明了Napster操作的方法。注意在第5步,客户把他的计算机
. 上可用的音乐文件以-一个链接的方式传送到Napster文件索引服务器上,这样他就把自己的音乐文件添加到共享资源池中了。从中可以看出,Napster 的动机和成功的关键就是通过互联网向用户提供- -个巨
大的、广泛分布的、对用户可用的文件集;通过提供对“处于互联网边缘上共享资源”的访问,它也兑现了Shirky的宣言。

  由于Napster在某些方面( 例如,数字编码音乐)涉及相应的版权问题,它的服务提供者遭到了版权拥有者的起诉,最终由于法律原因,Napster 被迫关闭(参见下面的“对等系统与版权归属问题”)。

3.对等中间件

  在设计对等应用时,一个关键问题是提供-个良好的机制,它能够保证客户无论处于互联网的哪个位置都能快速、可靠地访问数据资源。为此,Napster 通过维护可用文件的统一索引来提供文件所在
的主机的网络地址。第=二代对等文件存储系统(如Gnutella和Freenet),采用了分区和分布式索引算法,不过不同的系统其算法各有不同。

  对等中间件系统用于满足被对等系统和应用管理的分布式对象的自动放置及其定位需求。
功能性需求    对等中间件的功能是简化跨越多主机的服务的构建,这些主机可能位于广阔的分布式网络上。为了实现这个目标,它必须能够使客户可以定位单个资源(对相应的服务来说,该资源是
可用的)的位置并和该资源通信,即使这些资源分布在多个主机上。其他重要的需求还包括:能够随意地添加新资源或者删除旧资源;能够添加主机或删除主机。与其他中间件-一样,对等中间件应该能
够向应用程序员提供-一个简 单的编程接口,该编程接口不应依赖于应用操纵的分布式资源的类型。
非功能性需求   为了 高效运行,对等中间件还必须解决以下非功能性需求[ cf. Kubiatowcz 2003]:
1)全球可伸缩性:对等应用的-一个目标就是利用互联网上大量主机的硬件资源。因此对等中间件必须支持能够访问存放于数万台或数十万台主机上的数百万计的资源。负载平衡:当所设计的系统使用了大量计算机时,它的性能将依赖于工作负载的均衡分布。对于我们正在考虑的系统,可以通过随机的资源放置以及增加频繁使用的热门]资源的副本来实现负载均衡。优化相邻结点间的本地交互:结点之间的“网络距离”对于单个交互(如客户请求访问资源)的时间延迟有很大的影响,而且对于网络流量也会有影响。对等中间件应该能够将资源放置在靠近经常访问它们的结点。

2)适应高度动态的主机可用性:大多数对等系统都允许主机在任何时候自由地加入或退出系统。对等系统中的主机和网段并不专属于-一个组织机构,因此它们的可靠性和能否持续参与提供服务也不能得到
保证。构建对等系统的-一个主要挑战是:尽管有上述的不利因素,系统仍能够提供可靠的服务。当主机加入系统的时候,这些主机必须集成到系统中,并负载必须重新分布,从而利用新加入的主机的资源。
当主机自愿或非自愿地退出系统时,系统必须能够检测到它们退出,并且能够重新分配负载和资源。

3)能够在具有不同信任体系的环境下保持数据的安全性:在一个全球范围的系统中,参与其中的主机有着不同的归属,信任体系必须通过利用授权和加密机制来建立,从而确保信息的完整性和保密性。
4)匿名、可否认能力和对审查的抵抗:我们注意到(见10.2节关于版权的讨论),在许多要求抵制审查机构审查的场合,能否给予数据的持有者和接收者提供匿名属于正当的关注。因此,一个相关的技术需求就是能够保证数据的提供者或持有者可以合理地推卸责任。对等系统存在大量主机,这有助于获得上述性质。

猜你喜欢

转载自www.cnblogs.com/handwrit2000/p/12765219.html
今日推荐