网格应用之远程沉浸应用

来源:百度文库 编辑:神马文学网 时间:2024/04/25 20:46:33
网格应用之远程沉浸应用 作者:刘鹏 清华大学计算机系 目录:
背景
应用举例
虚拟历史博物馆
协同学习环境NICE
数据可视化协同分析环境CAVE6D
远程沉浸与网格的结合


远程沉浸(Tele-immersion)是一种特殊的网络化虚拟现实环境。这个环境可以是对现实或历史的逼真反映,可以是对高性能计算结果或数据库的可视化,也可以是个纯粹虚构的空间。“沉浸”的意思是人可以完全融入其中:各地的参与者通过网络聚在同一个虚拟空间里,既可以随意漫游,又可以相互沟通,还可以与虚拟环境交互,使之发生改变。打个比方,远程沉浸是一部观众可以进入其中的科幻电影。远程沉浸可以广泛应用于交互式科学可视化、教育、训练、艺术、娱乐、工业设计、信息可视化等许多领域。本章5.1节介绍了远程沉浸的来历,5.2节介绍了它的应用一些。从实现上看,虽然没有网格的支持,照样可以开发远程沉浸应用,但有了网格的支持,实现这类应用会简单得多,所以5.3节重点讨论了远程沉浸与网格的结合问题。

背景

远程沉浸这个术语是在1996年10月,由伊利诺州大学芝加哥分校的电子可视化实验室EVL (Electronic Visualization Laboratory)最早提出来的[55]。远程沉浸建立在高速网络基础上,是协同可视化环境CVE (collaborative virtual environments)、音频、视频会议以及超级计算机及海量数据存贮的有机融合[56]。远程沉浸使分布在各地的使用者能够在相同的虚拟空间协同工作,就像是在同一个房间一样[57],甚至可以将虚拟环境扩展到全球范围内,创造出“比亲自到那儿还要好”的环境[55]。EVL的负责人Tom DeFanti预测远程沉浸将成为计算网格的关键应用之一[59]。顺便说一句,Tom DeFanti是著名的计算机图像专家,早在1977年就参与过第一部《星球大战》中特技效果的制作,曾获ACM杰出贡献奖。

远程沉浸与一些研究人员所提到的协同虚拟环境CVE (Collaborative Virtual Environment) 或分布式虚拟环境DVE (Distributed Virtual Environment)是不同的,它使用了更多视频和图像技术,所创造的虚拟环境更为逼真[55]。更重要的是,它将“人/机交互”模式扩展成为“人/机/人协作”模式,不仅提供协同环境,还将对数据库的实时访问、数据挖掘、高性能计算等集成了进来,为科技工作者提供了一种崭新的协同研究模式[58] 。

远程沉浸的基本构想,最早可以追溯到1995年的I-WAY项目[59]。I-WAY为Information Wide Area Year的缩写,它是一个为期一年的研究计划,试验用异步转移模式ATM (asynchronous transfer mode) 宽带网络连接全国范围内的超级计算机中心、虚拟现实研究机构和应用开发机构,在上面试验了约60个应用项目[60]。在圣地亚哥举行的Supercomputing 95年会上,I-WAY对其应用项目作了精彩展示,其中,那些将超级计算机与虚拟现实设备相结合、用共享的虚拟空间推动计算科学协同研究的项目尤其引人注目。虽然相比现在的远程沉浸环境而言,I-WAY还只算是个原型,它的网络服务质量没有保障,带宽不够充足,对人机交互的平台支持不够,但I-WAY开创了一个崭新的局面,之后有50多家研究团体沿着I-WAY所指明的方向,继续研究新的软硬件平台、虚拟现实技术和应用[59]。

在Supercomputing 95上,有一种虚拟现实设备大放异彩,它的名字叫CAVE 自动虚拟环境(CAVE Automatic Virtual Environment),是由EVL的Carolina Cruz-Neira、Daniel J. Sandin和Tom DeFanti于1991年共同提出的[61],如图 5?1[60]所示。



图 5?1 CAVE虚拟现实环境


CAVE是一个10×10×9英尺的小房间,它的四面和顶上使用高清晰背投产生一个360度的三维立体环境,在该场景中有一个与该人对应的卡通角色(avatar),它代表真实的人在三维空间活动。人置身其中,头戴一副LCD快门眼镜,两臂绑有电磁跟踪系统,再配以三维环境声音,角色的位置、方向以及举手投足都与真人相同,会让人产生非常逼真的临场感[60]。

