虚拟分布环境在下代互联网中应用

2024-02-09 12:38

本文主要是介绍虚拟分布环境在下代互联网中应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

经过多年的发展,虚拟现实已经在许多领域逐渐得到了广泛应用,表现出巨大的发展潜力。分布式虚拟环境(Distributed Virtual EnvironmentDVE),也称为分布式虚拟现实(Distributed Virtual RealityDVR)、网络化虚拟现实、多用户虚拟环境等,是随着计算机网络技术的快速发展和普及而发展起来的,它利用网络将不同地方的节点加以联结,构造一致共享的分布式虚拟现实环境,进一步拓展了虚拟现实研究与应用的范围,在经济建设、国防安全和文化教育等领域有着重大的应用前景。

 

基于HLA访真系统的研发

1996年至2000年,北京航空航天大学虚拟现实新技术教育部重点实验室联合国内军口和民口的一些重要单位完成了两期关于分布式虚拟战场环境研究的“863”重点课题DVENET的研究与开发工作。随着仿真规模的增加和应用需求的发展,传统DIS系统的局限性表现得越来越明显,基于DIS的系统在聚合级仿真、大规模仿真和武器评价等方面存在严重不足,成为阻碍项目进一步发展的重要因素。因此,从2001年开始,实验室全面转向基于HLAHigh Level Architecture,分布交互仿真技术的高层体系结构,分布交互仿真的最新标准)的研究和开发。

 

HLA旨在建立一个通用的高层仿真体系,达到各种模型和仿真的互操作和可重用性,它包括规则、接口规范和对象模型模板三部分,HLA系统包括运行时基础设施软件RTI(Run-Time Infrastructure)RTI之上的仿真应用,RTI提供HLA接口规范定义的六类服务,包括联盟管理、声明管理、对象管理、时间管理、所有权管理和数据分发管理等。

 

 

 

 

 

 

HLA核心技术RTI

 

功能及特点

作为HLA技术的核心,RTI软件具有重要的意义,对分布式虚拟环境的规模和效率有着重要的影响,美国、加拿大、瑞典、英国、日本、新加坡、法国以及中国等均大力支持RTI的开发。国际上流行的RTIDMSO RTI NGpRTIMAK-RTI等。随着HLA的推广应用,国内的研究机构也积极开展RTI技术的研究。比较典型的有北京航空航天大学虚拟现实实验室开发的BH RTI、国防科技大学机电工程与自动化学院开发的KD-RTI、国防科技大学计算机学院的YH-RTI、基于CORBA中间件技术开发的集中式StarLink与层次式StarRTI、航天工业总公司第二研究院开发的SSS-RTI、北京航空航天大学自动化学院开发的AST-RTI等,这些RTI有各自的研究背景,均已在不同的领域取得了一定的应用和成绩。

 

现有的RTI运行时支撑模式都是由RTI软件和一系列的辅助RTI工具来为开发应用者提供运行时服务和各种辅助诊断、监视、管理功能。不同于传统的RTI软件,加上一系列的辅助RTI工具的支撑模式,BH RTI本身就是一系列的RTI软件,它们根据不同用户的需求,协同来提供分布式虚拟环境的运行时服务。

 

BH RTI的分布式RTI运行体系中,各个RTI之间是对等的关系。如图2所示,有多个对等的RTI系统,RTI为那些连接到它上面的盟员提供服务,一般的情况下是每个RTI支撑所在主机节点上的一系列盟员。BH RTI以组播为基本通讯方式的,因此BH RTI之间的数据交换在支持组播路由协议的域间可以顺利进行,在组播能够路由到的一个或多个域之间的RTI系统就组成了一个BH RTI域。

 

这种分布式的RTI运行体系简单易用,同时具有很好的节点可扩展性,它要求基于这种运行体系的BH RTI需要由符合HLA接口规范的开发库和对等的RTI主运行程序两个部分组成,在需要的时候还可以通过RTIBridge来支持异类RTI以及多联盟之间的互操作。

 

整个BH RTI支撑的应用系统包括四大部分(如图3):盟员(HLA应用程序)LRC、核心RTIBH RTI系列。其中LRC以库的形式被链接到HLA应用程序中,支撑服务和一些本地服务由LRC提供,核心RTI提供分布交互仿真的运行时服务,包括HLA所定义的核心服务功能,其管理服务接口ManageIF提供了对RTI的状态进行显示和控制,以及BH RTI的开发功能。

LRC处于应用程序和RTI之间,向应用程序提供HLA所定义的服务接口,应用程序的开发不用关心RTI的具体运行机制,只需遵循HLA所定义的标准接口和规则等;LRC是核心RTI和应用程序相交互的那部分功能模块,以库的形式由应用程序调用,被链接到HLA应用程序中。核心RTIBH RTI的主运行程序,包括应用程序接口ServiceIF模块,系统服务模块,NALLinkerIF模块,管理服务模块等。

 

由于不同分布式虚拟环境应用的差异较大,研究应用不同阶段的需求不同,一种RTI不能够满足这些复杂多变的需求。BH RTI的重要特色之一就是具备面向不同用户需求、具有相同内核的系列RTI。根据进行HLA应用的用户开发应用水平差异较大的现状,开发了三种版本的BH RTILinux 下的BH RTI。这些BH RTI可以联合使用,在同一个RTI域中互操作。

 

