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