应用举例

过去几年里,EVL与十几家合作伙伴一起,开发了一些具有远程沉浸特征的虚拟现实应用[62],这些应用的典型特征是[58]:

1 它们依据科学计算结果和数据库构造虚拟环境,当参加者沉浸在虚拟环境中时,他们不仅能够看见对方,还能用做手势或说话进行交互,当他们离开时,虚拟环境本身可以随着科学计算和数据的变化仍然存在并继续演化;

2 在虚拟环境中以角色代表,这个角色比人在真实环境中的能力要强得多:它们能够站在分子链可视化图像的某个环节前进行讨论;也能钻进设计好的汽车模型里,体验汽车是否舒适;还能站在云层的顶端,观察风暴的形成。他们既可以让自身像星系一样大,以便纵览宇宙风云;也可以让自己像虫子一样小,以便钻进一个做跌落试验的物品中,并与物品一起跌落,找到防止物品在跌落过程中损坏的办法。

3 人与虚拟环境是交互的,可以通过改变超级计算的参数等手段,动态改变虚拟环境的形成方式。

本节将介绍几个典型的远程沉浸应用。

虚拟历史博物馆

共享的爱奥尼亚(Shared Miletus)项目[63]让2000年前的希腊爱奥尼亚古城复活,参观者可以在虚拟的城池中畅游,如图 5?2[64]所示。



图 5?2 参观者进入虚拟希腊古城


该项目由希腊世界基金会FHW(Foundation of the Hellenic World)与CVL共同完成。FHW是一个非盈利组织,其任务是保存和再现希腊历史和文化[65]。最初,FHW已将爱奥尼亚古城建模,并用ImmersaDesk[66]和ReaCTOR虚拟环境在博物馆里展示出来,参观者可以在城市上空“飞行”或进入殿堂参观。CVL的加入是为了让该环境体现远程沉浸的特征,让参观者也可以从网络上进行参观:所有来自不同地方的人进入同一个虚拟环境,他们互相之间可以自由交流。为了方便浏览,既可以由真人担任虚拟环境中的向导,也可以指定一个虚拟的向导,“他”能够带领大家到不同地点参观,会说多国语言,还可以根据听众的要求将解说简化或细化[64]。

除了希腊古城外,中国敦煌莫高窟价值连城的壁画也被数字化并用在远程沉浸环境中[67],如图 5?3[68]所示。之所以选择它,是因为敦煌被认为是亚欧丝绸之路的起点,而敦煌石窟是人类历史上不可多得的珍宝。该项目于1998年完成,是历史学家、艺术家和计算机科学家协同研究的结晶。



图 5?3 虚拟的敦煌莫高窟


协同学习环境NICE

备受关注的NICE——叙事式沉浸的建设者及协同环境 (Narrative Immersive Constructionist / Collaborative Environments)——是伊利诺州大学芝加哥分校电子可视化实验室EVL和交互计算环境实验室CEL(Interactive Computing Environments Laboratory)合作推出的。NICE是一个探索性质的协同学习环境,专为6至10岁孩子设计[70]。



图 5?4 一个儿童正在NICE虚拟花园中活动


孩子们进入CAVE虚拟现实环境中(如图 5?4[70]所示),戴着特制的眼镜,手中拿着一个特制的小棒用于交互操作,每一个孩子都有一个角色,来自不同地方的孩子可以在这个虚拟的花园中打招呼、交谈、互相学习。他们既可以将鲜花或蔬菜拿在手上观察,又可以将自己缩小,“深入”观察植物的根系;他们既可以除去杂草并将它扔到肥料堆,又可以顺手摘下天边飘过的雨云给花儿浇灌,或者将天边的太阳拉过来让花朵享受阳光,等等。除此之外,这些植物本身也会有一些反馈信息,例如,当给花浇水太多时,花儿会撑起一把小伞,让孩子们得到一个直接的反馈——过多浇水会让花儿受不了。NICE有趣又有益,孩子们不仅非常喜欢在里边玩耍,还可以轻松地了解原本很复杂的生态关系[69]。

数据可视化协同分析环境CAVE6D