BH RTI运行版易学易用,用户可以不用进行任何配置,RTI将自适应地提供服务,没有使用MFC,其运行效率最高;BH RTI研发版提供了应用程序运行时的大量诊断信息,便利应用程序开发者。由于提供了大量的信息诊断和显示,运行效率受到一些影响,适用于程序的研发尤其是调试阶段,但也能够满足普通的应用;BH RTI专业版提供图形化界面进行各种参数配置和运行时控制,容易使用,相比于目前国际上各种RTI复杂易错的配置文件,更好地方便了用户的应用。Linux下的BH RTI可以满足某些应用的需求,且其性能明显高于Windows下的版本。

 

RTI推广应用

组播技术是提高分布式虚拟环境系统规模的关键技术。为了便利用户根据应用需求进行组播地址分配,BH RTI提供了地形网格编辑器MapEditEx,用户可以根据真实的地形来直观地定义组播地址分配。如图5所示,MapEditEx实现了对实际地理区域的网格划分,以及网格选择、网格线编辑、局部放大、地理信息位图载入、自定义网格划分等编辑操作,为RTI提供网格划分和过滤信息,最终为用户根据演练需要实现最优的网格划分提供手段。

 

用户可以根据任务的需要在不同的地点部署不同稀疏程度的网格,还可以在不需要演练的地点进行反选,以在这些地方不分配组播地址或统一分配一个组播地址。网格划分和选择信息被存储在文件中,BH RTI在初始化的时候根据这些信息来初始化组播地址分配。

 

BH RTI实现了HLA 1.3IEEE 1516标准,在支撑规模上比国际同类系统有显著提高,可支持5000个盟员应用程序,近50000个动态对象的实时交互。基于BH RTI已经进行了大量军事仿真演练和三次多兵种异地联合军事仿真演练,图6所示的是一些演练的场景。目前国内已有80多家单位基于BH HLA/RTI开展研究和应用,其中有十多家军口和民口单位基于BH RTI建立的应用系统在相关领域已经取得了较好的成效,进入实际使用或运行中。

 

RTI与下一代互联网

近年来,随着互联网在社会生活各个领域的广泛应用和商业化的深入发展,现有互联网的不足逐渐显露,下一代互联网(Next Generation Internet, NGI)的研究和实践开始成为全世界关注的热点。随着网络设施的升级改造,网络质量大为改善,现有专用网上分布式虚拟环境的一些技术可以向互联网上推广,为解决跨城市分布式虚拟环境的应用问题提供了契机。北京航空航天大学虚拟现实实验室在中国下一代互联网示范工程CNGI (China Next Generation Internet) 项目的支持下,在CERNET2北航节点部署了一组基于IPv6BH RTI运行平台服务机群,在北京、上海、武汉、浙江、广州共5个城市的6个主要节点开展应用试验。

 

阶段测试表明,在CERNET2上,BH RTI有效支持了跨北京—上海的100个应用程序、数百实体的实时协同,128字节的平均单路延迟小于20ms。而在现有互联网应用上,这种十几毫秒的实时交互应用一般只出现在广域远程两个或有限几个节点之间的协同。从20068月开始,我们免费发放基于IPv6BH RTI及分布式网络游戏源码,供相关CERNET2单位研究和使用(www.hlarti.com)。

 

>>>分布式虚拟环境技术及其发展

 

分布式虚拟环境有基于互联网和基于专用网两大类。基于互联网的分布式虚拟环境可以追溯到70年代末出现的多用户游戏(Multiuser DungeonMUD)。虚拟现实建模语言(Virtual Reality Modeling LanguageVRML)第一次在Web上实现了三维的世界。2000年左右,大型多人在线游戏 (Massively Multiplayer Online GameMMPOG)等网络游戏迅速崛起,得到了大范围应用,国内流行的“石器时代”、“传奇”、“千年”、“命运”都属于这一类中的MMORPG (Massively Multiplayer Online Role Playing Game,大型在线角色扮演类游戏)

 

基于专用网的分布式虚拟环境应用最早、最广泛的领域是仿真领域,并称为分布交互仿真(Distributed Interactive SimulationDIS)或分布式仿真(distributed simulation)。分布交互仿真技术的发展经历了SIMNETSIMulator NETwork)、DIS协议、ALSP协议(Aggregate Level Simulation Protocol)等三个阶段,目前已进入高层体系结构HLAHigh Level Architecture)研究阶段。美、英、日、德等发达国家已经纷纷启动HLA的研究计划。HLA是分布交互仿真的最新标准,它旨在建立一个通用的高层仿真体系,达到各种模型和仿真的互操作和可重用性。由于HLA标准思想和技术的先进性,它已经成为分布式仿真领域官方和事实上的标准,是当前研究的重点和热点。美国军方从2000年开始在美军内部强制全面推广国防部标准HLA 1.32000年通过的IEEE P1516标准也已经在工业界开始应用。采用分布交互仿真技术构建分布式虚拟环境已成为军事领域和一些工业领域的基础技术。

 

随着互联网和分布式虚拟环境技术的发展,基于互联网和基于专用网这两大类的技术逐渐出现交叉,基于专用网的分布交互仿真的一些技术或思想被应用到互联网上,专用网上也有些应用采用基于互联网的技术。图1从这两个方面按照技术出现的时间简要给出了分布式虚拟环境技术的发展历程。

 

(转载自:http://sj.media.edu.cn/xiayidai/index2.php?id=2&IDx=255)

 

 

这篇关于虚拟分布环境在下代互联网中应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/694250

相关文章

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Spring Boot3虚拟线程的使用步骤详解

《SpringBoot3虚拟线程的使用步骤详解》虚拟线程是Java19中引入的一个新特性,旨在通过简化线程管理来提升应用程序的并发性能,:本文主要介绍SpringBoot3虚拟线程的使用步骤,... 目录问题根源分析解决方案验证验证实验实验1:未启用keep-alive实验2:启用keep-alive扩展建

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库