面向广域网远程虚拟环境的组播扩展方法

文档序号:7928102阅读:294来源:国知局
专利名称:面向广域网远程虚拟环境的组播扩展方法
技术领域
本发明属于分布式系统与计算机网络技术领域,具体地说是一种面向广域网远程虚拟环 境的组播扩展方法,把组播的思想从局域网扩展到广域网远程虚拟环境中。
背景技术
分布交互仿真以网络技术为基础,将地理分布的同构或异构的仿真器集成在一个时间和 空间相一致的环境中,并实现它们之间的互操作,从而完成特定的任务。分布交互仿真对于 解决复杂、综合系统的研究、设计、验证具有重要意义,它为地理分布的仿真平台之间互操 作提供了可能,使仿真活动的方式具有更大的灵活性。
随着仿真应用在广度及深度上的发展,广域网上的分布交互仿真是未来发展趋势。分布 式交互仿真是由许多分散在不同地理区域的仿真结点机通过局域网或广域网互联而成,具有 仿真结点数目大、网络资源受限以及交互数据量大且频繁等特点,因此其面临的一个主要技 术问题是系统规模的可扩展性。
系统规模主要受系统资源的限制,主要包括处理机资源及网络带宽资源。其中处理机资 源主要用于仿真实体模型计算、仿真数据收发的网络处理开销及必要的管理开销(如数据过 滤开销等)。随着分布交互仿真规模(实体和仿真结点机数目)的增加,必然加大了仿真平 台间信息交换量。过多的网络数据量会导致网络拥塞,影响数据延迟特性,而对于现有的处 理机平台,受操作系统等因素的影响,网络处理开销相对较大,对大量网络数据的处理会影 响正常的仿真运行。
组播技术是一种有效的减少冗余数据的方法,并且在局域网内仿真应用的数据过滤方面 的应用是相当成功的。但是在广域网上应用组播方式进行数据过滤却存在着许多问题,主要 包括扩展性、网络管理、实施和高层应用的支持,IP组播中,所有介于发送者和接收者之间 的路由器、集线器、交换机、TCP/IP协议栈、防火墙等,均需要支持组播,这种设备上的 要求是很难实现;并且,组播组是稀有资源,各种网络设备所能支持的组播组数量很有限, 组播组的建立和重新配置的代价相当大。
总之,在广域网上的分布式仿真环境中,如何设计行之有效的组播扩展方法,既可以使 系统高效运行,又可以占用少量的网络带宽,还可以在最大程度上保证数据过滤的效率性,从而直接影响了整个分布式系统的正确性和规模性,是计算机分布式系统领域^f面临的重
点、难点问题之一。目前,国内外文献中均未见此相关报道。

