基于Jini平台的分布式虚拟环境中的协同机制研究
【摘要】:
分布式虚拟环境(Distributed Virtual Environment, DVE)下的协同工作系统,不但可以支持地域分散的用户以协作方式完成共同的任务,而且能给用户提供一种更具真实感、沉浸感的协同工作环境,成为信息时代的发展趋势,它是分布计算、Web和虚拟现实技术的结合体,是今后网络、多媒体、虚拟现实技术和CSCW发展的重要方向。
由于目前国内外研究领域在DVE下协同应用的研究中,缺少对群组内协同工作的机制与方法的深入研究,开发出的系统专用性较强,对DVE下的应用中重要的、共性的协同机制,没有提供通用的软件支持,不同应用间可复用的程度低,开发出的协同应用系统不具扩展性、伸缩性。为此,本文采用Jini分布式计算平台,基于AO(Aspect-Oriented, AO)的思想,实现了Jini平台下的一个协同服务,对DVE下共性的协同机制提供支持,以简化DVE下协同应用系统的开发。
本文首先分析在开发DVE下的协同应用时,OO方法存在的问题,提出基于AO思想设计Jini平台下DVE中的协同服务,并提取出DVE下的协同应用中典型的一些属性,将这些属性模块化为独立的Aspects。
根据协同服务的功能需求与性能需求,设计系统的软件体系结构,将协同服务的功能划分为三个主要核心模块。利用这些模块,实现基于同步、异步模式的群组通信;基于同步、异步模式的交互协作;基于同步、异步模式的协同感知等功能。
采用基于令牌的并发控制算法,解决在协同服务中,多用户对共享资源进行操作时的数据一致性问题。
最后,将实现的协同机制,作为一项服务加入到Jini平台中,成为Jini平台的设施,使得平台中的用户可以利用协同服务,开发满足特定需求的协同应用。为验证协同服务对DVE应用开发的支持,利用协同服务开发了一个虚拟教室场景的协同应用,应用主要包括教师和学生间基于文本的群组通信,学生间交互协作编辑教师授课的文档、教师和学生间的协同感知等,开发的系统经在实验室局域网环境下测试,表明协同服务可以有效支持协同应用开发。