專利名稱:面向廣域網遠程虛擬環(huán)境的組播擴展方法
技術領域:
本發(fā)明屬于分布式系統與計算機網絡技術領域,具體地說是一種面向廣域網遠程虛擬環(huán) 境的組播擴展方法,把組播的思想從局域網擴展到廣域網遠程虛擬環(huán)境中。
背景技術:
分布交互仿真以網絡技術為基礎,將地理分布的同構或異構的仿真器集成在一個時間和 空間相一致的環(huán)境中,并實現它們之間的互操作,從而完成特定的任務。分布交互仿真對于 解決復雜、綜合系統的研究、設計、驗證具有重要意義,它為地理分布的仿真平臺之間互操 作提供了可能,使仿真活動的方式具有更大的靈活性。
隨著仿真應用在廣度及深度上的發(fā)展,廣域網上的分布交互仿真是未來發(fā)展趨勢。分布 式交互仿真是由許多分散在不同地理區(qū)域的仿真結點機通過局域網或廣域網互聯而成,具有 仿真結點數目大、網絡資源受限以及交互數據量大且頻繁等特點,因此其面臨的一個主要技 術問題是系統規(guī)模的可擴展性。
系統規(guī)模主要受系統資源的限制,主要包括處理機資源及網絡帶寬資源。其中處理機資 源主要用于仿真實體模型計算、仿真數據收發(fā)的網絡處理開銷及必要的管理開銷(如數據過 濾開銷等)。隨著分布交互仿真規(guī)模(實體和仿真結點機數目)的增加,必然加大了仿真平 臺間信息交換量。過多的網絡數據量會導致網絡擁塞,影響數據延遲特性,而對于現有的處 理機平臺,受操作系統等因素的影響,網絡處理開銷相對較大,對大量網絡數據的處理會影 響正常的仿真運行。
組播技術是一種有效的減少冗余數據的方法,并且在局域網內仿真應用的數據過濾方面 的應用是相當成功的。但是在廣域網上應用組播方式進行數據過濾卻存在著許多問題,主要 包括擴展性、網絡管理、實施和高層應用的支持,IP組播中,所有介于發(fā)送者和接收者之間 的路由器、集線器、交換機、TCP/IP協議棧、防火墻等,均需要支持組播,這種設備上的 要求是很難實現;并且,組播組是稀有資源,各種網絡設備所能支持的組播組數量很有限, 組播組的建立和重新配置的代價相當大。
總之,在廣域網上的分布式仿真環(huán)境中,如何設計行之有效的組播擴展方法,既可以使 系統高效運行,又可以占用少量的網絡帶寬,還可以在最大程度上保證數據過濾的效率性,從而直接影響了整個分布式系統的正確性和規(guī)模性,是計算機分布式系統領域^f面臨的重
點、難點問題之一。目前,國內外文獻中均未見此相關報道。
發(fā)明內容
本發(fā)明的技術解決問題克服現有技術的不足,提供一種面向廣域網遠程虛擬環(huán)境的組 播擴展方法,該既可以使系統高效運行,又可以占用少量的網絡帶寬,還可以在最大程度上 保證數據過濾的效率性,達到緩解因仿真規(guī)模擴大對網絡帶寬和處理資源帶來的壓力的目 的。
本發(fā)明采取的技術方案是面向廣域網遠程虛擬環(huán)境的組播擴展方法,步驟如下
(1) 在每個局域網內的加入一個網關,各個局域網之間通過網關互相通信;
(2) 把整個虛擬環(huán)境預先劃分成多個單元網格,步驟(1)所述的網關為每個單元網格 分配一個組播地址和一個網格標識號ID,并保存組播地址與網格ID的對應關系,同時該網 關還要加入自己所在局域網的所有組播組;
(3) 將虛擬環(huán)境中的所有仿真成員的更新區(qū)域和訂購區(qū)域均映射為步驟(2)所述單元 網格的集合;
(4) 步驟(1)所述的網關負責維護本局域網的訂購區(qū)域集合,并將該信息發(fā)給已經建 立連接的廣域網上的其他網關,收到訂購區(qū)域集合的網關將該信息維護在一個網關列表中;
(5) 網關在步驟(2)所述的某個組播組中收到仿真成員的狀態(tài)更新信息后,將根據步 驟(4)中所述的網關列表中所保存的各個網關的訂購區(qū)域集合進行匹配,如果該組播組對 應的單元網格在某個網關的訂購區(qū)域集合中,則將該狀態(tài)更新信息發(fā)送給該網關,如果不在 該網關的訂購區(qū)域集合中,則不將該狀態(tài)更新信息發(fā)送給該網關;
(6) 步驟(5)中的該網關接收到廣域網上其他網關發(fā)來仿真成員的狀態(tài)更新信息后, 會將該信息轉發(fā)到本局域網的相對應的組播組。
所述步驟(1)中的網關與仿真應用之間的通訊接口相同,仿真應用節(jié)點不需要因為網 關的加入而進行更改。
所述步驟(1)中的所有的網關均是采用對等的通訊方式,它們通過TCP連接交換各自 局域網中的仿真數據。
所述內步驟(2)中的單元網格是在仿真開始之前劃分好的,為靜態(tài)數據,在仿真的過 程中均不發(fā)生改變。
所述步驟(3)中將虛擬環(huán)境中的所有仿真成員的更新區(qū)域和訂購區(qū)域均映射為步驟(2) 所述單元網格的集合的方法為如果某個網格中有一部分屬于某個更新區(qū)域或者訂購區(qū)域, 就把這個網格加入到該更新區(qū)域或訂購區(qū)域對應的網格集合中。所述步驟(4)中網關負責錐護本局域網的訂購區(qū)域集合的方法為7
(4.1) 網關需要為自己所在局域網的每個單元網格維護一個訂購成員集合,如果某個單 元網格屬于一個仿真成員的訂購區(qū)域所對應的單元網格的集合,則將這個仿真成員加入到該 單元網格的訂購成員集合中;
(4.2) 網關所在局^!t網的訂購區(qū)域就是(4.1)中訂購成員集合不為空的單元網格的集合。
所述步驟(5)中所述的狀態(tài)信息為一個二元組,即〈網格ID,數據信息>,其中ID為 網格標識,數據信息為轉發(fā)的仿真成員的狀態(tài)更新信息。
所述步驟(6)中轉發(fā)到本局域網的相對應的組播組的方法為
(6.1) 目的網關收到廣域網上其他網關發(fā)來狀態(tài)信息后,網關根據自己保存的網格ID 和組播地址的對應關系,獲得該網格ID對應的組播地址;
(6.2) 目的網關將仿真成員的狀態(tài)更新信息轉發(fā)到(6.1)所述的組播地址中。 本發(fā)明與現有的技術方法相比的有益效果在于
(1) 本發(fā)明重點考慮了系統的可行性和擴展性,采用這種基于網關的廣域網遠程 虛擬環(huán)境的組播擴展方法,利用組播的思想,過濾不相關數據,可以在緩解因仿真規(guī)模 擴大對網絡帶寬和處理資源帶來的壓力的同時,又減少了對網絡設備的要求。
(2) 網關采用對等的連接方式,每個網關代表了自己所在局域網的仿真信息,這 些網關之間并且采用的可靠的TCP連接交互仿真數據,可以有效的避免在廣域網上設置 中心服務器帶來的單點瓶頸問題。
(3) 網關負責搜集和處理本局域網的訂購信息,各仿真節(jié)點不必發(fā)送額外的數據, 對仿真節(jié)點來說,網關代表了廣域網上仿真信息,廣域網上的設備對仿真節(jié)點來說是透 明的,從而減少了采用本發(fā)明對仿真節(jié)點帶來的額外開銷。
圖1為本發(fā)明基于網關的虛擬仿真環(huán)境架構圖; 圖2為本發(fā)明的流程圖; 圖3為本發(fā)明的組播組及區(qū)域示意圖; 圖4為本發(fā)明的網關數據轉發(fā)流程圖; 圖5為本發(fā)明的網關數據接收流程圖; 圖6為本發(fā)明的數據傳輸示意圖。
具體實施例方式
本發(fā)明采用基于網關的遠程虛擬環(huán)境構建方法并且結合點對點方式與IP組播混合使用的通訊方式達到了在廣域網上利用"組播"的思想進行過濾,減少網絡上數據傳輸量 的發(fā)明目的,利于系統的維護和擴展,適用于大規(guī)模分布式系統。 1、構建基于網關的遠程虛擬環(huán)境
在虛擬環(huán)境的每個局域網中的加入一個網關,各個局域網之間通過網關互相通信。 如圖l所示,局域網內的仿真應用節(jié)點都將通過該局域網的網關完成與廣域網上仿真應 用節(jié)點的數據通信,從仿真應用節(jié)點的角度來看,局域網中的網關就代替了廣域網中的 所有仿真應用信息,廣域網上的網絡條件及仿真應用的部署對于局域網內的仿真應用節(jié) 點是透明的。
廣域網上網關之間采用點對點的方式進行通訊,每個網關代表了自己所在局域網的 仿真信息,并且這些網關之間采用可靠的TCP連接交互仿真數據,可以有效的避免在廣 域網上設置中心服務器帶來的單點瓶頸問題。而同一個局域網內的仿真應用節(jié)點和本局 域網的網關之間采用IP組播的方式進行通訊。網關與仿真應用之間的通訊接口相同, 仿真應用節(jié)點不需要因為網關的加入而進行更改。
基于網關的遠程虛擬環(huán)境是實現面向廣域網遠程虛擬環(huán)境的組播擴展方法的基礎, 網關成為廣域網間點對點信息傳遞方式的實體,并且可以保證局域網內的組播通訊方 式,同時各個局域網還可以復用同一個組播地址而不互相干擾。
2、單元網格劃分
基于區(qū)域的數據過濾方法中,通常采用路徑空間(Routing SpaCe)的概念。路徑空 間是一個抽象的多維坐標系,仿真成員使用該坐標系來描述能夠發(fā)送和希望接收的數據 的類型和條件。路徑空間的子集稱為區(qū)域(Region),成員通過更新區(qū)域(Update Region) 聲明它要發(fā)送的數據,通過訂購區(qū)域(SubsCripetkm Region)聲明它要接收的數據。通 過更新區(qū)域和訂購區(qū)域的匹配計算,數據發(fā)送方和接收方之間建立對應的關系,并通過 這種關系指導數據的產生和路由。
這種方法在仿真規(guī)模比較小的時候效率較高,當仿真規(guī)模較大的時候,如果一個成 員改變了更新區(qū)域,那么需要找出所有與該更新區(qū)域相交的訂購者,并重新計算是否相 交,所花費的代價是不能忍受的。
本發(fā)明釆用一種相對簡單的匹配方案,可以在保證在大規(guī)模仿真的情況下,匹配的代價 不會太高。首先將虛擬環(huán)境劃分為固定大小的單元網格,網關為局域網內的每個單元網格分 配組播地址和一個網格標識號ID,并保存其對應關系,如圖3所示虛擬環(huán)境劃分為25個單
元網格,網關為Cu單元網格分配組播地址An,為C23單元網格分配組播地址A23,于是每
一個單元網格就對應了一個組播組。網關加入所有的組播組,用來獲得仿真成員的狀態(tài)更新信息。每個局域網內的單元阿格的劃分,組播地址的分配,以及網關保存的網格單元與組播 地址的對應關系都屬于靜態(tài)數據,在仿真開始之前就完成分配的。 3、區(qū)域的映射
虛擬環(huán)境中的所有仿真成員的更新區(qū)域和訂購區(qū)域均映射為單元網格的集合,映射方法
為如果某個網格中有一部分屬于某個更新區(qū)域或者訂購區(qū)域,就把這個網格加入到該更新 區(qū)域或訂購區(qū)域對應的網格集合中。
如圖3所示以二維的路徑空間為例對本發(fā)明作進一步的說明假設在一個仿真系統的某 個時間點,網格單元的劃分情況及仿真成員的更新、訂購區(qū)域的分布情況如圖2所示。其中
Ufl, Uf5表示仿真成員fl和fi的更新區(qū)域,Sfl, Se, Se, Sf4分別表示仿真成員&, f2, f3,
f4的訂購區(qū)域,區(qū)域的對應標識在區(qū)域的左上角;cu, 012...<:55表示單元網格,網格的對應 標識位于每個網格的中心位置。
各個區(qū)域映射成網格單元集合的情況為
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 }
每個仿真成員需要加入自己的訂購區(qū)域所對應的組播組,如仿真成員fl需要加入為單 元網格Sf!-(Cn, C14, C23, C24 }所對應的組播組,仿真成員f2需要加入為單元網格Sf2
={ C14, C15, C24, <:25}所對應的組播組。每個仿真成員通過更新區(qū)域所對應的組播組來發(fā)
布它的更新數據,通過訂購區(qū)域所對應的組播組來獲得它所訂購的信息。
4、局域網的訂購區(qū)域
網關需要為自己所在局域網的每個單元網格維護一個訂購成員集合,如果某個單元網格 屬于一個仿真成員的訂購區(qū)域所對應的單元網格的集合,則將這個仿真成員加入到該單元網 格的訂購成員集合中;
網關所在局域網的訂購區(qū)域就是訂購成員集合不為空的單元網格的集合。如圖3所示時 刻,仿真環(huán)境中各個網格對應的訂購成員集合如下所示 Q產(}
c12={}
C13={fl}C14={fl, f2} C15={f2}
C33={f4} C34={。, f4}
C55={ }
網關的訂購區(qū)域就是訂購成員不為空的單元網格的集合Ucj={ C13, C14, C15, C23, C24, C25, C32, C33, C34, C35, C42, C43, C44, C45}。同時網關的訂購區(qū)域也等于它所在局域網 內所有成員訂購區(qū)域的并集,在圖2中即是U(i-Sf]USQUSf3USf4。
對于網關來說單元網格是靜態(tài)的,是在仿真之前預先劃分好的,通過單元網格的訂購成 員集合來獲得網關的訂購區(qū)域是比較容易的,網關的訂購區(qū)域就是訂購成員不為空的單元網 格的集合。而如果通過網關所在局域網內所有仿真成員的訂購區(qū)域的并集來獲得網關的訂購 區(qū)域,計算的消耗比較大。
當局域網內一個仿真成員擴大它的訂購區(qū)域或者新增一個仿真成員的訂購區(qū)域的時候, 網關直接在對應的單元網格的訂購成員集合中增加該仿真成員,如果網格單元的訂購成員集
合原來為空,則更新此網格單元加入到網關訂購區(qū)域中。例如圖3中,仿真成員fl擴大它
的訂購區(qū)域Sfl^d2, C13, C14, C22, C23, C24},網關在d2和C22網格單元對應的訂購集 合中增加仿真成員fl,由于Cu和C22網格單元的訂購成員集合原來為空,于是在網關的訂
購區(qū)域中增加這兩個網格單元,獲得UG^d2, c13, c14, c15, c22, c23, c24, c25, c32,
C33, C34, C35, C42, C43, C44, C45}。
當局域網內一個仿真成員縮小它的訂購區(qū)域或者一個仿真成員退出系統的時候,網關需 要從對應的網格單元的訂購成員集合中刪除該仿真成員,如果網格單元的訂購成員集合變?yōu)?br>
空,則更新網關訂購區(qū)域,將此網格單元刪除。例如圖3中,仿真成員f2退出系統,它的 訂購區(qū)域Se^d4, C15, C24, C25},網關將在d4, C15, C24, C25所對應的訂購成員集合中
刪除仿真成員G,其中ds和C25單元網格對應的訂購成員集合變?yōu)榭?,于是在網關的訂購
區(qū)域中刪除這兩個網格單元,獲得UG^d2, C13, C14, C22, C23, C24, C32, C33, C34, C35,
C42, C43, C44, C45〉。
5、網關間數據傳輸
在基于網關的遠程虛擬環(huán)境的框架中,各個網關之間是采用對等的連接方式,并且它們 采用可靠的連接發(fā)送數據。網關間數據的傳輸流程圖如圖4和圖5所示。圖4為本發(fā)明的網關數據轉發(fā)流程圖,網關在某個組播組收到仿真成員的狀態(tài)更新信息
后,將根據所保存的網關列表中所保存的各個網關的訂購區(qū)域進行匹配,如果該組播組對應
的單元網格在某個網關的訂購區(qū)域中,則將該狀態(tài)更新信息發(fā)送給這個網關,不過濾該信息; 如果不在網關的訂購區(qū)域中,則過濾該信息。
源網關向匹配成功后得到的目的網關發(fā)送一個二元組<網格ID,數據信息>,其中網格 ID為源網關收到該信息的組播組對應的單元網格標識,數據信息為轉發(fā)的仿真成員的狀態(tài)
更新信息。
圖5為本發(fā)明的網關數據接收流程圖,收到廣域網上其他網關發(fā)來二元組〈網格ID,數 據信息>后,網關根據自己保存的網格ID和組播地址的對應關系,找到該網格ID對應的組 播地址。網關從二元組<網格ID,數據信息>中還原出仿真成員的狀態(tài)更新信息后,再轉發(fā) 到相應組播地址中,完成廣域網上的組播傳遞。
下面用一個如圖6所示的仿真系統來詳細說明,共有4個局域網共同完成仿真工作,每 個網關的訂購區(qū)域為陰影部分。當網關l的訂購區(qū)域發(fā)生變化的時候,或者與新的網關建立 連接成功的時候,都會將自己最新的訂購區(qū)域UcH信息發(fā)送給相關網關,同時也收到了來自 網關2, 3, 4的最新的訂購區(qū)域的信息,在網關l的網關列表中,將為每個已經建立連接的 網關保存它們的訂購區(qū)域信息UG2, UG3, UG4。
當網關1收到來自某個組播組的數據更新信息,如來自網格單元C32對應的組播組 的信息,首先查詢網關列表,中各個網關的訂購區(qū)域信息,,發(fā)現網格單元C32在網關2和
網關4的訂購區(qū)域內,而不在網關3的訂購區(qū)域內。所以該信息對于網關3所在的局域 網屬于冗余信息,對于網關2和網關4所在的局域網屬于有效信息。網關l將發(fā)送一個 二元組<0 2,數據信息>發(fā)送給網關2和網關4,網關2和網關4在接收到了該二元組后, 首先査找自己的網格單元與組播地址的對應關系表,查到在自己所在局域網中,網格單 元C42所對應的組播地址為A42,再將二元組中的數據信息發(fā)送到該組播組中,從而完 成數據在廣域網中的組播傳遞。
權利要求
1、面向廣域網遠程虛擬環(huán)境的組播擴展方法,其特征在于步驟如下(1)在每個局域網內的加入一個網關,各個局域網之間通過網關互相通信;(2)把整個虛擬環(huán)境預先劃分成多個單元網格,步驟(1)所述的網關為每個單元網格分配一個組播地址和一個網格標識號ID,并保存組播地址與網格ID的對應關系,同時該網關還要加入自己所在局域網的所有組播組;(3)將虛擬環(huán)境中的所有仿真成員的更新區(qū)域和訂購區(qū)域均映射為步驟(2)所述單元網格的集合;(4)步驟(1)所述的網關負責維護本局域網的訂購區(qū)域集合,并將該信息發(fā)給已經建立連接的廣域網上的其他網關,收到訂購區(qū)域集合的網關將該信息維護在一個網關列表中;(5)網關在步驟(2)所述的某個組播組中收到仿真成員的狀態(tài)更新信息后,將根據步驟(4)中所述的網關列表中所保存的各個網關的訂購區(qū)域集合進行匹配,如果該組播組對應的單元網格在某個網關的訂購區(qū)域集合中,則將該狀態(tài)更新信息發(fā)送給該網關,如果不在該網關的訂購區(qū)域集合中,則不將該狀態(tài)更新信息發(fā)送給該網關;(6)步驟(5)中的該網關接收到廣域網上其他網關發(fā)來仿真成員的狀態(tài)更新信息后,會將該信息轉發(fā)到本局域網的相對應的組播組。
2、 根據權利要求1所述的面向廣域網遠程虛擬環(huán)境的組播擴展方法,其特征在于所 述步驟(1)中的網關與仿真應用之間的通訊接口相同,仿真應用節(jié)點不需要因為網關的加 入而進行更改。
3、 根據權利要求1所述的面向廣域網遠程虛擬環(huán)境的組播擴展方法,其特征在于所 述步驟(1)中的所有的網關均是采用對等的通訊方式,它們通過TCP連接交換各自局域網中的仿真數據。
4、 根據權利要求1所述的面向廣域網遠程虛擬環(huán)境的組播擴展方法,其特征在于所述內步驟(2)中的單元網格是在仿真開始之前劃分好的,為靜態(tài)數據,在仿真的過程中均不發(fā)生改變。
5、 根據權利要求1所述的面向廣域網遠程虛擬環(huán)境的組播擴展方法,其特征在于所 述步驟(3)中將虛擬環(huán)境中的所有仿真成員的更新區(qū)域和訂購區(qū)域均映射為步驟(2)所述 單元網格的集合的方法為如果某個網格中有一部分屬于某個更新區(qū)域或者訂購區(qū)域,就把 這個網格加入到該更新區(qū)域或訂購區(qū)域對應的網格集合中。
6、 根據權利要求1所述的面向廣域網遠程虛擬環(huán)境的組播擴展方法,其特t!E在于所 述步驟(4)中網關負責維護本局域網的訂購區(qū)域集合的方法為(4.1) 網關需要為自己所在局域網的每個單元網格維護一個訂購成員集合,如果某個單 元網格屬于一個仿真成員的訂購區(qū)域所對應的單元網格的集合,則將這個仿真成員加入到該 單元網格的訂購成員集合中;(4.2) 網關所在局域網的訂購區(qū)域就是(4.1)中訂購成員集合不為空的單元網格的集合。
7、 根據權利要求1所述的面向廣域網遠程虛擬環(huán)境的組播擴展方法,其特征在于所 述步驟(5)中所述的狀態(tài)信息為一個二元組,g卩〈網格ID,數據信息>,其中ID為網格標 識,數據信息為轉發(fā)的仿真成員的狀態(tài)更新信息。
8、 根據權利要求1所述的面向廣域網遠程虛擬環(huán)境的組播擴展方法,其特征在于所 述步驟(6)中轉發(fā)到本局域網的相對應的組播組的方法為(6.1) 目的網關收到廣域網上其他網關發(fā)來狀態(tài)信息后,網關根據自己保存的網格ID和組播地址的對應關系,獲得該網格ID對應的組播地址;(6.2) 目的網關將仿真成員的狀態(tài)更新信息轉發(fā)到(6.1)所述的組播地址中。
全文摘要
面向廣域網遠程虛擬環(huán)境的組播擴展方法,步驟為(1)在每個局域網內的加入網關;(2)整個虛擬環(huán)境劃分成單元網格,網關為每個單元網格分配組播地址和網格標識號;(3)所有仿真成員的更新區(qū)域和訂購區(qū)域均映射為單元網格的集合;(4)網關負責維護本局域網的訂購區(qū)域集合,并將該信息發(fā)給已經建立連接的廣域網上的其他網關;(5)網關從某個組播組中收到仿真成員的狀態(tài)更新信息后,將根據各個網關的訂購區(qū)域集合進行匹配是否將該狀態(tài)更新信息發(fā)送給該網關;(6)該網關接收到廣域網上其他網關發(fā)來仿真成員的狀態(tài)更新信息后,會將該信息轉發(fā)到本局域網的相對應的組播組。本發(fā)明既可以使系統高效運行,又可以占用少量的網絡帶寬,還可以在最大程度上保證數據過濾的效率性,達到緩解因仿真規(guī)模擴大對網絡帶寬和處理資源帶來的壓力的目的。
文檔編號H04L12/28GK101420354SQ20081022746
公開日2009年4月29日 申請日期2008年11月26日 優(yōu)先權日2008年11月26日
發(fā)明者慶 于, 威 吳, 忠 周, 趙沁平 申請人:北京航空航天大學