发明内容
本发明的技术解决问题克服现有技术的不足,提供一种面向广域网远程虚拟环境的组 播扩展方法,该既可以使系统高效运行,又可以占用少量的网络带宽,还可以在最大程度上 保证数据过滤的效率性,达到缓解因仿真规模扩大对网络带宽和处理资源带来的压力的目 的。
本发明采取的技术方案是面向广域网远程虚拟环境的组播扩展方法,步骤如下
(1) 在每个局域网内的加入一个网关,各个局域网之间通过网关互相通信;
(2) 把整个虚拟环境预先划分成多个单元网格,步骤(1)所述的网关为每个单元网格 分配一个组播地址和一个网格标识号ID,并保存组播地址与网格ID的对应关系,同时该网 关还要加入自己所在局域网的所有组播组;
(3) 将虚拟环境中的所有仿真成员的更新区域和订购区域均映射为步骤(2)所述单元 网格的集合;
(4) 步骤(1)所述的网关负责维护本局域网的订购区域集合,并将该信息发给已经建 立连接的广域网上的其他网关,收到订购区域集合的网关将该信息维护在一个网关列表中;
(5) 网关在步骤(2)所述的某个组播组中收到仿真成员的状态更新信息后,将根据步 骤(4)中所述的网关列表中所保存的各个网关的订购区域集合进行匹配,如果该组播组对 应的单元网格在某个网关的订购区域集合中,则将该状态更新信息发送给该网关,如果不在 该网关的订购区域集合中,则不将该状态更新信息发送给该网关;
(6) 步骤(5)中的该网关接收到广域网上其他网关发来仿真成员的状态更新信息后, 会将该信息转发到本局域网的相对应的组播组。
所述步骤(1)中的网关与仿真应用之间的通讯接口相同,仿真应用节点不需要因为网 关的加入而进行更改。
所述步骤(1)中的所有的网关均是采用对等的通讯方式,它们通过TCP连接交换各自 局域网中的仿真数据。
所述内步骤(2)中的单元网格是在仿真开始之前划分好的,为静态数据,在仿真的过 程中均不发生改变。
所述步骤(3)中将虚拟环境中的所有仿真成员的更新区域和订购区域均映射为步骤(2) 所述单元网格的集合的方法为如果某个网格中有一部分属于某个更新区域或者订购区域, 就把这个网格加入到该更新区域或订购区域对应的网格集合中。所述步骤(4)中网关负责锥护本局域网的订购区域集合的方法为7
(4.1) 网关需要为自己所在局域网的每个单元网格维护一个订购成员集合,如果某个单 元网格属于一个仿真成员的订购区域所对应的单元网格的集合,则将这个仿真成员加入到该 单元网格的订购成员集合中;
(4.2) 网关所在局^!t网的订购区域就是(4.1)中订购成员集合不为空的单元网格的集合。
所述步骤(5)中所述的状态信息为一个二元组,即〈网格ID,数据信息>,其中ID为 网格标识,数据信息为转发的仿真成员的状态更新信息。
所述步骤(6)中转发到本局域网的相对应的组播组的方法为
(6.1) 目的网关收到广域网上其他网关发来状态信息后,网关根据自己保存的网格ID 和组播地址的对应关系,获得该网格ID对应的组播地址;
(6.2) 目的网关将仿真成员的状态更新信息转发到(6.1)所述的组播地址中。 本发明与现有的技术方法相比的有益效果在于
(1) 本发明重点考虑了系统的可行性和扩展性,采用这种基于网关的广域网远程 虚拟环境的组播扩展方法,利用组播的思想,过滤不相关数据,可以在缓解因仿真规模 扩大对网络带宽和处理资源带来的压力的同时,又减少了对网络设备的要求。
(2) 网关采用对等的连接方式,每个网关代表了自己所在局域网的仿真信息,这 些网关之间并且采用的可靠的TCP连接交互仿真数据,可以有效的避免在广域网上设置 中心服务器带来的单点瓶颈问题。
(3) 网关负责搜集和处理本局域网的订购信息,各仿真节点不必发送额外的数据, 对仿真节点来说,网关代表了广域网上仿真信息,广域网上的设备对仿真节点来说是透 明的,从而减少了采用本发明对仿真节点带来的额外开销。


