基于P2P-DVE的预下载机制
2014-12-02范辰
范 辰
同济大学软件学院,上海 200092
0 引言
传统虚拟现实系统都局限在本地使用,随着互联网发展分布式虚拟环境(Distributed Virtual Environments,DVE)[1]应运而生并得到广泛使用,而随着场景数据量不断增大,C/S模式中服务器成为了系统的“瓶颈”,因此P2P 在DVE 中的优势逐渐受到研究人员的重视[3]。
此外受限于视野范围,化身在DVE 中只能观察到局部场景,这就是用户的当前潜在可视场景集(CPVS,Current Potential Visible Scenes);而用户未来可能需要的场景就是未来潜在可视场景集(FPVS,Future Potential Visible Scenes)[2]。因此当用户已经下载完CPVS 时,可通过预先判断并预下载FPVS 使用户的浏览体验变得更为顺畅[2]。
本文提出了适合P2P-DVE 的预下载方法,将化身和邻居的FPVS 都考虑在内并进行预下载。
1 相关工作
DVE 中节点在CPVS 已下载后可提前下载FPVS,这样当视点移动到下一位置时CPVS 就有可能已被下载了。传统预下载策略分为基于历史运动轨迹和基于领域扩张的预下载[2]。
基于历史运动轨迹的预下载主要有算术平均法、窗口法以及指数加权平移平均法、MLM 法。文献[5]介绍了算术平均法和窗口法,它们都只是简单计算历史向量的算术平均值,同时该文还提出了指数加权平移平均法EWMA,考虑了不同时刻的平移向量对预测的影响。文献[9]提到MLM 预下载方法,假设只通过鼠标来控制并通过预测鼠标位置来间接预测化身位置。
基于领域扩张的预下载主要有SNP 和PBNP 算法。文献[6]提出了SNP 法,通过预下载节点周围的单元格来实现预下载,其简单易实现但当节点在几个单元格间快速来回平移则会降低性能,因此[7]提出了改进算法PBNP,在更小范围内预下载,虽然效率更高但原理与SNP 一样,仍会一定程度地影响性能。
综上所述,现有DVE 预下载机制均基于集中式DVE,只考虑自身的运动轨迹或趋势。但P2P-DVE 在预下载时还应考虑邻居的FPVS,因此要设计一种将自身和邻居需求都考虑在内的方法,综合计算自身和邻居的FPVS。
2 基于P2P-DVE 的预下载机制
2.1 P2P-DVE 预下载的基本思想
正因为上述传统预下载机制缺陷的存在,同时认识到P2P-DVE 中的预下载机制应该利用P2P 网络的特性,本文提出了一种全新的预下载方法。
现有预下载机制都是基于集中式DVE 系统设计的。在集中式DVE 系统中每个节点都只与服务器建立联系,不会与其它节点进行通信。因此在这种系统中,所有节点都只需向服务器请求下载自己当前需要的数据,在网络空闲时再下载未来可能需要的数据即可,因此也仅需要“自私”地计算自身未来的运动趋势就能达到预下载的要求。
但在P2P-DVE 中的情况完全不同。成熟的P2P-DVE 系统需要尽可能弱化服务器在场景部署中的作用,DVE 系统中的任意两个节点都能建立联系,每一个节点都能从任一节点处下载场景数据或者向任一节点提供场景数据。在P2P-DVE 系统中体现的是“分享”的思想。
正是基于以上考虑,本文认为在P2P-DVE 中预下载也应该体现P2P“分享”的概念。P2P-DVE 系统中的节点进行预下载时,除考虑化身自身未来可能的运动趋势外,也需要考虑周围邻居化身需要的FPVS。如此,基于P2P-DVE 系统的预下载机制的设计应运而生。
2.2 P2P-DVE 预下载算法的设计
2.2.1 预下载区域(AOP)
预下载时AOI 内数据(即CPVS)已获取完毕,需要关注的是比AOI 更大范围的场景,因此本文在AOI 外围定义了另一个圆,叫预下载区域(AOP,Area of Prefetching),是以化身位置为圆心,R 为半径的圆,其中r < R,r 为AOI 半径。
2.2.2 视觉关注度及热度的计算方法
视觉关注度代表了物体对于节点的视觉重要度。设物体为Oi,Oi 到化身视点距离为Di,Oi 偏离视线角度设为Ai,化身AOP 的半径为RAOP,这样就可得到计算视觉关注度V(Oi)的公式[4]:
λ表示在视觉关注度中物体距离视点距离因素占的比例,(1-)λ表示在视觉关注度中物体偏离视线角度的因素所占比例,总结来说λ决定了视觉关注度中距离和角度各占的比例。从公式 3-1 可以看出,一个物体离视点越近、偏离视线的角度越小,那么该物体对节点化身的视觉感官更重要,相对该视点来说视觉关注度也就越高。
如前所述,在P2P-DVE 中,需要时刻体现“分享”的概念,所以在进行预下载时,也要将其他节点需要的FPVS 场景集考虑在预下载列表内。但当需要请求的物体过多时,若请求顺序失当,就会产生化身本身的浏览体验不流畅以及无法顾及其他节点的需求等等问题。因此,本文引入热度的概念:在一定空间范围内的所有资源请求者,对于某一资源实体需求的总数。
假设在一定空间范围S 内有m 个化身,分别为A1,A2,…,Am(m ≥1),对于某一物体Oi,假设需要物体Oi 的节点有j 个,分别为Op1,Op2,…,Opj(j ≤m),则物体Oi 在S 内的热度为:
在当前的预下载问题中,某个物体的热度就是指在一定空间范围内需要该物体的用户个数。
2.2.3 确定预下载优先级
若某一场景只有自身需要,那对该场景只需要计算“视觉关注度”即可;若某一场景只有周围邻居节点需要,那对该场景只需要计算“热度”即可;若某一场景自身及邻居都需要,那进行优先级计算时既需要考虑“视觉关注度”,也需要考虑“热度”。
由于在整个场景预下载列表中,较重要的应该被优先下载,而较次要的则应该被适当延后下载,所以当计算出各个场景的“视觉关注度”和“热度”后,需要根据重要程度进行优先级排名。简单来说,在整个预下载列表中“视觉关注度”越高,“热度”越高的场景重要性也越高,反之亦然。所以每一个场景的“视觉关注度”或者“热度”都需要分别除以列表中“视觉关注度”或“热度”的最大值进行归一化,再依次进行排名。
假设“视觉关注度”列表中最大的值为Vmax,“热度”列表中最大的值为Hmax。则某一物体Oi 的“视觉关注度”和“热度”系数分别为:
所以将公式 3-3 和公式 3-4 代入,就可以得到对于物体Oi 的优先级排名的计算公式为:
其中,α为“视觉关注度”在优先级计算公式中占的比例,(1-α)为“热度”在优先级计算公式中占的比例。若某物体Oi 只被预下载的节点自身所关注则α=1,若只被周围邻居节点所关注则α=0,否则为0.5。
从公式 3-5 可知,物体Oi 的“视觉关注度”和“热度”越高,那优先级也越高。
3 实验及结果
本文设计的P2P-DVE 预下载机制是在开源仿真平台FLoD[8][11]中实现运行。原始FLoD 未实现预下载,因此本文的预下载是针对FLoD 进行对比测试的。
图4.1 为下载场景的节点命中率,可看出P2P-DVE 的预下载机制有效帮助系统提高了数据请求命中率,提升了系统的整体性能。
图4.1 场景下载节点命中率折线图
4 结论
本文提出了基于P2P-DVE 的预下载机制,将自身和邻居需求都考虑在内,实验结果也表明该机制提高了命中率,提升了系统性能。
限于时间与能力,本文设计的算法还未将P2P 优势完全发掘,还应将物体的模型复用度[10]考虑在内进一步提高传输效率。
[1]潘志庚,姜晓红,张明敏,等.“分布式虚拟环境综述”.软件学报,2000,4,11:461-467.
[2]王伟,贾金原,张晨曦,江崟.“大规模虚拟场景渐进式传输的研究进展”.计算机科学,2010,37,2 (2010):38-43.
[3]朱军,龚建华,张建钦,吴娴.“基于对等网络结构的分布式大规模地形实时漫游研究”.地理与地理信息科学,2006,22,1:40-43.
[4]Wang,W.,Jia,J.-Y.,Yu,Y.,and Hu,S.-Y.“Progressive Cache Replacement for Massive Peer-to-Peer WebVR Worlds”.In Proc.of Annu.Workshop Netw.Syst.Support Games,NetGames(2010).
[5]Chim,J.,Lau,R.W.H.,Leong,V.,et.al.“CyberWalk:a web-based distributed virtual walkthrough environment”.IEEE Transactions on Multimedia 5,4(2003),503-515.
[6]Koltun,V.,Chrysanthou,Y.,and Cohen-Or Dl.“Hardware-accelerated from-region visibility using a dual ray space”.In Proc.of EGWR’01 (2001),204-214.
[7]Zheng,Z.,Chan,T.K.Y.“Optimized neighbor prefetch and Cache for client-server based walkthrough”.In Proc.of Cyberworlds’03 (2003),143-150.
[8]Hu,S.Y.,Huang,T.H.,Chang,S.C.,Sung,W.L.,Jiang,J.R.,and Chen,B.Y.“FLoD:A Framework for Peer-to-Peer 3D Streaming”.In Proc.of IEEE INFOCOM(2008),2047-2055.
[9]Li,T.Y.,Hsu,W.H.“A data management scheme for effective walkthrough in large-scale virtual environments”.Visual Computer 20,10 (2004),626-634.
[10]Wen L,Jia J,Gao Y.Lightweight Web3D modeling by finding and reusing repeated components[C]//Proceedings of the 10th International Conference on Virtual Reality[10]Continuum and Its Applications in Industry.ACM,2011:533-540.
[11]http://ascend.sourceforge.net/.