CAVE6D[73]是CAVE5D与远程沉浸环境CAVERNsort相结合的产物。CAVE5D[72]由弗吉尼亚大学ODU(Old Dominion University)和威斯康星-麦迪威大学WISC(University of Wisconsin-Madison)联合研制的一个可配置虚拟现实应用框架,它是在Vis5D[71]的支持下运作的。Vis5D是一个强大的图形库,能够提供显示三维数字数据的可视化支持,广泛应用于大气、海洋及其他类似模型的可视化中[75]。VERNsort[74]是一个用来建造协作式网络应用的开放源码平台,主要为高吞吐量的协作应用(不一定是CAVE应用)提供网络支持。另外,它还提供了建造远程沉浸应用的专门模块。



图 5?5  几个参与者就可视化图像的某一区域进行讨论


由于CAVERNsoft的支持,CAVE6D变成了一个远程沉浸环境,如图 5?5所示。它允许多个用户在虚拟的环境里对超级计算数据进行可视化并与数据进行交互。参与者们不仅以角色的方式进入三维可视化场景中自由漫游,还可以改变可视化参数,如循环矢量、温度、风的速度、鱼群的分布等[75] 。CAVE6D不仅提供了交互式的可视化手段,还提供了让各地参与者协同交流和研究的手段[76]。

远程沉浸与网格的结合

从网格的角度来看,远程沉浸算得上是个“另类”,它与分布式超级计算、分布式仪器系统和数据密集型计算的性质有很大的不同:一方面,虽然它能把高性能计算的结果用一种全新的方式可视化出来,但它本身对高性能计算的要求并不高;另一方面,它并没有集网络上的大量资源于一身。那么,远程沉浸问题到底还算不算网格问题呢?

让我们回到网格的定义上来:动态多机构虚拟组织中的资源共享和协同问题解决(Resource sharing and coordinated problem solving in dynamic, multi-institutional virtual organizations.[77])。显然,参与远程沉浸应用的各方是来自不同的虚拟组织的,他们所要共享的资源就是这个共同的虚拟环境,而共享的目的就是要协同解决问题,因此,远程沉浸还是一个典型的网格问题,只不过它所共享的是一个集中的虚拟环境(这个虚拟环境是所共享资源的映象,如超级计算机、数据库等),而主要不是共享参与者的资源罢了。

更进一步,网格是未来Internet的发展方向,也就是说,网格会成为未来的网络基础设施,几乎所有的应用都将基于网格,因而极富创新精神、有广阔发展空间的远程沉浸应用,也会毫无例外地依赖于网格的支持。另外,远程沉浸以崭新的手段极大地促进了网络化协作,这也正是网格的精髓所在。由于远程沉浸与其他网格应用有很大的不同,它对网格有比较特殊的需求[59]:

1 服务质量(QoS)机制

远程沉浸对服务质量的要求主要有三个方面:(1) 提供最低服务保障,并能为每一个数据流指定相对优先级;(2) 如果服务质量因为网络的动态变化而出现改变,能够通知服务接受方,并给出弥补建议;(3) 能够评估服务质量预测的可靠性。

2 网格编程环境

远程沉浸应用将大大依赖于网格分布式计算编程环境的支持:(1) 远程沉浸应用需要查找或发现资源,如远程沉浸服务器、计算服务器、数据库、仪器等,因此网格的资源定位器和资源目录将大有用场;(2) 需要有编程工具使远程沉浸应用能够与复杂的服务质量体系相结合,并能监视网格资源的实际使用情况,如网格带宽、计算能力、数据等;(3) 需要有分布式资源管理工具和调度工具的支持,使远程沉浸应用能够用一种抽象的方法指定资源,例如,用类型指定,而不是用名字指定。

3 先进的网络协议

远程沉浸应用需要不断扩展用户容量,以便让更多用户加入进来,但是如果用户数增加得太多,数据传输量将出现组合爆炸,这时就需要有革新的网络协议,例如,现有的Internet尚不能很好支持多播(multicast),如果网格能够提供这样的功能,应用程序的能力将大大增强。

4 性能监控和度量

当前的Internet不太可能给出端到端通信性能下降的原因,更不能预测某个分布式应用将能达到的网络性能,而远程沉浸应用是非常需要知道这些信息的——不仅包括某个数据流的性能,还包括整个应用的性能。所以,网格平台必须具有监控和度量网络性能的能力。

5 资源调度

资源调度对于远程沉浸应用是非常关键的,因为它不仅要满足整个应用的资源需求,还需要实时完成调度。在很多情况下,需要有一些特别的调度策略,如交互式调度和资源预留服务。