(计算机应用技术专业论文)协同编辑中的应用共享工具研究.pdf_第1页
(计算机应用技术专业论文)协同编辑中的应用共享工具研究.pdf_第2页
(计算机应用技术专业论文)协同编辑中的应用共享工具研究.pdf_第3页
(计算机应用技术专业论文)协同编辑中的应用共享工具研究.pdf_第4页
(计算机应用技术专业论文)协同编辑中的应用共享工具研究.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)协同编辑中的应用共享工具研究.pdf.pdf 免费下载

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

文档简介

山东大学硕士学位论文 摘要 计算机支持的协同工作( c s c w ) 作为新兴的研究领域越来越受到广 泛的重视。这是一门新兴的交叉学科,在最近几年有了很大的发展,并开 始受到广泛的重视。它致力于研究人们在一起工作的方式,通过计算机技 术和通信技术的结合,把计算机从传统的孤立应用推进到支持协同工作, 给人们的工作方式带来了革命性的变革,具有广泛的应用前景。 协同透明( 应用程序共享) 可以在不改变源程序代码的基础上将传统 的单用户程序转变为协作程序,用户不必去适应新的应用程序而放弃自己 喜爱的单用户程序,所以在单用户应用程序上设计一个具有群件特征的系 统是非常可取得协同方法。但是,几乎所有的应用共享系统不能支持群件 的基本特征,如并发控制、群组感知。 本文通过对c s c w 应用的特点、群体工作的特点和流程、传统应用共 享工具的缺点、结构以及相关技术的研究分析,设计了一个w i n d o w s 系统 下基于复制式结构的应用共享工具,该结构能较好地支持群体工作,并适 应由传统编辑向协同编辑转化的需要。 针对应用共享的特点,为了支持点到多点的通信,保证服务质量,介 绍了群组通信的体系结构,并详细介绍了i p 组播地址以及已有的组播协 议,通过对已有组播协议的分析,给出了一个组播算法,它不仅能够解决 网络代价问题,而且也能够解决时延问题,适合应用共享的实时性的要求。 在协同编辑中,用户必须能够显式地感知到协作用户的任何变化。为 了减少网络带宽,本文采用了对事件的捕获和回放方法,使本地操作能立 即得到反应。并且通过对w i n d o w s 消息和a p i 的详细研究,设计了一个监 控程序来截获和回放事件。 在应用共享中,维护数据的一致性既是对系统的基本要求,也是一个 难点。本文给出了支持编辑全过程的一致性维护,包括启动、终止以及编 辑过程中的一致性维护。在编辑过程中,并发控制是维护数据一致性的关 键技术,人们在这方面已经作了很多研究并且取得了一些成效,但是大部 山东大学硕士学位论文 分的研究仍然不能很好地满足c s c w 的需要。操作转换算法在实时c s c w 系统中应用比较普遍,特别是对于基于文本编辑的组编辑器。同时针对文 本编辑操作的特点,给出了两种转换算法。 为了在松散的w y s i w i s 视图下支持多人同时协作编辑,本文采用了 远程指针的协同感知技术,并提出了指针一致性维护和指针映射方法,为 了提高了感知的灵活性和实用性,给出了远程指针的重载语义,设计了一 个全局监控窗口。而在感知过程中对感知信息的灵活过滤,提高了协同感 知的效率。 最后,通过对应用共享相关技术的研究,给出了一个协同编辑系统的 实例c o n o t e p a d 。 关键词:计算机支持的协同工作( c s c w ) ,应用程序共享,协同感知, 组播,并发控制,远程指针 2 山东大学硕士学位论文 a b s t r a c t c o m p u t e rs u p p o r t e dc o o p e r a t i v ew o r k ( c s c w ) e m e r g e s a s p r o m i s i n gr e s e a r c hf i e l da n dh a sb e i n gp a i dm o r ea t t e n t i o n i ti s an e w e m e r g i n gr e s e a r c hf i e l d b a s e do n m u l t i p r i n c i p l ed i s c i p l i n e sa n d h a s a t t r a c t e dm u c ha t t e n t i o no v e rt h el a s tf e wy e a r s w i t ht h ec o m b i n a t i o no f c o m p u t e rt e c h n o l o g ya n dc o m m u n i c a t i o nt e c h n o l o g y , c s c wp u s h e st h e t r a d i t i o n a li s o l a t e dw o r km o d et o g r o u pc o o p e r a t i v ew o r km o d e ,a n d r e v o l u t i o n i z e st h ew a y b yw h i c hp e o p l ew o r k i ti ss u r et h a tt h e r ew i l lb ea v e r yb r o a da p p l i c a t i o np r o s p e c t i v ew i t hc s c wi nt h ec o m i n gf u t u r e c o l l a b o r a t i o nt r a n s p a r e n c y ( a p p l i c a t i o ns h a r i n g ) t e c h n o l o g yi sa b l e t oc o n v e r tl e g a c y s i n g l e u s e ra p p l i c a t i o ni n t oc o o p e r a t i v ea p p l i c a t i o n w i t h o u tm o d i f y i n gt h es o u r c ec o d e ,u s e r sa r en o tm o t i v a t e dt oa b a n d o n t h e i rf a v o r i t es i n g l eu s e ra p p l i c a t i o n s ,am o r ep l a u s i b l ew a yi st h u st oa d d g r o u p w a r ef e a t u r e st os i n g l eu s e ra p p l i c a t i o n s b u ta l m o s ta l lt h ee x i s t i n g a p p l i c a t i o ns h a r i n gs y s t e mc a n n o tp r o v i d et h eg r o u p w a r ef e a t u r e s ,e g c o n c u r r e n tc o n t r o l 、g r o u pa w a r e n e s s 。 i nt h i s p a p e r ,ia n a l y s e st h ec h a r a c t e r so ft r a d i t i o n a lc s c w a p p l i c a t i o n s ,t h ec h a r a c t e r sa n dt h ep r o c e s so fg r o u pw o r k ,t h ed e f e c t so f t r a d i t i o n a l a p p l i c a t i o ns h a r i n gs y s t e m 。a n dt h e r e l a t e dt e c h n o l o g i e s a c c o r d i n gt oa b o v es t u d i e s ,ar e p l i c a t e da p p l i c a t i o ns h a r i n gs t r u c t u r e b a s e do nw i n d o w so p e r a t i n gs y s t e mi sd e s i g n e d t h i ss t r u c t u r ec a nb e t t e r s u p p o r tg r o u pw o r ks t y l e a n df i tt h en e e do fc h a n g ef r o mt r a d i t i o n a l e d i t i n gt oc o o p e r a t i v ee d i t i n gc o m p a r e dw i t ht r a d i t i o n a ls t r u c t u r e s i n t h ec o m m u n i c a t i o n s e r v i c e ,t h e a r c h i t e c t u r eo f g r o u p c o m m u n i c a t i o n si sp r e s e n t e d t h e nw ei n t r o d u c ei pm u l t i c a s ta d d r e s sa n d s o m em u l t i c a s tp r o t o c o l s am u l t i c a s tr o u t i n ga l g o r i t h mi sp r e s e n t e do n t h ea n a l y s i so ft h ec h a r a c t e r i s t i co fr e a l t i m em u l t i c a s t i tc a nb o t h m i n i m i z en e t w o r kc o s ta n ds h o r t e nn e t w o r kd e l a y ,a n di tc a nm e e tt h e 3 山东大学硕士学位论文 r e q u i r e m e n to fa p p l i c a t i o ns h a r i n g i n c o o p e r a t i v ee d i t i n g ,p e o p l e c a na w a r ec o a u t h o r s a n y c h a n g e e x p l i c i t i no r d e rt or e d u c en e t w o r kt r a f f i ca n dl a t e n c yp r o b l e m ,ia d o p tt h e m e t h o do fe v e n tc a p t u r ea n de v e n tr e p l a y , t h el o c a lo p e r a t i o nc a ne x e c u t e i m m e d i a t e l y a c c o r d i n gt o t h e s t u d yo fw i n d o w sm e s s a g ea n da p i ,a c o n t r o lp r o g r a mt oi n t e r c e p ta n dr e p l a ye v e n t si sd e s i g n e d i na p p l i c a t i o ns h a r i n g ,c o n s i s t e n c yc o n t r o li st h eb a s i cr e q u i r e m e n tt o t h es y s t e m ,a n di ti sa l s ov e r yd i f f i c u l t c o n c u r r e n c yc o n t r o li st h ek e y t e c h n o l o g yo fc o n s i s t e n c yc o n t r o li nc s c w ,p e o p l eh a v ed o n el o t s o f s t u d i e sa n dg o tm u c ha c h i e v e m e n t b u tm o s tr e s e a r c hw o r k sc a nh a r d l y s a t i s f yt h er e q u i r e m e n t so fc s c wv e r yw e l l t h eo p e r a t i o nt r a n s f o r m a t i o n c o n c u r r e n c yc o n t r o la p p r o a c h e sa r er a t h e rp o p u l a ri nr e a l t i m ec s c w s y s t e m sw i t hf u l l yr e p l i c a t e da r c h i t e c t u r e ,e s p e c i a l l yi nt e x t b a s e dg r o u p e d i t o r s ,a n dt w ot r a n s f o r m a t i o na l g o r i t h m sa r ep r e s e n t e d i no r d e rt os u p p o r tm u l t i u s e re d i ts y n c h r o n o u s l yi nt h er e l a x e d w y s i w i sv i e w ,ip r e s e n tm e t h o d so fc o n s i s t e n c ym a i n t e n a n c eo f t e l e p o i n t e r sa n dt e l e p o i n t e r sm a p p i n g ,o v e r l o a d e ds e m a n t i c so fd y n a m i c t e l e p o i n t e r sa r ed e s i g n e d ,at o t a lm o n i t o ri sg i v e ni no r d e rt oi m p r o v et h e f l e x i b i l i t y a n du s a b i l i t yo fa w a r e n e s s i nt h ep r o c e s so fa w a r e n e s s ,t h e f l e x i b l ef i l t e r i n go fa w a r e n e s si n f o r m a t i o ni m p r o v e st h ee f f i c i e n c yo f c o o p e r a t i v ea w a r e n e s s a tl a s t ,as y s t e mo fr e a lt i m ec o l l a b o r a t i o ne d i t o r - c o n o t e p a di s p r e s e n t e dt h r o u g ht h er e s e a r c ho ft h er e l a t e dt e c h n o l o g i e s k e yw o r d sc o m p u t e rs u p p o s e dc o o p e r a t i v ew o r k ( c s c w ) a p p l i c a t i o n s h a r i n g c o l l a b o r a t i o na w a r e n e s s c o n c u r r e n c y c o n t r o l t e l e p o i n t e rm u l t i c a s t 五 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究作出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名:盎目矗落日期:冱丝f b ; 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学校保留或向国家 有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅;本人授权山东大 学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印 或其他复制手段保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:如蕴蕴导师签名:组 山东大学硕士学位论文 第1 章前言 1 1c s c w 基本概念 计算机支持的协同工作( c o m p u t e rs u p p o r t e dc o o p e r a t i v ew o r k 简称 c s c w ) 最早是由麻省理工学院的i r e n eg r i e f 和d e c 的p a u lc a s h m a n 在 1 9 8 4 年提出的。它的含义1 1 是指在计算机支持的环境中( c s ) ,一个群体 协同完成一项共同的任务( c w ) 。它主要研究如何利用计算机技术来支 持一组用户协同完成一个共同的任务,使计算机系统从传统的只能提高个 体工作效率变为能提高群体工作效率。他的目标是要设计支持各种各样的 协同工作的应用系统。它致力于研究: 协同工作所具有的特点和由此带来的区别于个人单独工作所要求的支 持是什么? 人们为什么要开展协同工作以及怎样使用基于计算机的技术来提高人 们在协同工作中解决问题的能力? 怎样利用信息技术使协同工作需要的合作被更方便、更快捷、更灵活 和更全面的实现? 协同工作的分类、模型、应用工具和支撑环境的研究。 c s c w 是一个跨学科的新研究领域,不仅仅受到计算机技术、通信技 术等学科的支持,还涉及到社会学、心理学、组织理论和人类学等学科。 因此,它是一个大的学术论坛,向人们提供了一种全新的工作环境和交流 方式。 1 2 c s c w 涉及的学科和领域 c s c w 是一门多学科交叉融合的产物。一般来说,c s c w 至少涉及五个 主要的学科或领域的内容:分布式系统、通讯、人机交互、人工智能和社 会学。一般来说,一个给定的群件系统包含两个或两个以上学科或领域的 内容。 分布式系统( d is t r i b u t e ds y s t e m ) 主要是指在多用户系统中,用户处于 不同的位置。它强调系统的数据和控制呈分布式状态,并着眼于仅通过观 山东大学硕士学位论文 察和操纵本地的数据来保证整个系统的一致性。 通信( c o m m u n i c a t i o n s ) 强调远程系统之间的信息交互。主要涉及网络的 连通性、带宽以及传播文本、图案、声音和视频的通信协议。 人机交互( h u m a n c o m p u t e ri n t e r a c t i o n ) 强调用户界面在系统中的重 要性。人机交互同样是一个多学科交叉融合的领域,如平面设计、工业设 计、计算机图形学、认知科学等。 人工智能( a r t i f i c i a li n t e l l i g e n c e ) 强调系统具有类似人的行为的属 性。也就是通过积累和分析人的行为,使计算机能更好地适合协同工作。 该领域的加入使系统不再是被动地处理和提供数据,而是主动地参与交互 活动。 社会学( s o c i o l o g y ) 强调了社会科学在设计群件系统时的重要性。多用 户系统具有许多和单用户系统不同的特点,不能靠仅仅将单用户简单叠加 来建立一个多用户系统。同时,不同的小组使用同一系统,或者同一小组 使用同一系统完成不同的任务,其协同工作的方式也会不同。 1 3c s c w 的分类 c s c w 系统的分类有很多方法,主要可以从应用系统角度和时空特性 角度来进行分类c 2 】。 1 3 1从应用系统角度进行分类 信报系统:也称为电子邮件系统。i t u c c i t t 的x 4 0 0 方案是标准的 电子邮件系统,另外,u s e n e t 的n e w s g r o u p 系统和电子公告牌等也属 于该类型,该类系统支持群体间信息的异步交流。 工作流管理系统:工作流是指多人参与的办公事务中所使用的一系列 操作或步骤,这些步骤的发生可以是顺序的或并行的。工作流管理系统对 工作流的管理提供辅助支持,自动完成有关信息交换,从而加速与事务有 关的电子文档的处理速度,提高工作效率。i b mf l o w 及其基于m q s e r i e s 的后续版本m q s e r i e sw o r k f l o w 就是典型的工作流管理系统。 多媒体计算机会议:多媒体计算机会议系统可将不同会场的与会人员 山东大学硕士学位论文 活动情况、会议内容以及各种数据和信息及时传递给每个与会者,实现实 时多媒体信息交互,进行实时讨论和共同设计。它需要处理音频、视频、 协作数据等大量信息,利用计算机强大的信息处理能力,可有效进行协同 工作,在一定程度上取代传统会议,是一种快速高效、经济方便且应用广 泛的新工具。美国c o m e l l 大学的c u s e e m e 系统和欧洲的m i c e 系统是 典型的多媒体计算机会议系统。 协同编著和协同设计:为不同时间和不同地点的用户,提供以协作工 作方式完成多媒体文档编著和产品设计的工具。这些工具的出现将方便群 体成员间的协作,提高协作工作的效率。美国m i c h i g a n 大学的d i s t e d i t 就是一个典型的协同编著系统。 1 3 2从时空角度进行分类 根据群体成员的交互协作方式、地理分布位置进行分类,构成图1 1 一个群体时空矩阵。 交互协作方式:按时间划分有同步方式( s y n c h r o n o u s ) 和异步方式 ( a s y n c h r o n o u s ) 两种。同步方式是指群体成员在同一时间进行同一任务 的协作:异步方式是指群体各成员在不同时间进行同一任务的协作。 同步异步 本地 远程 同地异步协作 面对面交互 ( 黑板系统) 远程同步协作远程异步协作 ( 白板系统、聊天室)( 电子邮件、b b s ) 图1 1c s c w 的时空分类 按地理位置分布:协作又分成同地协作( c o 1 0 c a t e d ) 和异地或远程协 作( r e m o t e ) 两种。 1 4 c s c w 的发展及研究现状 早在2 0 世纪6 0 年代,美国的d 英格巴特发表了一篇题为“a c o n c e p t u a lf r a m e w o r kf o rt h ea u g m e n t a t i o no fm a n si n t e l l e c t ”的文章, 不仅对超文本的研究起了重要作用,而且对于c s c w 的研究开发也起了 3 山东大学硕士学位论文 开创性的作用;到了7 0 年代,德国斯图加特大学物理学家h e r m a n n h a k e n 就提出了协同学的概念;到了8 0 年代,计算机网络技术、多媒体技术、 数据压缩和存储技术、通信技术和分布与并行处理技术等都有了长足的进 步,同时由于人机交互理论的逐渐成熟,使得c s c w 有了迅猛发展;1 9 8 4 年麻省理工学院的i r e n eg r i e f 和d e c 的p a u lc a s h m a n 组织了一个来自不 同领域的2 0 个科研工作者组成的工作组,共同探讨如何发挥技术在协同 工作中的作用问题,从而第一次正式提出了c s c w 的概念;此后c s c w 很快吸引了许多不同领域的科研工作者,美国的a c m 于1 9 8 6 年1 2 月在 德克萨斯组织了一次国际性的c s c w 学术会议,集中了社会学、人类学、 计算机科学、办公自动化、决策系统等多方面的专家学者研讨人类群体工 作的特性和计算机技术对群体工作的可能支持,从而正式提出了c s c w 这一全新的领域。欧洲随后也举办了一系列的c s c w 国际会议。目前, 美国和欧洲每两年举办一届c s c w 国际会议,同时许多国家每年也举办 自己的学术会议。中国于1 9 9 5 年5 月在北京举办了第一届c s c w 国际学 术会议【2 】【3 1 。 c s c w 的研究在欧美各有所侧重。欧洲是从大型合作项目的角度出 发,而大型项目的合作开发主要障碍经常是一些组织协调等非技术性问 题,他们的研究方式是从心理学、社会学、经济学和政治学等理论高度等 进行的,目标是开发支持大群体活动、共内部使用的大系统:美国( 包括 日本) 是从群体的角度出发,以技术的观点来看这个问题,研究方式是经 验主义,目标是开发面向小群体应用的实用群体产品,其面对的障碍主要 是技术方面的。当前,国内的研究才刚刚起步,研究思路与美国的比较接 近i3 1 。 1 5 协同合作的两种方式 目前的协同合作常用的方式有两种【4 】:导向合作( c o l l a b o r a t i o n a w a r e n e s s ) 和透明合作( c o l l a b o r a t i o nt r a n s p a r e n t y ) ( 又称应用共 享) 。 导向合作是面向特定协作任务而专门构造出的应用系统,因此在该系 统具有明显的协同的功能,可为用户提供多种形式的界面,多种信息共享 4 山东大学硕士学位论文 方式,可以更有效地支持用户间完成多种协作。 透明合作是在已有的单用户程序的软件环境中嵌入一个管理应用程 序输入输出的集中协作代理,用户在对已有的单用户应用程序不做任何修 改的情况下,通过此代理进行协同工作,这种方法与具体的应用程序无关, 用户间的协作完全是透明的。但是,为了实现协同操作,系统必须能够把 向该应用程序输入数据的控制权从一个成员转移给另一个成员。 正如文献“1 所提到的,与应用共享系统相比,导向合作系统缺乏与单 用户程序的很好的兼容性,同时由于缺乏支持它的基础设施,所以它的开 发要从零做起,非常困难;应用共享系统可以在不修改单用户程序源代码 的基础上开发实现,开发工作量小,用户不必去适应新的应用程序而放弃 自己喜爱的单用户程序,所以在单用户应用程序上设计一个具有群件特征 的系统是非常可取的方法。 1 6 应用程序共享 据统计,世界各地大大小小的公司每年在各种会议上的花费为几十亿 美元,实时交互系统为企业提供了一种能够大幅度降低开销而无损质量的 解决方法。在早期的协作会议系统中,应用程序共享并没有得到足够的重 视,例如h 3 2 3 协议强调视频和音频的质量,数据业务几乎被忽略,由于 网络条件的限制,目前还很难保证会议的视频和音频质量,但是应用程序 共享的交流数据量小而信息量高,当讨论问题,交流看法,共同操作成为 会议的中心内容时,应用程序共享系统将成为企业首选的协作工具,因此 也得到学术界、电信业和软件业的高度重视 6 1 。 1 6 1应用程序共享的概念 应用程序共享就是多个参与者可以共享普通单用户应用程序的任何 交互应用和显示,使得用户可以在不对单用户应用程序进行修改的条件下。 直接利用已有的单用户应用程序进行协同工作。由于计算机支持协同工作 的概念提出之前,人们日常使用的单用户应用程序非常之多,因而研究通 过应用程序共享机制提供网络环境下单用户应用程序的协同工作,既保护 开发单用户应用程序所进行的大量已有投资,也为开展协同工作提供了一 5 山东大学硕士学位论文 条便捷途径。 1 6 2应用程序共享的特点 应用程序共享实现的是使地理位置分散的用户通过计算机网络的连 接同远程的协作者共享某一应用程序,因此它具有以下特点: 分布性应用程序共享工具支持各协作者使用地理位置分散的计算 机。 操作共享和通信操作共享是应用程序共享的核心,而其共享信息是 通过网络的通信实现的。只有把所有协作者对应用程序的操作共享,才能 使协作者拥有一个运行情况一致的应用程序。 人人交互传统的单用户分布式系统是用户通过一个接口与系统进行 交互活动,分布式系统提供多种透明支持,使用户感觉似乎只有他一人在 使用系统,即单一的人一机交互。而应用程序共享恰恰相反,它实现的是 各协作者之间的交互,即人一人交互,在这种交互方式下,各协作者能互 相感知对方的存在、行为及状态,。人人交互方式通过人机、机机、机 人三个步骤实现。 协作与自治在应用程序共享环境下,各协作者相互依赖、相互协作 以共同完成某项任务,同时各协作者又扮演不同的角色,担负不同的职能。 1 6 3目前的应用共享工具介绍 现有的应用共享工具大多是在xw i n d o w 系统下设计的,例如x t v 【a b d e l w a h a b a n df e i t19 91 】,s h a r e d x g a r f i n k e le ta 1 19 9 4 ,和s h o w m e s h a r e d a p p 。在w i n d o w s 平台下,m i c r o s o f tn e t m e e t i n g 能够提供应用程 序的共享,后来s u nm i c r o s y s t e m s 发布了免费的s u n f o r u mf o rs o l a r i s , 这是一个在n e t m e e t i n g 上用i t u ( 国际电信联盟) 的t 1 2 0 协议互操作 的应用共享工具1 7 。这些应用共享工具最基本的特征是采用了集中式结 构,所有用户节点的输入被传输到服务器节点,而程序的任何图形输出的 变化要广播给所有的参与者。由于用户操作始终以相同的顺序发送给所有 用户,因此能够保证文档的一致性。该结构的缺点有:所有用户都必须与 服务器直接通信,会出现通信瓶颈现象:由于操作必须首先传送到服务器 山东大学硕士学位论文 以保证一致性,系统的响应时间较慢:如果用户要对某一个对象进行操作 时,必须首先对该对象加锁以避免操作冲突,从而限制了用户对该对象的 操作。 1 7 本文的主要工作和贡献 实时协同编辑系统是单用户编辑系统的延伸,它能够使用户在不同的 地点同时对同一个文档进行编辑工作。随着i n t e r n e t 技术的迅速发展,依 靠计算机技术和网络通讯技术来支持和加强设计者间协同工作效率和质 量的需求显得日益迫切。新世纪中,在这个瞬息万变的世界里,人们需要 在高科技的支持下跨越时间与空间的限制,以最优的合作方式、最快的设 计速度,生产出优质的产品,以适应和占领市场。实时协同编辑系统能够 使这一切成为可能,因此它的研究和实现对于许多行业有着重要意义。 通过以上对于c s c w 和应用共享系统的分析可以看出,应用共享系统对 于群件的一些基本特征:一致性维护、协同感知、语义保持等问题尚未得 到很好的解决。我们建立了一个基于复制式结构的原型系统c o n o t e p a d 来 实现协同编辑中的多项关键技术: a ) 利用w i n d o w s 的消息机制对鼠标和键盘事件进行捕获减少网络流量; b ) 在通信方面,已有的组播路由算法往往只从网络代价方面考虑,为了 适应协同编辑的实时性要求,设计了一个在减少网络代价的基础上, 又能在一定程度上使网络时延控制在较少范围内的可靠组播路由算 法。 c ) 对于协同编辑的全过程给出了维护一致性的方法,包括共享的启动、 迟到者的加入、共享的退出,在协同过程中,利用操作转换算法维护 并发一致性,并且使局部操作能快速得到反应; d ) 采用远程指针的协同感知技术,使指针的形状与角色相关联,并在指 针下方附上相应的语义,使用户能显式的感知到协同用户的存在。 c o n o t e p a d 系统对本文所提及的多项关键技术进行了测试,达到良好 效果。并可在此基础上进行协同编辑系统的深入研究。 7 山东大学硕士学位论文 1 8论文的组织结构 本论文共分为五大部分: 第一部分:前言介绍了c s c w 的概念、涉及的领域、分类、发展、研 究现状以及实现方法;同时介绍了应用程序共享的概念、特点并介绍了现 有的应用共享工具。 第二部分:介绍了应用共享的系统结构、实现方法以及一些关键技术 如:群组通信、交互与感知技术、传统的并发控制方法和迟到者问题。 第三部分:介绍了群组通信的体系结构,并详细介绍了i p 组播地址以 及已有的组播协议,通过对已有组播协议的分析,给出了一个组播算法, 它不仅考虑到网络代价问题,而且在一定程度上也能够解决时延问题。 第四部分:设计一个应用共享系统框架,说明了其工作流程,并具体 设计了一个监控程序来截获和回放事件,并对多光标的远程指针技术进行 了扩充,如加一个监控窗口、使指针语义重载等。针对协同编辑系统的特 点,论述了操作转换算法,并给出了一个基于记事本的协同编辑系统的实 例c o n o t e p a d 。 第五部分:对本论文进行了总结,并提出了其不足和有待于完善解决 的问题。 山东大学硕士学位论文 第2 章应用程序共享的相关技术 应用程序共享是协同工作环境中的一个重要工具,它可使多用户共享 单用户应用程序,能利用现有的应用软件的功能进行协同工作。 2 1 应用程序共享的系统结构 总体上讲,应用程序共享的系统结构可分为集中式结构、复制式结构、 混合式结构”“”。 图2 - 1集中式应用共享的系统结构 1 集中式结构:集中式应用共享也称为单拷贝应用共享,它是指被共享 的应用程序只安装在一台机器上,所有对该程序的输入都传给该应用程序 拥有者( a p p l i c a t i o no w n e r ) ,根据发言权控制选出输入命令给应用程序, 而应用程序的输出要通过网络传送给所有共享者( a p p lj c a t i o ns h a r e r ) 。 在任一时刻,只能有一个共享者对这个应用程序拥有操作控制权即输入 权,集中式应用程序共享的系统结构如图2 1 2 复制式结构:复 制式应用共享也 称为多拷贝应用 共享,它是指所有 参与共享的节点 上都安装同一个 被共享的应用程 序副本,合作者只 要利用一致化的输入达到应用程序的输出的致性即可。共享应用程序的 9 山东大学硕士学位论文 每个拷贝只在节点本地运行,复制式应用共享的系统结构如图2 - 2 所示。 在该结构中,只有输入事件在参加协同的各个成员之间分发传输,网 络流量小,而且是从本地应用程序的拷贝中获得相应的反应和输出,系统 的响应速度快,但是应用程序在各协作节点独立运行,很难保证一致的运 行环境和支撑环境,因此要保证各节点具有一致性的输出是比较困难的。 3 混合式结构 混合式结构试图将集中式结构与复制式结构进行综合,以发挥各自的 优点,并避免它们的缺点。与复制式结构类似,参与协作的各站点也将各 自维护目标对象的一个拷贝,能够在本地完成的各种处理将在本地立即执 行,而对于那些可能造成不一致的事件,才借助于集中式的服务器进行统 一调度,如服务器的集中处理程序主要用于完成用户登录、并发处理和共 享数据的访问控制等功能,降低了系统的一致性控制和复杂程度,虽然这 种方式并不能完全避免集中式结构的缺点,但由于此时客户机与服务器的 交互将明显减少,它对服务器的依赖程度将比完全集中式的结构低,同时, 服务器的负载也将得以降低,相应的响应速度也会相应提高。它的缺点是 结构本身较为复杂,系统的设计、开发和调试比较困难。 2 2 应用程序共享的三要素 通信、合作、协调是应用程序共享的三要素哺3 。 应用程序共享的基础是通信,协作编辑的通信用于在地理上分布的用 户之间,因此网络通信是至关重要的。群组通信是计算机网络与c s c w 的结合点。 应用程序共享的形式是合作,在群体活动中,任意一项活动都必须是 多人合作完成,有效的合作要求人们必须共享信息。 应用程序共享的关键是协调,如果一个组的活动是协调的,那么它的 通信和合作将会大大得到加强,一个不能很好进行协调的工作小组,它 的成员之间势必会经常发生冲突和重复劳动。 2 3 应用共享的实现方法 o 山东大学硕士学位论文 在m s w i n d o w s 系统中,无论实现集中式应用共享还是复制式应用共 享,关键都在于如何截获被共享程序对窗口的输出和操作者的输入。输出 包含两方面的内容:通过系统u s e r 模块对窗口发送的消息和系统调用g d i 图2 - 3m s w i n d o w s 系统的输出部件关系 函数在窗口内显示的图形 文字;输入主要包括键盘和 鼠标所产生的事件。3 。 2 3 1通过截获输 出实现应用共享 图2 - 3 给出了m s - w i n d o w s 系统中与输出有关的主要 部件,因此对输出的截取可 以在设备驱动a p i 层、图形函数a p i 层和窗口管理a p i 层进行截取,其中 多数系统是在窗口管理a p i 层实现输出的截取。 众所周知,w i n d o w s 系统有3 个主要子系统:内核k e r n e l 3 2 、用户 接口管理u s e r 3 2 和图形接口g d l 3 2 ,其中u s e r 3 2 中包含处理窗口消息的 代码,g d l 3 2 是图形接口的核心,包含了有关图形函数的代码。通常情况 下,被共享的应用软件大都是无源代码的软件,为了实现共享,必须编写 一个监视程序,驻留在内存中,负责执行截获应用程序中对上述d l l 库中 函数的调用。在应用程序对d l l 函数进行调用时获取控制,依据操作者的 意图对截获的信息进行有关处理,并将处理后的信息发送到各参与者所在 的站点,然后通过w i n d o w s 系统所提供的有关函数,对截获的有关事件进 行回放,当然,对要回放的事件需进行一定的输出控制。 另外,还可以通过截获被共享的应用程序的屏幕显示结果实现共享。 在实现时,应用程序所在的站点有一个截获机制负责将共享的应用窗口转 换成位图信息,并将位图发送给其它站点,其它站点有一个显示机制负责 将接收到的位图信息显示出来。 综上所述,通过截获输出实现应用共享的方式,可以分为传送位图和 传送绘制函数参数两种类型。位图方式的优点是被共享的窗口界面可以直 接在站点的虚拟窗口再现,缺点是网络数据传输量比较大。传送绘制函数 山东大学硕士学位论文 参数的优点是只传送绘制命令和它所要求的参数,即网络传输的数据量较 小;缺点是由于大多数绘制函数参数中包含有屏幕坐标位置信息,此时若 不同站点的软件运行环境不同时,可能会造成应用共享的显示界面不一 致。 2 3 2通过截获输入实现应用共享 在w i n d o w s 环境下,所有来自键盘、鼠标等的输入事件都由w i n d o w s 接收下来,并把它们放到相应的应用程序的“消息队列”中,应用程序 本身并不直接从外部输入设备获得操作者输入,而是当它需要时从应用程 序消息队列中得到下一个输入消息。w i n d o w s 首先将消息放到系统队列 中,然后根据消息发送的对象,从系统队列拷贝到相应的应用程序队列, 应用程序的消息循环不断地将消息从队列中取出。利用w i n d o w s 提供的过 滤函数,在事件到达应用程序之前将其截获,并在指定的回调函数中进行 处理。这样,可将一个成员的输入事件发送到其它成员,执行这些事件即 可得到相同的结果,从而实现了对应用程序的共享。其缺点是若两个站点 软环境不同,可能会造成应用共享的显示界面不一致,需要利用工作空间 坐标对其进行转换。 2 4 交互与感知技术 在c s c w 系统中,协同是通过参与者之间的交互完成的,因此,交互 是c s c w 系统中要考虑的一个重要因素,所以用户不仅要感知机器的反应 ( 人机交互) ,更重要的是感知其它用户的异地通馈( f e e d t h r o u g h ) 活动 ( 人人交互) ,即协同感知。 2 4 1交互 人机交互是计算机系统的一个重要组成部分,它是人与计算机之间传 递、交换信息的媒介,是计算机系统向用户提供的综合操作环境。它经历 了机器界面、批处理界面、命令行界面、全屏幕文本界面到图形用户界面。 这个发展过程也就是以机器和系统为中心转向以用户为中心,以h 西蒙 的话来说就是“对用户来说,界面就是系统本身”,强调系统应能适应并 支持对人来讲最为自然的交互方式,人机交互( h c i ) 已经作为一个重要 山东大学硕士学位论文 的研究领域出现。 人人交互是c s c w 中支持群体协同工作的用户交互,其表现形式称为 协同界面,它是c s c w 和h c i 的交叉产物,又称多用户界面( m u l t i u s e r i n t e r f a c e ) ,目前采用的方法有多媒体通信、远程光标、共享工作空间等 方法。 2 4 2 协同界面的分类 通过用户界面的显示来支持群体成员间的交互为协同界面,它一般分为三 类: 表示层的共享:即w y s i w i s ( w h a ty o us e ei sw h a tis e e 你见即我见) , 用户在同一时刻看到的是同一信息的相同显示,在界面上表现为一个共享 窗口,这个窗口的内容出现在所有参与者的某一窗口上,协作者通过共享 窗口处理和交换各种信息。这是一种紧耦合( t i g h tc o u p l e ) 、细粒度( f i n e g r a n u l a r i t y ) 的共享方法。 视图层的共享:在同一时刻,协同用户拥有相同的共享信息,但表示 的方法可以不同,每个用户可以采用适合自己的界面形式与之交互。如对 同一批数据,可以用表格的形式表示,也可用图形表示。 对象层共享:在同一时刻,不同用户可显示共享对象的不同部分,即 协同用户可以拥有不同的信息,表现形式也可以不相同。这是一种松耦合 ( r e l a x e dc o u p l e ) 、粗粒度( c o a r s eg r a n u l a r i t y ) 的共享方法。 2 4 3感知的特征与分类 感知是通过与环境的交互产生的认识,它通常包括认识的状态以及感 性认识和活动的动态过程,它主要有以下四个主要特征e 1 0 :1 感知是基 于时间和空间的对环境状态的了

温馨提示

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

评论

0/150

提交评论