图1为本发明基于网关的虚拟仿真环境架构图; 图2为本发明的流程图; 图3为本发明的组播组及区域示意图; 图4为本发明的网关数据转发流程图; 图5为本发明的网关数据接收流程图; 图6为本发明的数据传输示意图。
具体实施例方式
本发明采用基于网关的远程虚拟环境构建方法并且结合点对点方式与IP组播混合使用的通讯方式达到了在广域网上利用"组播"的思想进行过滤,减少网络上数据传输量 的发明目的,利于系统的维护和扩展,适用于大规模分布式系统。 1、构建基于网关的远程虚拟环境
在虚拟环境的每个局域网中的加入一个网关,各个局域网之间通过网关互相通信。 如图l所示,局域网内的仿真应用节点都将通过该局域网的网关完成与广域网上仿真应 用节点的数据通信,从仿真应用节点的角度来看,局域网中的网关就代替了广域网中的 所有仿真应用信息,广域网上的网络条件及仿真应用的部署对于局域网内的仿真应用节 点是透明的。
广域网上网关之间采用点对点的方式进行通讯,每个网关代表了自己所在局域网的 仿真信息,并且这些网关之间采用可靠的TCP连接交互仿真数据,可以有效的避免在广 域网上设置中心服务器带来的单点瓶颈问题。而同一个局域网内的仿真应用节点和本局 域网的网关之间采用IP组播的方式进行通讯。网关与仿真应用之间的通讯接口相同, 仿真应用节点不需要因为网关的加入而进行更改。
基于网关的远程虛拟环境是实现面向广域网远程虚拟环境的组播扩展方法的基础, 网关成为广域网间点对点信息传递方式的实体,并且可以保证局域网内的组播通讯方 式,同时各个局域网还可以复用同一个组播地址而不互相干扰。
2、单元网格划分
基于区域的数据过滤方法中,通常采用路径空间(Routing SpaCe)的概念。路径空 间是一个抽象的多维坐标系,仿真成员使用该坐标系来描述能够发送和希望接收的数据 的类型和条件。路径空间的子集称为区域(Region),成员通过更新区域(Update Region) 声明它要发送的数据,通过订购区域(SubsCripetkm Region)声明它要接收的数据。通 过更新区域和订购区域的匹配计算,数据发送方和接收方之间建立对应的关系,并通过 这种关系指导数据的产生和路由。
这种方法在仿真规模比较小的时候效率较高,当仿真规模较大的时候,如果一个成 员改变了更新区域,那么需要找出所有与该更新区域相交的订购者,并重新计算是否相 交,所花费的代价是不能忍受的。
本发明釆用一种相对简单的匹配方案,可以在保证在大规模仿真的情况下,匹配的代价 不会太高。首先将虚拟环境划分为固定大小的单元网格,网关为局域网内的每个单元网格分 配组播地址和一个网格标识号ID,并保存其对应关系,如图3所示虚拟环境划分为25个单
元网格,网关为Cu单元网格分配组播地址An,为C23单元网格分配组播地址A23,于是每
一个单元网格就对应了一个组播组。网关加入所有的组播组,用来获得仿真成员的状态更新信息。每个局域网内的单元阿格的划分,组播地址的分配,以及网关保存的网格单元与组播 地址的对应关系都属于静态数据,在仿真开始之前就完成分配的。 3、区域的映射
虚拟环境中的所有仿真成员的更新区域和订购区域均映射为单元网格的集合,映射方法
为如果某个网格中有一部分属于某个更新区域或者订购区域,就把这个网格加入到该更新 区域或订购区域对应的网格集合中。
如图3所示以二维的路径空间为例对本发明作进一步的说明假设在一个仿真系统的某 个时间点,网格单元的划分情况及仿真成员的更新、订购区域的分布情况如图2所示。其中
Ufl, Uf5表示仿真成员fl和fi的更新区域,Sfl, Se, Se, Sf4分别表示仿真成员&, f2, f3,
f4的订购区域,区域的对应标识在区域的左上角;cu, 012...<:55表示单元网格,网格的对应 标识位于每个网格的中心位置。
各个区域映射成网格单元集合的情况为
Ufl={C21, C22, C23, C24, C31, C32, C33, C34}
Uf3={C34, C35, C44, C45}
Sfl={Ci3, C14, C23, C24}
Sf2={Ci4, C15, C24, C25}
Sb={C34, C35, C44, C45}
Sf4={C32, C33, C34, C42, C43, C44 }
每个仿真成员需要加入自己的订购区域所对应的组播组,如仿真成员fl需要加入为单 元网格Sf!-(Cn, C14, C23, C24 }所对应的组播组,仿真成员f2需要加入为单元网格Sf2
={ C14, C15, C24, <:25}所对应的组播组。每个仿真成员通过更新区域所对应的组播组来发
布它的更新数据,通过订购区域所对应的组播组来获得它所订购的信息。
4、局域网的订购区域
网关需要为自己所在局域网的每个单元网格维护一个订购成员集合,如果某个单元网格 属于一个仿真成员的订购区域所对应的单元网格的集合,则将这个仿真成员加入到该单元网 格的订购成员集合中;
网关所在局域网的订购区域就是订购成员集合不为空的单元网格的集合。如图3所示时 刻,仿真环境中各个网格对应的订购成员集合如下所示 Q产(}
c12={}
C13={fl}C14={fl, f2} C15={f2}
C33={f4} C34={。, f4}
C55={ }
网关的订购区域就是订购成员不为空的单元网格的集合Ucj={ C13, C14, C15, C23, C24, C25, C32, C33, C34, C35, C42, C43, C44, C45}。同时网关的订购区域也等于它所在局域网 内所有成员订购区域的并集,在图2中即是U(i-Sf]USQUSf3USf4。
对于网关来说单元网格是静态的,是在仿真之前预先划分好的,通过单元网格的订购成 员集合来获得网关的订购区域是比较容易的,网关的订购区域就是订购成员不为空的单元网 格的集合。而如果通过网关所在局域网内所有仿真成员的订购区域的并集来获得网关的订购 区域,计算的消耗比较大。
当局域网内一个仿真成员扩大它的订购区域或者新增一个仿真成员的订购区域的时候, 网关直接在对应的单元网格的订购成员集合中增加该仿真成员,如果网格单元的订购成员集
合原来为空,则更新此网格单元加入到网关订购区域中。例如图3中,仿真成员fl扩大它
的订购区域Sfl^d2, C13, C14, C22, C23, C24},网关在d2和C22网格单元对应的订购集 合中增加仿真成员fl,由于Cu和C22网格单元的订购成员集合原来为空,于是在网关的订
购区域中增加这两个网格单元,获得UG^d2, c13, c14, c15, c22, c23, c24, c25, c32,
C33, C34, C35, C42, C43, C44, C45}。
当局域网内一个仿真成员縮小它的订购区域或者一个仿真成员退出系统的时候,网关需 要从对应的网格单元的订购成员集合中删除该仿真成员,如果网格单元的订购成员集合变为
空,则更新网关订购区域,将此网格单元删除。例如图3中,仿真成员f2退出系统,它的 订购区域Se^d4, C15, C24, C25},网关将在d4, C15, C24, C25所对应的订购成员集合中
删除仿真成员G,其中ds和C25单元网格对应的订购成员集合变为空,于是在网关的订购
区域中删除这两个网格单元,获得UG^d2, C13, C14, C22, C23, C24, C32, C33, C34, C35,
C42, C43, C44, C45〉。
5、网关间数据传输
在基于网关的远程虚拟环境的框架中,各个网关之间是采用对等的连接方式,并且它们 采用可靠的连接发送数据。网关间数据的传输流程图如图4和图5所示。图4为本发明的网关数据转发流程图,网关在某个组播组收到仿真成员的状态更新信息
后,将根据所保存的网关列表中所保存的各个网关的订购区域进行匹配,如果该组播组对应
的单元网格在某个网关的订购区域中,则将该状态更新信息发送给这个网关,不过滤该信息; 如果不在网关的订购区域中,则过滤该信息。
源网关向匹配成功后得到的目的网关发送一个二元组<网格ID,数据信息>,其中网格 ID为源网关收到该信息的组播组对应的单元网格标识,数据信息为转发的仿真成员的状态
更新信息。
图5为本发明的网关数据接收流程图,收到广域网上其他网关发来二元组〈网格ID,数 据信息>后,网关根据自己保存的网格ID和组播地址的对应关系,找到该网格ID对应的组 播地址。网关从二元组<网格ID,数据信息>中还原出仿真成员的状态更新信息后,再转发 到相应组播地址中,完成广域网上的组播传递。
下面用一个如图6所示的仿真系统来详细说明,共有4个局域网共同完成仿真工作,每 个网关的订购区域为阴影部分。当网关l的订购区域发生变化的时候,或者与新的网关建立 连接成功的时候,都会将自己最新的订购区域UcH信息发送给相关网关,同时也收到了来自 网关2, 3, 4的最新的订购区域的信息,在网关l的网关列表中,将为每个已经建立连接的 网关保存它们的订购区域信息UG2, UG3, UG4。
当网关1收到来自某个组播组的数据更新信息,如来自网格单元C32对应的组播组 的信息,首先查询网关列表,中各个网关的订购区域信息,,发现网格单元C32在网关2和
网关4的订购区域内,而不在网关3的订购区域内。所以该信息对于网关3所在的局域 网属于冗余信息,对于网关2和网关4所在的局域网属于有效信息。网关l将发送一个 二元组<0 2,数据信息>发送给网关2和网关4,网关2和网关4在接收到了该二元组后, 首先査找自己的网格单元与组播地址的对应关系表,查到在自己所在局域网中,网格单 元C42所对应的组播地址为A42,再将二元组中的数据信息发送到该组播组中,从而完 成数据在广域网中的组播传递。
权利要求
1、面向广域网远程虚拟环境的组播扩展方法,其特征在于步骤如下(1)在每个局域网内的加入一个网关,各个局域网之间通过网关互相通信;(2)把整个虚拟环境预先划分成多个单元网格,步骤(1)所述的网关为每个单元网格分配一个组播地址和一个网格标识号ID,并保存组播地址与网格ID的对应关系,同时该网关还要加入自己所在局域网的所有组播组;(3)将虚拟环境中的所有仿真成员的更新区域和订购区域均映射为步骤(2)所述单元网格的集合;(4)步骤(1)所述的网关负责维护本局域网的订购区域集合,并将该信息发给已经建立连接的广域网上的其他网关,收到订购区域集合的网关将该信息维护在一个网关列表中;(5)网关在步骤(2)所述的某个组播组中收到仿真成员的状态更新信息后,将根据步骤(4)中所述的网关列表中所保存的各个网关的订购区域集合进行匹配,如果该组播组对应的单元网格在某个网关的订购区域集合中,则将该状态更新信息发送给该网关,如果不在该网关的订购区域集合中,则不将该状态更新信息发送给该网关;(6)步骤(5)中的该网关接收到广域网上其他网关发来仿真成员的状态更新信息后,会将该信息转发到本局域网的相对应的组播组。
2、 根据权利要求1所述的面向广域网远程虚拟环境的组播扩展方法,其特征在于所 述步骤(1)中的网关与仿真应用之间的通讯接口相同,仿真应用节点不需要因为网关的加 入而进行更改。
3、 根据权利要求1所述的面向广域网远程虚拟环境的组播扩展方法,其特征在于所 述步骤(1)中的所有的网关均是采用对等的通讯方式,它们通过TCP连接交换各自局域网中的仿真数据。
4、 根据权利要求1所述的面向广域网远程虚拟环境的组播扩展方法,其特征在于所述内步骤(2)中的单元网格是在仿真开始之前划分好的,为静态数据,在仿真的过程中均不发生改变。
5、 根据权利要求1所述的面向广域网远程虚拟环境的组播扩展方法,其特征在于所 述步骤(3)中将虚拟环境中的所有仿真成员的更新区域和订购区域均映射为步骤(2)所述 单元网格的集合的方法为如果某个网格中有一部分属于某个更新区域或者订购区域,就把 这个网格加入到该更新区域或订购区域对应的网格集合中。
6、 根据权利要求1所述的面向广域网远程虚拟环境的组播扩展方法,其特t!E在于所 述步骤(4)中网关负责维护本局域网的订购区域集合的方法为(4.1) 网关需要为自己所在局域网的每个单元网格维护一个订购成员集合,如果某个单 元网格属于一个仿真成员的订购区域所对应的单元网格的集合,则将这个仿真成员加入到该 单元网格的订购成员集合中;(4.2) 网关所在局域网的订购区域就是(4.1)中订购成员集合不为空的单元网格的集合。
7、 根据权利要求1所述的面向广域网远程虚拟环境的组播扩展方法,其特征在于所 述步骤(5)中所述的状态信息为一个二元组,g卩〈网格ID,数据信息>,其中ID为网格标 识,数据信息为转发的仿真成员的状态更新信息。
8、 根据权利要求1所述的面向广域网远程虚拟环境的组播扩展方法,其特征在于所 述步骤(6)中转发到本局域网的相对应的组播组的方法为(6.1) 目的网关收到广域网上其他网关发来状态信息后,网关根据自己保存的网格ID和组播地址的对应关系,获得该网格ID对应的组播地址;(6.2) 目的网关将仿真成员的状态更新信息转发到(6.1)所述的组播地址中。
全文摘要
面向广域网远程虚拟环境的组播扩展方法,步骤为(1)在每个局域网内的加入网关;(2)整个虚拟环境划分成单元网格,网关为每个单元网格分配组播地址和网格标识号;(3)所有仿真成员的更新区域和订购区域均映射为单元网格的集合;(4)网关负责维护本局域网的订购区域集合,并将该信息发给已经建立连接的广域网上的其他网关;(5)网关从某个组播组中收到仿真成员的状态更新信息后,将根据各个网关的订购区域集合进行匹配是否将该状态更新信息发送给该网关;(6)该网关接收到广域网上其他网关发来仿真成员的状态更新信息后,会将该信息转发到本局域网的相对应的组播组。本发明既可以使系统高效运行,又可以占用少量的网络带宽,还可以在最大程度上保证数据过滤的效率性,达到缓解因仿真规模扩大对网络带宽和处理资源带来的压力的目的。
文档编号H04L12/28GK101420354SQ20081022746
公开日2009年4月29日 申请日期2008年11月26日 优先权日2008年11月26日
发明者庆 于, 威 吴, 忠 周, 赵沁平 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1