(计算机系统结构专业论文)基于p2p的应用共享系统的研究与实现.pdf_第1页
(计算机系统结构专业论文)基于p2p的应用共享系统的研究与实现.pdf_第2页
(计算机系统结构专业论文)基于p2p的应用共享系统的研究与实现.pdf_第3页
(计算机系统结构专业论文)基于p2p的应用共享系统的研究与实现.pdf_第4页
(计算机系统结构专业论文)基于p2p的应用共享系统的研究与实现.pdf_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

东南人学顺l 学位论文摘婪 摘要 随着计算机软、硬件的不断发展和计算机网络使用范围的不断扩大,i n t e r n e t 上存在着人量的剩 余资源,如存储资源、计算资源和数据资源等等。p 2 p 网络技术为合理、高效地利川这些剩余资源提 供了根好的解决思路。同时,随着社会的发展,人们的t :作越来越复杂,越来越多的1 :程需要多人协 作才能完成,为了适应这种需要,一个新的研究如何综合计算机技术、通信技术、网络技术及多蝶体 技术米辅助人们协同i :作的领域出现了,这就是计算机支持的协同:【:作( c s c w :c o m p u t e rs u p p o r t e d c o o d e r a t i v ew o r k ) 。应用共享技术作为一种实现c s c w 系统的技术,在c s c w 研究领域具有重要的 地位,它能够让原有的单机应用程序不加修改或稍加修改就能支持人们的协同工作。 本文探讨了运行于p 2 p 网络的应用共享系统的可行性,力图使协同工作者在享受c s c w 所带米 的人力、物力上的便利的同时,还能充分利用p 2 p 网络的海量资源。论文首先介绍了p 2 p 网络的基本 概念、体系结构和主要应用,然后介绍了c s c w 的基本概念、体系结构和实现群件系统的关键技术, 接着对儿种常见的应用共享技术进行介绍、比较,并对x 协议进行了详细的分析,在此基础上,本文 设计并实现了一个运行于p 2 p 网络平台的基于x 协议的应用共享系统,给出了系统的整体设计方案, 详细介绍了系统各个模块的功能、关键技术和实现方案。 最后论文对p 2 p 网络和x 协议的特点进行讨论,提出了系统实现中存在的不足和进一步的政 进措施,为后续研究工作提供了有意义的参考。 关键词:应用共享,p e e r - t o p e e r 模式,x 协议,c s c w 东南人学颂j j 学位论文 a b s 仃a c t w i t ht h ec o n t i n u o u sd e v e l 叩m e n to fs o f t 础a n d h a r d w a r e ,t l es c 叩eo fu s j n gc o m p u t e rn e 卅o r kg e t s l a 曙e ra 删f a 唱e lt h u st h e r ea r e 曲u n 出【n ts p a r er e s o u r c e ss u c ha sm e m o r yr e s o u r c e s ,c o m p u t i n gr e s o u r c e s , d a t ar e s o u r c e sa n ds oo n t h ep 2 pt e c h n o i o 盯p r o v i d e sag o o ds o l u t i o nt om a l ( eu s eo f t h e s es p a r er e s o u r c e s r e a s o n a b l ya n de m c ;e n t i y a tt 1 1 es a m e 廿m e ,w i t i ls o c i a ld e v e i o p m e n t ,p e o p l e 。sw o r kg e t sm o r ec o m p l e x , 廿1 u sm o r ea n dm o r ep r o j e c t sn e e dp e o p l et ow o r kj nc o i l 曲o r a t i o nt oc o m p i e t et om e e tt h j sn e e d ,an e w s t u d ya r e a0 fh o w t o i n t e g m t ec o m p u t e rt e c h n o l o g y c o m m u n i c a t i o nt e c h n o l o g y ,n e m o r kt e c h n o l o g ya n d m u l t i m e d i at e c h n o l o g yt os u p p o r tp e o p l et ow o r kt o g e t h e 卜一t h ec o m p u t e rs u p p o r t e dc 0 1 1 a b o r a t i v ew o r k ( c s c w ) h a se m e 唱e d a sac s c ws y s t e mi m p l e m e n t a t i o nm e t h o d ,印p i i c a t i o ns h a r i n gt e c h n 0 1 0 9 yp l a y sa n i m p o r c a n tr 0 1 e i ta l l o w st h ee x i s t i n gs j n g i e 印p i 记a t i o n ss u p p o r tp e o p l e st e a m w o r kw i t h o u tm o d i 厅c a t i o no r o n l yw i t hai i t t l er e v i s i o n i nt h e 血e s 畦t h ep o s s i b i 】i t yo fa 1 1a p p “c a t i o ns h a r i n gs y s t e mr u n n i n go np 2 pn e t 、v o r ki sd i s c u s s e d1 b t oe n 曲i e l cc o l l a b o r a t o r st om a l ( e 如1 1u s eo fe n o r n l o u sr e s o u r c e so np 2 pn e 坩o r kw h i l ee n j o y i n gt h e f a c i l i d e so f h u m a nr e s o u r c e sa n dm a 把r 主a 1r e s o u r c e sb r o u 曲tb yc s c w t h eb a s i cc o n c e p t s ,廿1 ea r c h i t e c t u r e a n dm a i nu s eo c c 船i o n so fp 2 pn e t w o r ki si m r o d u c e d 矗瞰l y t h eb a s i cc o n c e p t sa n da r c h i t e c t u r eo fc s cw 廿l ek e yt e c h n o l o g i e st o i m p l e m e n tt h e 掣o u p w a r es y s t e ma r ea i s op r e s e n t e d t h e ns e v e r a lc o m m o n a p p l i c a t i o ns h a r i n gt e c h n o l o g i e sa r ed i s c u s s e d ,a l l dt h exp r o t o c o li sa n a l y z e di nd e t a i l b a s e do nt h i s ,a n x - b a s e da p p 】i c a t i o ns h a r i n gs y s t e mn 】n n i n go n 廿l ep 2 pn e t w o r ki sd e s i g n e da n di m p i e m e n t e d t h eo v e r a l l s y s t e md e s i g ni sp r e s e n t e d a l s o ,t h ef h n c t i o no fi m p o n & mm o d u i e s ,t h ek e yt e c h n o l o g i e sa n dt h e i m p l e m e n t a t i o no f 出es y s t e ma r ei n t r o d u c e di nd e t a i l f i n a l l yt h et h e s i sd i s c u s s e st h ec h a r a c t e r i s t i c so fp 2 pn e m o r ka n dt h exp r o t o c o i ,p u t sf o r w a r dl h e d e n c i e n c i e se x i s ti nt h es y s t e m ,a n dg i v e st h em 咄e ri m p r o v e m e n tm e a s u r e ,a i m i n gt op r o v i d em e a n i n g f u i i n f o m a t i o nf o r t h ef o l l o w u ps t u dy k e yw o r d s :a p p l i c a t i o ns h a r i n g ,p e e r _ t o - p e e lxp m t o c o lc s c w i i 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过 的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并 表示了谢意。 研究生签名:葺d 牡日 期: 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的 复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内 容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可 以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研 究生院办理。 研究生签名:垂圣雏导师签名:至垒骂曰期:坦& 竺。 h 第一章前高 1 1 论文的背景和研究目标 第一章前言 近几年来,计算机网络技术的飞速发展,基于t c p i p 协议的开放性特征,计算机硬什价格的持 续f 降和人们生活水平的不断提高等因素,使得连入网络中的设备、计算单元的数量和种类越米越多, 信息资源的获取和发布也变得非常方便和快捷,i m e m e t 已经逐渐深入到人们的日常生活中。基于计 算机网络的各种应用通过对信息资源的采集、存储、传输、处理和利用,在全球范围内把人类社会更 紧密地联系起来,并以不可抗拒之势影响和冲击着人类社会的各个方面。网络上的信息资源鼎爆炸性 增长趋势,现有的c ,s 模式已经难以满足和支持大规模的网络应用,全面的分布式计算成为一种商业 需求。i n t e m e t 应用的新趋势是服务器与客户机的概念逐渐消失,取而代之的是“网络就是计算机”, 即将整个因特网的各种自治资源和系统组合起来,以实现资源共享。p 2 p ( p e e r - t b p e e r ) 计算模掣“ 2 。”正是在资源规模不断增多的情况下用于解决海量信息资源的台理利用问题而提出的分布式计算 模型。在这种模式下,服务器与客户机的界限消失了,网络应用的核心从服务器向网络终端设备边缘 化,无需依赖集中式服务器。成员之间主动协作,直接从其他成员而不是从服务器的参与中获益。由 于数据存储、处理能力和网络带宽等都以一种完全分散、异步的方式运行,各种负载可以得到合理的 均移和平衡,有效的解决了资源服务的瓶颈问题,并易于扩展。 此外,随着社会的发展,人们的工作越来越复杂,越来越多的工程需要多人协作才能完成。为了 适应这种需要,一个新的研究如何综合计算机技术、通信技术、网络技术及多媒体技术来辅助人们协 同 :作的领域出现了,这就是计算机支持的协同工作( c s c w :c o m p u t e rs u p p o dc 0 0 p e r a t i v ew o r k ) 。 c s c w 是一个跨学科的研究领域,它综合了计算机和通信技术、分布式技术、人机接口技术、管理学 及社会学等学科的理论和研究成果。基于c s c w 理论的系统称为群件系统,它允许人们在空间、时 间异步的情况下协同工作,在节省协同工作所需的人力、物力的同时,极大地提高了劳动生产率冈 此越来越广泛地应用于人们的社会生产中。 目前,实现c s c w 系统的技术主要有两种:协作感知的和协作透明的。这两种方式的主要区别 在于,协作感知技术针对具体的协同任务重新构建了一个系统,而协作透明技术则对现有的单机应用 程序进行扩充,添加了辅助协作的机制,从而在不改变现有应用程序的基础上提供协作支持。 论文对p 2 p 技术、c s c w 和应用共享技术进行了研究,对常见的几种应用共享技术进行分析、对 比,然后采用协作透明的方式设计并实现了一个运行于p 2 p 平台之上的基于x 协议的应用共享系统 给出若干关键问题的解决方法。系统力图使得人们可以利用网络上的海量资源来进行协同工作,从而 更大程度地节省社会生产过程中消耗的人力、物力和财力,提高生产效率。 1 2 论文章节安排 论文的章节安排如下: 第一章前言部分:介绍论文的研究背景、目标以及论文的组织结构。 第二章p 2 p 网络技术;主要介绍了p 2 p 网络技术,包括p 2 p 网络的历史、定义,p 2 p 网络的= 种模型,p 2 p 网络的特点以及常见的应用等。 第三章c s c w 及群件系统;c s c w 是计算机技术发展和人类社会活动分工愈发明显等闲素共同 作用f 的一个产物,这一章介绍了c s c w 的概念、主要应用,并且介绍了c s c w 的实践 成果群件系统,对群件系统的关键技术进行了介绍,重点研究了组播和可靠钔播路由 算法。 东南人学坝i j 学位论文 第四章应用共享技术;本章对应j _ | = | 共享技术的概念进行了简单介纠,对比了戍川共享系统的两 种体系结构,对比了应用共享系统的两种技术:下1 2 0 和j c e ,然后,对x 进行了研究, 阐述了基丁x 共享的原理。 第五章总体设计;主要介绍了总体设计的背景、需求分析、应用共享技术的选择,并且给出了 系统的总体设计和软硬件需求。 第六章系统的详细设计和相关实现;本章详细描述了协同系统的总体设计和丁作原理,对系统 的几个主要模块进行了功能分析,针对系统的若干关键问题,给出了详细的设计方案,最 后给出系统原型运行的实例。 第七章论文总结:对论文进行了总结性的叙述,指出系统有待改进的问题,以及进一步研究的 建议。 第二章p 2 p 嘲络技术 2 1p 2 p 网络的历史 第二章p 2 p 网络技术 当基于t c p ,f p 的计算机网络初具规模时,其资源是分散于网络各个节点的,这是由t c p i p 的本 质决定的。t c p ,i p 的设计目标之一就是提供网络节点之间的互联互通,共享节点间的资源,各个 点所具有的功能宏观上是平等的,并没有客户机和服务器的概念。随着计算机相关技术的发展,出现 了c ,s 模式。一部分具有较强处理能力或存储能力的大型机渐渐成了资源的集中地,它们能够提供搬 务,因而也称为服务器( s e n ,e r ) ,而其他的普通节点则通常需要从服务器请求服务,这样的节点称为客 户( c l i e n t ) 。c ,s 模式必须要设置一个拥有强大处理能力和大带宽的高性能计算机,并安装高性能的服 务器软件,信息必须通过服务器传递。一般是先集中上俦到服务器,再分别下载,或是信息被服务器 处理后才可在网络上传递流动。c s 模式这种集中的特点在一定的时期里满足了计算机网络的发展需 求,以致成为主流的计算模式。但是随着计算机软硬件的不断发展,越来越多的用户加入到互联网的 犬家庭中集中的弊端渐渐地显露出来,大量资源聚集在少数服务器节点上,使服务器的负载越米越 重,难以向客户提供快捷的服务,形成系统的瓶颈。此外,客户节点的处理能力和存储能力已经今非 昔比大量的节点都存在着计算资源和存储资源的剩余,具有提供服务的能力,如果将这些资源利刚 起来整个网络的性能将大大改善。 p 2 p 正是在这种背景下应运而生的。p 2 p 是英文p e e r f o p e e r 的缩写,称为对等网或者点对点技术, 与之对应的p e e r 称为对等节点或者节点,本文中统称为节点。在这种模式中,网络中的每个节点都 是对等活动的参与者,既能向其他节点提供服务,也能向其他节点请求服务。p 2 p 模式与c ,s 模式明 显不同,c ,s 模式中服务器是网络的控制核心,而p 2 p 模式的节点则具有很高的自治性和随意性。 p 2 p 技术把网络计算模式从集中式引向分布式,网络应用的核心从服务器向网络边缘设备扩散,有效 地解决了负载均衡和单点失效问题。同时节点的资源总和构成了整个网络的资源,使闲置资源得到高 效的利用,形成具有海量存储能力和巨大计算处理能力的超级计算机,解决了【n t e m e t 上节点之间不 能直接共享资源,不能聚集分散计算能力而造成的资源“孤岛”问题p 】。 2 2 p 2 p 网络模型 网络模弛是指分布式系统中各个计算单元之间的物理或逻辑上的互联关系,p 2 p 网络中资源分散 在各个节点上,而节点的加入退出十分频繁,因此建立一个合理的p 2 p 网络模型,快速、准确的发现 :甘点以及节点上的资源十分重要。目前p 2 p 的网络模型主要有以f 三种: ( 1 ) 集中式p 2 p 集中式p 2 p 网络模型有一个或多个中心服务器来负责记录共享资源以及回答对这些资源的查洵。 每一个节点对它所共享的资源以及进行的通信负责,下载它所需要的其它节点上的资源。这种形式具 有中心化的特点,但是它不同于传统意义上的c l i e n 讹e r v e r 模式。传统意义上的c j i e n 讹e r v e r 模式采川 的是一种垄断的手段,所有资源都存放在服务器上。客户机只能被动地从服务器上读取信息,并且客 户机之间不具有交互能力。而集中式p 2 p 模型则是所有网上提供的资源都仍然存放在提供该资源的客 户机上,服务器上只保留索引信息,此外服务器与节点以及节点与节点之间都具有交互能力。 东南大学硕士学位论文 、旦、 。一t 、f , 、卜、兰j r + 嗲m o s p f 区域内组播路由:用于了解各网段中的组播成员,构造( 源,组) 对的s r s p t ; m o s p f 区域间组播路由:用于汇总区域内成员关系,并在自治系统( a s ) 主干区域上发布 组成员关系记录通告,实现区域间组播报文的转发。 m o s p f a s 间组播路由:用于跨a s 的组播报文转发。 路由器使用d i l l ( s n a 算法构造( 源,组) 对的s r s p t ,并采用按需计算方案,即只有当路由器收 到组播源的第一个报文后,才对( 源,组) 的s r s p t 作计算并缓存作为后继报文转发依据。 6 ,协议无关组播密集模式( p i m d m p r o t o c o l i n d e p e n d e n t m u i t i c a s t - d e n s em o d e ) p l m d m 与d v m r - p 类似,都属于密集模式协议,都采用了“扩敖,剪技”机制。主要差异在于 d v m r p 使用内建的组播路由协议,而p i m d m 依靠现有的单播路由协议查找返回组播源的路径。 7 协议无关组播一稀疏模式( p i m s m p r o t o c o l i n d e p e n d e m m u l t i c a s t - s p a r s em o d e ) 稀疏模式组播协议应用在组播成员稀疏分布在网络中并且带宽有限的情况下,采用共享树进行组 播报文转发。稀疏模式在网络中构建一些虚拟的数据交换地点作为汇合点r p ,r p 管理数据源和接收 者之间的通讯,对于发送方,要先在r p 中注册然后把数据发向r p ;对于接收方,要通过最近的路由 器加入到r p 中,建立从r - p 到接收者的分发树。组播报文从源到r p 后沿分发树传到各接收方,复制 仅在分发树的分支处进行。在某些情况下,接收者网络的指定路由器可以向特定的源发送一个加入消 息( p i m - j o m ) ,要求加入以组播源为根的最短路径树,并向r p 发出修剪消息( p i m p r u n e ) , 将其从共享树上删除,从而提高网络性能。 8 基于核心树的组播协议( c b t o r eb e dt r e e ) c b t 是另外一种共享树,它更注重协议的可扩展性。与p i m s m 一样,c b t 也是协议独立的,冈 此一个c b t 路由域可以跨越多个使用不同单播路由协议的区域。c b t 没有提供如同p i m s m 一样的 在共享树和最短路径树之间切换的功能,因为维护大量的状态信息是影响路由协议可扩展性的重要因 素。 当前的i n t e m e t 上存在着人量不提供群组通信能力的路由器,作为一种临时性的策略,组橘隧道 是一种虚拟的点到点链路,用于连接被不支持群组通信的路由器隔开的支持群组通信的路由器,达到 组播报文跨越i n t e r n e t 中不支持群组通信的部分的目的。通过组播隧道传送组播报文时,该报文在组 播虚通道的端被封装在普通单播报文中作为单目标报文传送到组播隧道的另一端,然后再解封装 成组播报文。 9 东南人学颂士学位论文 3 4 3 可靠组播的基本概念 在涉及到群纲通信时,使用组播通信可以明显地减少网络通信流量,降低通信成本,然而,由丁 i p 组播采用u d p 承载组播报文,提供的是“尽力而为”的传输服务,组播报文可能丢失、重复、乱序, 这会导致对数据传输有可靠性要求的应用失败。因此群件系统还需要网络提供可靠的组播。 起初可靠组播主要应用于局域网络,研究的重点是同步协作多方传递消息的有序性问题:随着 i n t e m e t 的广泛使用,该概念逐步扩展到广域网,研究的重点转移为在尽可能降低对网络通信量冲击 的条件f ,有序、可靠、实时地传递协作的多方消息。研究的主要问题包括差错控制、流鬃控制、拥 塞控制和端到端的延迟,其中差错控制是其核心问题。 3 4 4 差错检测技术 基本的差错控制手段是自动重复请求( a r q ) ,a r q 通过发送反馈控制信息来保证数据传输的可 靠性。有两种基本的反馈信息:肯定确认( a c k ) 和否定确认( n a c k ) 。在采用a c k 的a r 0 方式 中,当接收者收到报文后,回送a c k 表示确认,发送方通过检查是否收到所有确认来检测是否有报 文丢失,即由发送方负责差错检测。采用n a c k 的a r q 方式中,发送方对所有报文按序编号,当接 收者在收到序号为k 的报文之前收到序号大于k 的报文便认为检测到报文丢失,并发送n a c k 请求 重传丢失的包。 由发送方负责差错检测的缺点是当接收者较多时,容易导致a c k 阻塞因为在较短的时间范围 内,发送者必须处理较大数量的a c k 消息,从而导致发送者吞吐量严重下降。同时,发送者要维护 和处理含有大量状态信息的接收者列表,对发送者处理能力的要求也较高。可见,由发送方负责筹错 控制不适合较大规模的组播组。 由接收方负责差错检测同样存在n a c k 阻塞问题,为此引入n a c k 抑制方法。当一个接收者检 测到报文丢失后,在准备通过组播方式发送n a c k 之前,先等待一个随机的时间,如果在此段时间 内收到另一个接收者发出的对同一个报文的n a c k 时,就取消自己的n a c k 。这种方式要求绢播修 复报文,会造成不必要的流量;另外延迟n a c k 也会增加组播报文的延时。 前向纠错f e c 通过事先传送冗余的校验数据来完成差错控制,它将k 个报文和h 个校验报文共n 个报文送出,接收方只要正确收到任何k 个报文,就能重建原来的数据。单独的f e c 不能保证可靠 的数据传输,在a r q 中引入f e c 可以减少重传报文以降低延时。 3 4 5 差错修复技术 按照组成员参与差错修复的程度,差错修复分为集中式差错修复和分布式差错修复。集中式差错 修复中所有的重传都由发送者完成,也称全局恢复( g l o b a ir e c o v e r y ) 。分布式差错恢复将差错恢复 的任务分布到组播内的各成员中去,也称局部修复( l o c a lr e c o v e r y ) 。根据由谁负责,局部恢复主要 分为两种方式:基于服务器的局部恢复和基于接收者的局部恢复。 基于服务器的局部恢复指定路由器附近的一台主机为恢复服务器,每个恢复服务器也接收组播数 据并响应局部接收者的重传请求。恢复服务器本身数据的丢失由更高层恢复服务器或发送者来恢复。 基于接收者的局部恢复,在某一个局部地域范围内,只需要对丢失的报文进行恢复,廊动态选择 一个接收者来完成差错恢复。在这种方式中,通常将接收方组织成一定的结构,常见的有基于环和基 于树两种,如图3 i 所示。 第三章c s c w 发群侔系统 黼斌勰 r i n 蕃_ b 勰e d 图3 1 环形和树形n a k 修复 在基于环的差错恢复中,环内有一令牌持有者。持牌节点向发送者发送a c k 确认收到的报文; 响应其它接收者的n a c k 并单播重传丢失的报文;令牌采用单播方式在环内轮转。这种方式能保证 所有接收者的完全顺序性。 基于树的差错控制将接收者组织成树型层次结构,根节点为源节点,当一个节点丢失报文后,向 其父节点发送n a c k 请求重传,如果父节点也没有该报文则请求更高节点进行恢复。由于纯n a c k 理论上要求恢复节点缓存所有报文,通常接收者定期发送a c k 以便父节点释放内存。 局部修复将数据修复尽量限制在局部的范围,这样请求数据和修复数据将不向全局范围进行无用 的传播,在网络规模增大时就能提高协议性能。 3 4 6 可靠性的界定 可靠组播协议提供的服务质量有以下几类: 1 无确认组播发送( u n r e l i a b l e ) :收方可能收不到、收到一份或收到多份报文。 2 有确认组播发送( u n o r d e r e d ) z 收方至少能收到一份报文,但不保证接收顺序。 3 有确认有序组播发送( s o u r c eo r d e r e d ) :收方能且仅能收到一份报文。同一发送方的报文的发送 和接收顺序相同,但不同发送方的报文在不同接收方的总体顺序可能不同。 4 完全有确认有序组播发送( t o t a l l yo r d e r e d ) :它把所有发送的报文排成一个顺序,按相同的顺序 送到每个接收方。可理解成有一个群组中心,把各发送方的报文收集到一起,再分发给各接收方。接 收方能且仅能收到一份,同一发送方的报文的发送和接收顺序相同,多个发送方的报文在接收方的总 体接收顺序相同。 3 47 可扩展可靠组播协议( s r m s c a l a b l er e l i a b l em u l t i c a s t ) s r m 被设计为只满足可靠组播的最基本的定义,即实现到所有组成员的所有数据的撮终到达, 并不保证任何顺序。应用程序可以通过s r m 协议中的回调机制实现自身特定的传输机制或其它功能 的扩展。s r m 协议的主要特点是应用层组帧a l f 技术、基于接收方的错误恢复技术和层次化的数据 命名机制s n a p 。 3 4 7 1 应用层组帧( a l 卜a p p l i c a t i o nl e v e lf r a m i n g ) 技术 a l f 的基本思想是:为了提高协议的性能,将一部分本应由协议完成的功能开放给应用程序进行 处理,使得应用程序能够知道或者操纵传输中的报文。具体的做法是将数据组帧豹任务在庞j : j 层完成, 数据在应阁层就被分割成应用数据单元( a d u ) ,并保证a d u 小于网络可支持的最大传输单元m t u , 这样a d u 到达网络层时不会被再次分割。并且应用层应该能够接收没有按照发送顺序到选的a d u , 而不强求a d u 的按序到达,以达到节省时间的目的。a l f 的另一个优点是极大的减少了为恢复丢失 数据而发送的修复报文的数目。 3 4 7 2 基于接收方的错误恢复技术 s r m 协议首先要求参与组播通信的每个成员以一定时间间隔组播会话消息,会话消息一方面可 东南火学坝,l 学位论文 以使数据发送者通知其它成员当前它所发出的报文的最新序列号:另一方面,利崩简化的n t p 消息, 校准每个成员的时钟,并计算出自己和其它成员之间的住返时间r 兀。 检测到报文丢失的成员组播n a c k 消息,并采用了n a c k 抑制技术,s r m 采刚全局修复技术, 即组播源组擂修复报文。 3 4 7 3 层次化的数据命名机制s n a p s r m 中的数据模型采用层次结构,数据对象及其容器按树状结构组织。树节点的命名采用s n a p 协议( s c a i 曲l en a m i n ga n da n n o u n c e m e n lp r o t o c 0 1 ) ,它是基于a l f 的思想提出来的,可以将应州程 序的数据有效地映射到传输的报文中,实现了应用层数据和传输层报文之间的映射关系。 图3 2s r m 数据模型 如图3 2 所示,在一个白板应用的一次会话中有三页,b 页有4 个图形对象。当页b 是活动页时, 对该页的操作事件组播延时要小,且该页中的具有因果序操作要按序到达应用层;其它页的操作事什 到达时可以延后处理,页间的操作没有因果序,不要求所有事件到达应用层是有序的。结合s r m 的 回调机制,这种命名协议给应用层更大的灵活处理可靠性。 3 4 8 基于环的可靠组播协议( 蹦p r e l i a b l em u l t i c a s tp r o t o c 0 1 ) r m p 是一个基于令牌环的可靠组播协议,能提供全局有序的报文传输。它采用n a c k 和a c k 相结合的方式实现可靠传输,基本工作方式是一个拥有令牌的接收方用组播方式向组播源发送a c k 反馈,其它接收方以该反馈作为相应消息的时间戳,并因此获得全局有序性。即持令牌节点对收到的 报文的a c k 顺序是所有接收方向应用层递交报文的顺序。如果一个接收方检测到报文丢失,就向持 令牌= 霄点发送n a c k 请求修复。对于发送方只要收到持牌节点的a c k 就认为报文发送成功。为了 避免在持牌节点处形成拥塞,令牌在所有接收方中间轮转,每个持牌节点负责一个时间片,并缓存收 到的报文,缓存的报文随令牌同时转移。 f t m p 提供了一组可选的可靠性选项,从不可靠到完全有序:其令牌机轮转机制使负载分担在各 个节点上。但由于还是采用单一节点修复方式,系统缺乏健壮性;另外环状构造及令牌与缓存的传递 也影响了系统的可扩展性。 3 4 9 基于树的可靠组播传输协议( t m t p 1 r e e - b a s e dm u l t i c a s tt r a i l s p o r tp r o t o c 0 1 ) 1 m t p 利用i p 组播的r r l 设定组播范围,即利用物理链路的拓扑来实现分层,可以减少反馈的 网络通信延时。在一个给定的t 丁l 定义的组播半径内称为一个域d m ,所有d m 以树状结构组织起 来。d m 内的接收者组播反馈和修复报文时,都受这个t t l 值的限制。发送方以组播方式发给包括中 间节点d m 的所有接收者。d m 之间使用单播进行肯定反馈和修复,子d m 周期性地发送a c k 报文 给上级= 肯点,以便上级节点释放缓存。 t m t p 混合了肯定和否定反馈方式,支持多对多通信,由于它采用多级缓存,丢失报文的节点能 够获得本地修复,效率较高。但肯定应答方式要求发送方和各级d m 保存所有接收者列表,影响了 可 第三章c s c w 及群件系统 扩展性。 3 5 并发控制 在协同工作系统中多个用户共享信息空间用户通过系统提供的工具在一定的约束规则f 并行地 操纵信息空间中的数据,因此保证共享数据的致性是保证协作正常进行的基本要求。 共享数据的部署方式有集中式、全复制式和两者混合结构。集中式结构( 即客户朋务器结构) , 共享数据存储在服务器上,服务器处理所有客户的输入并将输出反馈给所有用户,这种方式r 的并发 控制较简单:全复制式结构在每个节点上都有一份相同的数据拷贝,每个节点根据用户的输入对数据 进行更新,并将更新通知其它节点,以保证系统中共享数据的一致性每个节点都有一份并发控制算 法的拷贝在运行:混合式结构根据需要将数据在服务器和节点间进行部署,服务器主要完成用户登录 并发处理和拭享数据的访问控制等,各节点都是先在本地对用户的操作进行处理和反馈,然后选择直 接通知其它节点或是传送给服务器集中处理。 为了解决一致性问题,人们提出多种并发控制策略。并发控制策略与应厢语义相结合的紧密程度 决定了该策略的通用性。若策略过多地使用语义,则虽然可以使设计相对简化,有利于性能改进,但 同时也使该策略依赖于所考虑的特定应用。同样,若策略过少地使用语义。则虽然在设计时要考虑的 范围扩大,相对来讲难度大;但是由于策略对具体应用的依赖性小,使它的通用性增强。如何平衡这 两方面因素应该由策略的设计者根据其需要进行权衡。典型的并发控制策略有以下几种”j : 加锁法:加锁法是保证数据一致性的常用手段,它提供对共享对象的加锁和解锁操作。用户在修 改共享对象之前,必须获得该对象的锁。加锁法实现起来较为简单,但它存在一些不足:首先是加锁 的粒度不易掌握,粒度过粗,则影响用户的并发程度:粒度过细,则加重系统负担。其次,由丁每次 访问数据之前都要获得锁,使用完以后释放锁,这些动作需要耗费不少的时间,严重影响了系统的性 能。此外,群件系统很难确定一个锁在什么时候被申请或者回收。最后,由于锁的申请和响应需要通 信,因此当通信失效时可能无法正常工作。 发言权控制( f l o o rc o n t m l ) :类似于令牌传递协议,系统中只有一个f 1 0 0 r 在各节点轮转,只有 拥有f 1 0 0 r 的组成员节点有权操纵共享数据。这种方式不适合高度并行的交互。 依赖探测法:它对每个操作加上时间戳,然后根据时间戳检查多个操作之间是否存在冲突,并通 过人工干预来解决冲突。这种方法本地操作可以立即执行,因而响应时间较快。但是由于需要人工干 预,数据的一致性容易出现问题。 操作转换法:对于共享对象的本地操作立即执行,远程操作执行前对操作的各个参数进行调整, 以补偿由予执行其他操作而引起的共享对象的状态变化。 集中控制法:使用一个集中控制进程管理对共享对象的操作。它接收所有用户的操作。按照一定 的规则排序,然后广播给所有的用户按序执行,从而保证一致性。集中控制法的优点是实现简单,但 是由于集中控制进程要处理所有用户的操作请求,因而存在着性能瓶颈;此外,这种方法存在单点火 效问题。 可逆执行:操作可以立即执行,但保留与操作有关的信息,以便在必要时取消该操作( u n d o ) 。这 要求给所有操作提供一个全局的时序。当有失序的操作时执行u n d o 失序操作并按正确的顺序r e d o 这些操作。这种做法与依赖检测方法相似。它的困难在于操作时序的定义。 社会协议:有些群件系统将并发的控制权留给用户,用户按照正常的协作习惯进行并行r 作。这 种做法的优点是完全由用户来控制并发,实现非常灵活。但是由于系统不强制并发控制,因此当有州 户不遵守协议时系统可能出现难以预料的错误。 在为实时群什系统设计并发控匍算法时常要考虑如下问题: 1 全复制式的体系结构,为了满足对响应时间和可靠性的要求,实时群件系统一般采用全复制 式的体系结构,一方面用户的操作可以对本地对象快速完成,另一方面某个站点崩溃后,系统仍可借 东南人学坝卜学位论文 助其它站点所维护的数据继续运行。但也带来了如何保证各站点数据对象一致性的问题。 2 维护共享数据的一致性,收敛弄| i 先于关系保留是必要的,这是保证数据一致性的基础;对丁_ 预期一致性,在某些应用中可以放宽,因为在一些应用中会出现刚户操作预期结果的冲突,如幽形编 辑系统中,一个用户将某个直线对象拉长,另一个用户同时在缩短该直线。这两个并发操作操作意幽 不同,要保证数据的一致性,必然会有一个用户的操作预期不能实现。 3 系统响应本地用户的操作要快,响应速度的指标对用户评价一个系统来说比以功能作为指标 更基本,即要优先考虑系统对用户的响应。c s c w 应用的最大优点是允许地域上分散的人j 通过通信 网络协同工作,这时,并发控制算法必须考虑数据在通信链路上的延迟。 3 6 事务处理和其他功能模块 在群件系统中,除了以上介绍的几个主要功能模块以外,还需要有其他一些功能来共同构成系统, 这些功能划分到事务处理和其他能模块里面。这些功能主要包括:针对具体应用的事务处理、州户管 理、访问控制、安全机制和数据库管理等。 1 4 4 1 简介 第州章应用共享投术 第四章应用共享技术 现今实现群件系统的方法有两种,一种称为协作感知的,即构造一个全凝的系统,其中集成了 协作所需要的所有功能模块,如用户管理、组播机制、一致性控制等等。这种系统的优点很明显由 于是专门针对协作开发的,因此功能比较全面,也很容易针对具体的应用做一些性能上的优化,但是, 这种从头开始构建一个系统的方式,无疑要花费很多人力和物力,此外这种方式需要用户去熟悉新 的界面和操作,对工作效率有所影响。另一种比较受欢迎的方式称为协作透明的,这种方法井不重新 构建一个系统而是在原有的单机应用程序的基础上加入辅助协作共享的模块,从而将应用程序共享。 这种方式不必重新构建一个应用程序,能够节省开支;削户无需熟悉新的软件,就能很好的与他人协 作,因此这种方式相对来讲比较容易教人们接受。 协作透明的方法通常也叫应用程序共享,是指一个应用程序的窗口被复制或者共享给多个计算 机,坐在计算机前面的用户都能看见和控制窗口,好像程序就在他的本地运行一般。这种方式不同丁 远程控制,它需要有更多的辅助于协作的信息。 简单地说,应用共享系统为多用户提供一致的应用界面,协调多用户的发言权,从多个用户取得 输入,对各个用户产生相同的输出,使得应用程序在多个用户之间协同运行。从某种意义上来讲,应 用共享是连结c s c w 环境和单用户应用环境的桥粱。 4 ,2 应用共享的体系结构 4 - 2 1 复制式的应用共享 第一种应用共享方式叫多站点式或复制式,在拇同工作组中的每个节点运行应用程序,这些运行 中的应用程序的输入和输出受到应用共享工具的控制,以便同步不同的应用程序运行拷贝。不同站点 上的应用程序是同步启动的,并且时刻保持相同的输入。 这种方法的优点是产生的网络流量较小,因为只有月;| 户的输入在备个节点间传送。传输刚户输入 如键盘和鼠标事件对带宽和延迟要求不高,因此这种方式适合跨广域网的协同应用。 缺点是维护不同应用程序拷贝的状态一致性比较困难如果一个站点丢失一个输入。它跟其它站 点上的应用程序就失去同步。相应的,要有检测不同步和恢复到同步状态的工具,但大部份应用程序 不支持回退到前一个状态的功能。另外这种方法需要每个应用程序有相同的软硬件功能,否则就会产 生不一致的情况,例如,如果个程序使用了本地状态就不支持这种方式的应用共享。 4 2 2 集中式的应用共享 第二二种应用共享方式叫单节点式或集中式,被共享的应削程序只运行在一个节点上,称为执行站 点。输入从各个参与者的站点上传给执行站点上的应用程序,应用程序的输出,“播到组中所有站点上。 这种方法的主要优点是维护同步和一致性的开销较小,不需要同步启动程序并在每一步保持一致 性;另外,由于共享。】二具提供了类似于图型终端功能的一个窗口,节点不需要具备该软件运行的软硬 件环境就能运行。 缺点是会产生较人的网络流量,因为输入输出都在节点间传输,如果应用共享i 具截获的输出是 东南太学硕士学位论文 基丁幽形的,则开销更大。目前应用共享: 具的商业产品基本是基于集中式结构的。 4 3t 1 2 0 和j c e 应用共享技术 4 3 1t1 2 0 t 1 2 0 标准包含一系列的通信和应用协议及服务,用于支持实时的多点数据通信。它是一个开放 标准族,目前已有超过一百家的国际级企业承诺推出基于t 1 2 0 的产品和服务,其中不乏a p p l e ,a t & t , b r i t j s ht e l e c o m ,c i s c os y s t e m s ,i n t e l ,m c i ,m i c r o s o r 等等这类的业界巨头。 4 3 1 1 主要特性 t 1 2 0 之所以受到追捧,是因为其具有以下特性: 1 )多点数据传送:t 1 2 0 提供了很好的抽象,使得开发者能够轻松地创建和管理多点域,从扇用稗 序的角度来看,数据被实时地、无缝地传送给多方。 2 ) 互操作性:t ,1 2 0 允许多个厂商开发的终端应用程序能够互操作。t 1 2 0 也定义了应用程序如何与 支持t 1 2 0 标准的网络桥接产品和服务互操作。 3 )可靠数据传送:纠错数据传送保证了所有的终端都能够接收到完整的数据。 4 ) 组播支持的数据传递:在支持组播的网络中,t 1 2 0 能够利用可靠的和非可靠的传递服务。通过 组播,t 1 2 0 降低了网络拥塞,提高了性能。t 1 2 0 还能够同时使用组播和单点数据传递服务, 困此为单播和组播混合存在的网络提供了一个灵活的解决方案。 5 )网络透明性:底层使用的数据传送机制对应用程序完全屏蔽,不管是高速的l a n 还是低速的拨号 上网,对应用程序开发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论