專利名稱:分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機分布式仿真領(lǐng)域,尤指一種分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法。
背景技術(shù):
隨著大規(guī)模分布式仿真系統(tǒng)中傳輸?shù)臄?shù)據(jù)的爆炸性增長,在傳輸這些數(shù)據(jù)過程中的擁塞控制成為影響分布式仿真系統(tǒng)規(guī)模化的焦點之一?,F(xiàn)有的分布式仿真系統(tǒng)數(shù)據(jù)傳輸過程中幾乎都沒能有效地實現(xiàn)擁塞控制。
Litton-TASC公司(www.tasc.com)提出的分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法中,應(yīng)用主動網(wǎng)絡(luò)(active networks),試圖增強網(wǎng)絡(luò)傳輸和進行基于優(yōu)先級的擁塞控制,對仿真應(yīng)用進行限定和要求以使用新的網(wǎng)絡(luò)功能來增強數(shù)據(jù)分發(fā)管理的過濾效率。
該方法是通過訂購者返回反饋信息給訂購者,發(fā)布者根據(jù)反饋信息來調(diào)節(jié)發(fā)送數(shù)據(jù)的速率來進行擁塞控制的。當(dāng)反饋信息表明丟包率上升時,發(fā)布者降低數(shù)據(jù)發(fā)送速率,當(dāng)丟包率下降時,發(fā)布者增大數(shù)據(jù)發(fā)送速率。由于該方法僅僅是考慮通過調(diào)節(jié)數(shù)據(jù)發(fā)送速率來進行擁塞控制,而并未考慮如何降低無效數(shù)據(jù)的發(fā)送量,所以在分布式仿真中當(dāng)有大量無效的數(shù)據(jù)產(chǎn)生并傳輸時,該方法將不加區(qū)分地傳輸各類數(shù)據(jù),包括對仿真程序無用的數(shù)據(jù),因此無法有效地進行擁塞控制。
發(fā)明內(nèi)容
本發(fā)明要解決的問題是提供一種能夠有效進行擁塞控制且保證傳輸數(shù)據(jù)有效性的分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法。
為了解決上述問題,本發(fā)明分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法的技術(shù)方案包括下述步驟10)劃分?jǐn)?shù)據(jù)傳輸層次;20)判斷是否發(fā)生擁塞;30)若發(fā)生擁塞,發(fā)布者根據(jù)其發(fā)送數(shù)據(jù)所處的數(shù)據(jù)傳輸層次調(diào)節(jié)其發(fā)送速率,訂購者根據(jù)其接收數(shù)據(jù)所處的數(shù)據(jù)傳輸層次調(diào)節(jié)其接收速率。
所述步驟判斷是否發(fā)生擁塞可以采用下述四種方法方法之一計算回路時間,所述回路時間指發(fā)布者從發(fā)送一條報文起至收到與該報文相應(yīng)的回應(yīng)報文止的時間間隔;判斷回路時間是否大于回路時間閥值,所述回路時間閥值指保證正常數(shù)據(jù)傳輸?shù)幕芈窌r間的最大值;若判斷結(jié)果為真,表明發(fā)生擁塞。
LEVEL_ABOUT,普通數(shù)據(jù)傳輸層,用于傳輸普通數(shù)據(jù),所述普通數(shù)據(jù)指仿真實體的速度信息;LEVEL_COMPONENT,部件數(shù)據(jù)傳輸層,用于傳輸部件數(shù)據(jù),所述部件數(shù)據(jù)指組成仿真實體的各個部件的物理信息;LEVEL_INSIDE,內(nèi)部數(shù)據(jù)傳輸層,用于傳輸內(nèi)部數(shù)據(jù),所述內(nèi)部數(shù)據(jù)指仿真實體內(nèi)部的屬性信息。
7、如權(quán)利要求6所述的分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法,其特征在于,所述步驟30)進一步分為31)計算發(fā)布者及訂購者的數(shù)據(jù)傳輸層次;32)若數(shù)據(jù)的傳輸層次大于發(fā)布者的數(shù)據(jù)傳輸層次,發(fā)布者丟棄該數(shù)據(jù),不進行發(fā)送,否則發(fā)布者發(fā)送該數(shù)據(jù);33)若數(shù)據(jù)的傳輸層次大于訂購者的數(shù)據(jù)傳輸層次,訂購者丟棄該數(shù)據(jù),不進行接收,否則訂購者接收該數(shù)據(jù)。
8、如權(quán)利要求7所述的分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法,其特征在于,所述步驟31)進一步分為Φi,m為仿真實體的類別i的m大小屬性集,Pm(i)為發(fā)布者對仿真實體的類別i的m大小屬性集的數(shù)據(jù)傳輸層次,Pm(i,o)為發(fā)布者對仿真實體的類別i的仿真實體o的m大小屬性集的數(shù)據(jù)傳輸層次,ηj(i,o)為發(fā)布者的仿真實體的類別i的仿真實體o的j大小屬性集的屬性更新的數(shù)據(jù)傳輸層次,Sk(i)為訂購者對仿真實體的類別i的k大小屬性集的數(shù)據(jù)傳輸層次,該類的各訂購者的Sk(i)最大值為Sk,max(i),Sk(i,o)為訂購者對仿真實體的類別i的仿真實體o的k大小屬性集的數(shù)據(jù)傳輸層次,該實例的各訂購者的Sk(i,o)最大值為Sk,max(i,o),屬性更新的區(qū)域為UR,訂購者的屬性更新的區(qū)域為UR’,屬性訂購的區(qū)域為SR,LEVEL_ABOUT對應(yīng)的區(qū)域為D_SR,LEVEL_COMPONENT對應(yīng)的區(qū)域為P_SR,當(dāng)SR在某維上的區(qū)間為 時,D_SR對應(yīng)的區(qū)間為 P_SR對應(yīng)的區(qū)間為 ∩表示區(qū)域的重疊關(guān)系操作符,表示區(qū)域的包含關(guān)系,φ表示區(qū)域不具有重疊關(guān)系,設(shè)R1=UR∩SR→⫬φ,]]>設(shè)R2=UR∩D_SR→⫬φ,]]>設(shè)R3=UR∩P_SR→⫬φ,]]>
據(jù)傳輸層次來調(diào)整其接收速率,即對不同重要程度的數(shù)據(jù)分別處理,這樣能夠保證在擁塞發(fā)生時傳輸數(shù)據(jù)的有效性。
另外當(dāng)擁塞發(fā)生時,本發(fā)明分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法采用發(fā)布者和訂購者同時進行調(diào)整,這樣可以使網(wǎng)絡(luò)負擔(dān)快速降下來,從而能夠有效地控制擁塞。
圖1是本發(fā)明分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法流程圖;圖2是可不傳輸?shù)臄?shù)據(jù)傳輸層示意圖;圖3是基本數(shù)據(jù)傳輸層示意圖;圖4是普通數(shù)據(jù)傳輸層示意圖;圖5是部件數(shù)據(jù)傳輸層示意圖;圖6是內(nèi)部數(shù)據(jù)傳輸層示意圖;圖7是圖1中的步驟30)的進一步劃分的流程圖。
具體實施例方式
如圖1所示,本發(fā)明分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法,包括步驟10)劃分?jǐn)?shù)據(jù)傳輸層次;20)判斷是否發(fā)生擁塞;30)若發(fā)生擁塞,發(fā)布者根據(jù)其發(fā)送數(shù)據(jù)所處的數(shù)據(jù)傳輸層次調(diào)節(jié)其發(fā)送速率,訂購者根據(jù)其接收數(shù)據(jù)所處的數(shù)據(jù)傳輸層次調(diào)節(jié)其接收速率。
根據(jù)傳輸?shù)臄?shù)據(jù)對分布式仿真系統(tǒng)的重要程度,劃分?jǐn)?shù)據(jù)傳輸層次,不同重要程度的數(shù)據(jù)處在不同的數(shù)據(jù)傳輸層次。當(dāng)擁塞發(fā)生時,發(fā)布者根據(jù)其發(fā)送數(shù)據(jù)所處的數(shù)據(jù)傳輸層次調(diào)節(jié)其發(fā)送速率,訂購者根據(jù)其所接收數(shù)據(jù)所處的數(shù)據(jù)傳輸層次調(diào)節(jié)其接收速率,即訂購者和發(fā)布者根據(jù)數(shù)據(jù)的重要程度分別采取不同的處理方式。例如,對于分布式仿真系統(tǒng)中的仿真實體直升飛機,它的螺旋漿的轉(zhuǎn)速對于其他仿真實體是不需要的,因此可將螺旋槳的轉(zhuǎn)速置于最不重要的數(shù)據(jù)傳輸層次,當(dāng)擁塞發(fā)生時,訂購者判斷螺旋漿的轉(zhuǎn)速是處于最不重要的數(shù)據(jù)傳輸層次便可選擇放棄接收,發(fā)布者也可選擇放棄發(fā)送,以便降低網(wǎng)絡(luò)負擔(dān),從而有效地進行擁塞控制。
所述步驟判斷是否發(fā)生擁塞可采用以下四種方法,方法之一計算回路時間(RTT,Round-Trip Time),所述回路時間指發(fā)布者從發(fā)送一條報文起至收到與該報文相應(yīng)的回應(yīng)報文止的時間間隔;判斷回路時間是否大于回路時間閥值,所述回路時間閥值指保證正常數(shù)據(jù)傳輸?shù)幕芈窌r間的最大值;若判斷結(jié)果為真,表明發(fā)生擁塞。
發(fā)布者向訂購者發(fā)送一條報文,等待接收到訂購者的回應(yīng)報文后,計算這段時間間隔,即可得出RTT。設(shè)其閥值為S。
方法之二計算報文丟失率,所述報文丟失率指訂購者未收到的報文占發(fā)布者所發(fā)送報文總數(shù)的比率;判斷報文丟失率是否大于報文丟失率閥值,所述報文丟失率閥指保證正常數(shù)據(jù)傳輸?shù)膱笪膩G失率的最大值;若判斷結(jié)果為真,表明發(fā)生擁塞。
假設(shè)訂購者接收到的報文的序列號是m,已經(jīng)保存的上次接收到的報文的序列號是n。丟失的報文數(shù)為x。如果m-n-1>0,則x=x+m-n-1。報文丟失率為x/m。設(shè)L為報文丟失率的閥值。
方法之三計算CPU使用率;判斷CPU使用率是否大于其閥值;若判斷結(jié)果為真,表明發(fā)生擁塞。
通過調(diào)用Windows(微軟操作系統(tǒng))提供的應(yīng)用API(程序編程接口)取得CPU的使用狀況,設(shè)P為CPU使用率的閥值。
方法之四計算內(nèi)存利用率;判斷內(nèi)存利用率是否大于其閥值;若判斷結(jié)果為真,表明發(fā)生擁塞。。
通過調(diào)用Windows(微軟操作系統(tǒng))提供的應(yīng)用API(程序編程接口)取得內(nèi)存的使用狀況,設(shè)V為內(nèi)存利用率的閥值本例將數(shù)據(jù)傳輸層次劃分為LEVEL_CRITICAL,關(guān)鍵數(shù)據(jù)傳輸層,用于傳輸關(guān)鍵數(shù)據(jù),所述關(guān)鍵數(shù)據(jù)指在仿真中不能丟失的數(shù)據(jù),由仿真程序的設(shè)計者根據(jù)仿真的具體情況來設(shè)定的;NO_LEVEL,可不傳輸?shù)臄?shù)據(jù)傳輸層,用于傳輸可以不傳輸?shù)臄?shù)據(jù),所述可不傳輸?shù)臄?shù)據(jù)指丟失以后也不影響仿真正常運行的數(shù)據(jù),由仿真程序的設(shè)計者根據(jù)仿真的具體情況來設(shè)定的;LEVEL_VISION,基礎(chǔ)數(shù)據(jù)傳輸層,用于傳輸基礎(chǔ)數(shù)據(jù),所述基礎(chǔ)數(shù)據(jù)一般指仿真實體的物理位置信息,由仿真程序的設(shè)計者根據(jù)仿真的具體情況來設(shè)定的,如一個坦克的運行位置;LEVEL_ABOUT,普通數(shù)據(jù)傳輸層,用于傳輸普通數(shù)據(jù),所述普通數(shù)據(jù)一般指仿真實體的速度信息,由仿真程序的設(shè)計者根據(jù)仿真的具體情況來設(shè)定的,如一個坦克的運行速度;LEVEL_COMPONENT,部件數(shù)據(jù)傳輸層,用于傳輸部件數(shù)據(jù),所述部件數(shù)據(jù)一般指組成仿真實體的各個部件的物理信息,由仿真程序的設(shè)計者根據(jù)仿真的具體情況來設(shè)定的,如一個坦克的炮管,炮身,履帶等組成部件的位置及相互的關(guān)聯(lián)關(guān)系的數(shù)據(jù);LEVEL_INSIDE,內(nèi)部數(shù)據(jù)傳輸層,用于傳輸內(nèi)部數(shù)據(jù),所述內(nèi)部數(shù)據(jù)一般指組成仿真實體內(nèi)部的屬性信息,由仿真程序的設(shè)計者根據(jù)仿真的具體情況來設(shè)定的,如一個坦克內(nèi)部的各種儀器的數(shù)據(jù);如圖2至圖6所示,常用的在二維區(qū)域的各數(shù)據(jù)傳輸層的匹配情況。其匹配機制就是根據(jù)甲和乙的區(qū)域是否重疊,以及重疊區(qū)域的情況來進行相應(yīng)的數(shù)據(jù)傳輸層次的匹配。如圖2所示,A的屬性的更新區(qū)域和B的屬性的訂購區(qū)域沒有發(fā)生重疊,于是其數(shù)據(jù)傳輸層次為NO_LEVEL;如圖3所示,A的屬性的更新區(qū)域與B的屬性的訂購區(qū)域相交,但沒有和B的普通數(shù)據(jù)傳輸區(qū)域相交,所以其數(shù)據(jù)傳輸層次為LEVEL_ABOUT,因而其數(shù)據(jù)傳輸層次大于NO_LEVEL而小于LEVEL_ABOUT,即為LEVEL_VlSION;如圖4所示,A的屬性的更新區(qū)域與B的普通數(shù)據(jù)傳輸區(qū)域相交,所以其數(shù)據(jù)傳輸層次為LEVEL_ABOUT;如圖5所示,A的屬性的更新區(qū)域與B的部件數(shù)據(jù)傳輸區(qū)域相交,所以其數(shù)據(jù)傳輸層次為LEVEL_COMPONENT;如圖6所示,A的屬性的更新區(qū)域在B的屬性的更新區(qū)域之內(nèi),所以其數(shù)據(jù)傳輸層次為LEVEL_INSIDE。
如圖7所示,步驟30)又進一步分為下述步驟31)計算發(fā)布者及訂購者的數(shù)據(jù)傳輸層次;32)若數(shù)據(jù)的傳輸層次大于發(fā)布者的數(shù)據(jù)傳輸層次,發(fā)布者丟棄該數(shù)據(jù),不進行發(fā)送,否則發(fā)布者發(fā)送該數(shù)據(jù);33)若數(shù)據(jù)的傳輸層次大于訂購者的數(shù)據(jù)傳輸層次,訂購者丟棄該數(shù)據(jù),不進行接收,否則訂購者接收該數(shù)據(jù)。
如果數(shù)據(jù)的傳輸層次大于發(fā)布者的傳輸層次,則發(fā)布者丟棄該數(shù)據(jù),不進行發(fā)送;如果數(shù)據(jù)的傳輸層次小于等于發(fā)布者的數(shù)據(jù)傳輸層次,則發(fā)布者將發(fā)送該數(shù)據(jù)。同樣,如果數(shù)據(jù)的傳輸層次大于訂購者的傳輸層次,則訂購者丟棄該數(shù)據(jù),不進行接收,如果數(shù)據(jù)的傳輸層次小于等于訂購者的傳輸層次,則訂購者者接收該數(shù)據(jù)。
下面介紹計算發(fā)布者及訂購者的數(shù)據(jù)傳輸層次的方法。
定義3-1.數(shù)據(jù)傳輸層次的取值空間enum Lol{NO_LEVEL=0,LEVEL_CRITICAL,LEVEL_VISION,LEVEL_ABOUT,LEVEL_COMPONENT,LEVEL_INSIDE}定義.i為仿真實體所屬的類的標(biāo)識,o為仿真實體的標(biāo)識,m,j,k為屬性集的大小。其中m,j,k是仿真中全屬性集的子集的大小,分別代表發(fā)布的屬性的集合、更新的屬性的集合和訂購的屬性的集合的大小。
令loi(i,hd)(由用戶設(shè)定)表示句柄為i的仿真實體所屬的類的標(biāo)識為hd的與屬性關(guān)聯(lián)的數(shù)據(jù)的傳輸層次。
令Φi,m為仿真實體的類別i的m大小屬性集;令Pm(i)為發(fā)布者對仿真實體的類別i的m大小屬性集的數(shù)據(jù)傳輸層次;
令Pm(i,o)為發(fā)布者對仿真實體的類別i的仿真實體o的m大小屬性集的數(shù)據(jù)傳輸層次;令ηj(i,o)為發(fā)布者的仿真實體的類別i的仿真實體o的j大小屬性集的屬性更新的數(shù)據(jù)傳輸層次;令Sk(i)為訂購者對仿真實體的類別i的k大小屬性集的數(shù)據(jù)傳輸層次,該類的各訂購者的Sk(i)最大值為Sk,max(i);令Sk(i,o)為訂購者對仿真實體的類別i的仿真實體o的k大小屬性集的數(shù)據(jù)傳輸層次,該實例的各訂購者的Sk(i,o)最大值為Sk,max(i,o)。
發(fā)布仿真實體屬性的發(fā)布者和訂購仿真實體屬性的訂購者分別工作在特定的層次Pm(i,o)和Sk(i,o),而屬性更新數(shù)據(jù)報文攜帶對報文屬性集的數(shù)據(jù)傳輸層次的標(biāo)記ηj(i,o),ηj(i,o)表征著基礎(chǔ)或重要性程度,而Pm(i,o)和Sk(i,o)則是表征數(shù)據(jù)的傳輸層次在仿真中的重要程度。
令屬性更新的區(qū)域為UR,訂購者的屬性更新的區(qū)域為UR’;令屬性訂購的區(qū)域為SR;令LEVEL_ABOUT對應(yīng)的區(qū)域為D_SR;令LEVEL_COMPONENT對應(yīng)的區(qū)域為P_SR。
當(dāng)SR在某維上的區(qū)間為 時,D_SR對應(yīng)的區(qū)間為 P_SR對應(yīng)的區(qū)間為 定義3-2.發(fā)布者對仿真實體的類別i的數(shù)據(jù)傳輸層次Pm(i)的計算方法為Pm(i)=loi(i,h),]]>where h∈Φi,mand x∈Φi,m,loi(i,x)≤loi(i,h)。
定義3-3.發(fā)布者對仿真實體o的數(shù)據(jù)傳輸層次pm(i,o)的計算方法為 定義3-4.仿真實體的類別i的屬性更新的數(shù)據(jù)傳輸層次ηj(i,o)的計算方法為 定義3-5.訂購者對仿真實體的類別i的數(shù)據(jù)傳輸層次Sk(i)的計算方法為Sk(i)=loi(i,h),]]>where h∈Φi,k,and x∈Φi,k,loi(i,x)≤loi(i,h)以∩表示區(qū)域的重疊關(guān)系操作符,表示區(qū)域的包含關(guān)系,φ表示區(qū)域不具有重疊關(guān)系。
設(shè)R1=UR∩SR→⫬φ,]]>設(shè)R2=UR∩D_SR→⫬φ,]]>設(shè)R3=UR∩P_SR→⫬φ,]]>設(shè)R4=URUR′,
定義3-6.訂購者對仿真實體o的數(shù)據(jù)傳輸層次Sk(i,o)的計算方法為 下例為在分布式仿真系統(tǒng)擁塞發(fā)生時的處理過程。
假設(shè)在分布式仿真系統(tǒng)中,一個坦克類的類的標(biāo)識為1,實例的標(biāo)識為o,其屬性包括x,y,z和Vx,Vy,Vz。用戶通過配置文件將x,y,z定義為LEVEL_VISION,將Vx,Vy,Vz定義為LEVEL_ABOUT。
所述配置文件中內(nèi)容如下(class Tank;仿真實體為坦克(attribute Position best_effort timestamp PositionSpace LEVEL_VISION);位置屬性為LEVEL_VISION(attribute Direction best_effort timestamp LEVEL_ABOUT);方向?qū)傩詾長EVEL_ABOUT(attribute Color best_effort timestamp LEVEL_ABOUT);顏色屬性設(shè)為LEVEL_ABOUT(attribute Tag best_effort timestamp LEVEL_VISION);標(biāo)記屬性設(shè)為LEVEL_VISION)假設(shè)用戶設(shè)定S=10ms,L=30%,P=5%,V=10M當(dāng)有擁塞發(fā)生,為1)RTT值>10ms2)x/m>30%3)CPU使用率>5%4)內(nèi)存使用>10M上述條件之一滿足,即表明有擁塞發(fā)生。
發(fā)布者(分布式仿真系統(tǒng)中的一個坦克)發(fā)布的屬性包括x,,y,z,Vx,則根據(jù)定義3-3,pm(i,o)=LEVEL_ABOUT;]]>
訂購者(分布式仿真系統(tǒng)中的另一個坦克)訂購的屬性包括x,y,z;則根據(jù)定義3-6,sk(i,o)=LEVEL_VISION;]]>當(dāng)有數(shù)據(jù)x,y,z,Vx,Vy,Vz產(chǎn)生時,根據(jù)定義3-4,ηi(i,o)>sk(i,o)=LEVEL_ABOUT;]]>對于發(fā)布者,由于pm(i,o)=ηj(i,o),]]>所以發(fā)布者發(fā)送數(shù)據(jù)。
對于訂購者,由于ηj(i,o)>sk(i,o),]]>所以訂購者丟棄數(shù)據(jù)。
以上所述僅是本發(fā)明分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法的保護范圍。
權(quán)利要求
1.一種分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法,其特征在于,包括步驟10)劃分?jǐn)?shù)據(jù)傳輸層次;20)判斷是否發(fā)生擁塞;30)若發(fā)生擁塞,發(fā)布者根據(jù)其發(fā)送數(shù)據(jù)所處的數(shù)據(jù)傳輸層次調(diào)節(jié)其發(fā)送速率,訂購者根據(jù)其接收數(shù)據(jù)所處的數(shù)據(jù)傳輸層次調(diào)節(jié)其接收速率。
2.如權(quán)利要求1所述的分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法,其特征在于,所述步驟判斷是否發(fā)生擁塞進一步包括下述步驟計算回路時間,所述回路時間指發(fā)布者從發(fā)送一條報文起至收到與該報文相應(yīng)的回應(yīng)報文止的時間間隔;判斷回路時間是否大于回路時間閥值,所述回路時間閥值指保證正常數(shù)據(jù)傳輸?shù)幕芈窌r間的最大值;若判斷結(jié)果為真,表明發(fā)生擁塞。
3.如權(quán)利要求1所述的分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法,其特征在于,所述步驟判斷是否發(fā)生擁塞進一步包括下述步驟計算報文丟失率,所述報文丟失率指訂購者未收到的報文占發(fā)布者所發(fā)送報文總數(shù)的比率;判斷報文丟失率是否大于報文丟失率閥值,所述報文丟失率閥指保證正常數(shù)據(jù)傳輸?shù)膱笪膩G失率的最大值;若判斷結(jié)果為真,表明發(fā)生擁塞。
4.如權(quán)利要求1所述的分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法,其特征在于,所述步驟判斷是否發(fā)生擁塞進一步包括下述步驟計算CPU使用率;判斷CPU使用率是否大于其閥值;若判斷結(jié)果為真,表明發(fā)生擁塞。
5.如權(quán)利要求1所述的分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法,其特征在于,所述步驟判斷是否發(fā)生擁塞進一步包括下述步驟計算內(nèi)存利用率;判斷內(nèi)存利用率是否大于其閥值;若判斷結(jié)果為真,表明發(fā)生擁塞。
6.如權(quán)利要求1至5所述的任意一種分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法,其特征在于,所述步驟10)劃分的數(shù)據(jù)傳輸層次為NO_LEVEL,可不傳輸?shù)臄?shù)據(jù)傳輸層,用于傳輸可以不傳輸?shù)臄?shù)據(jù),所述可以不傳輸?shù)臄?shù)據(jù)指丟失以后也不影響仿真正常運行的數(shù)據(jù);LEVEL_CRITICAL,關(guān)鍵數(shù)據(jù)傳輸層,用于傳輸關(guān)鍵數(shù)據(jù),所述關(guān)鍵數(shù)據(jù)指在仿真中不能丟失的數(shù)據(jù);LEVEL_VISION,基礎(chǔ)數(shù)據(jù)傳輸層,用于傳輸基礎(chǔ)數(shù)據(jù),所述基礎(chǔ)數(shù)據(jù)指仿真實體的物理位置信息;LEVEL_ABOUT,普通數(shù)據(jù)傳輸層,用于傳輸普通數(shù)據(jù),所述普通數(shù)據(jù)指仿真實體的速度信息;LEVEL_COMPONENT,部件數(shù)據(jù)傳輸層,用于傳輸部件數(shù)據(jù),所述部件數(shù)據(jù)指組成仿真實體的各個部件的物理信息;LEVEL_INSIDE,內(nèi)部數(shù)據(jù)傳輸層,用于傳輸內(nèi)部數(shù)據(jù),所述內(nèi)部數(shù)據(jù)指仿真實體內(nèi)部的屬性信息。
7.如權(quán)利要求6所述的分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法,其特征在于,所述步驟30)進一步分為31)計算發(fā)布者及訂購者的數(shù)據(jù)傳輸層次;32)若數(shù)據(jù)的傳輸層次大于發(fā)布者的數(shù)據(jù)傳輸層次,發(fā)布者丟棄該數(shù)據(jù),不進行發(fā)送,否則發(fā)布者發(fā)送該數(shù)據(jù);33)若數(shù)據(jù)的傳輸層次大于訂購者的數(shù)據(jù)傳輸層次,訂購者丟棄該數(shù)據(jù),不進行接收,否則訂購者接收該數(shù)據(jù)。
8.如權(quán)利要求7所述的分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法,其特征在于,所述步驟31)進一步分為Φi,m為仿真實體的類別i的m大小屬性集,Pm(i)為發(fā)布者對仿真實體的類別i的m大小屬性集的數(shù)據(jù)傳輸層次,pm(i,o)為發(fā)布者對仿真實體的類別i的仿真實體o的m大小屬性集的數(shù)據(jù)傳輸層次,ηj(i,o)為發(fā)布者的仿真實體的類別i的仿真實體o的j大小屬性集的屬性更新的數(shù)據(jù)傳輸層次,Sk(i)為訂購者對仿真實體的類別i的k大小屬性集的數(shù)據(jù)傳輸層次,該類的各訂購者的Sk(i)最大值為Sk,max(i),sk(i,o)為訂購者對仿真實體的類別i的仿真實體o的k大小屬性集的數(shù)據(jù)傳輸層次,該實例的各訂購者的sk(i,o)最大值為sk,max(i,o),屬性更新的區(qū)域為UR,訂購者的屬性更新的區(qū)域為UR’,屬性訂購的區(qū)域為SR,LEVEL_ABOUT對應(yīng)的區(qū)域為D_SR,LEVEL_COMPONENT對應(yīng)的區(qū)域為P_SR,當(dāng)SR在某維上的區(qū)間為 時,D_SR對應(yīng)的區(qū)間為 P_SR對應(yīng)的區(qū)間為 ∩表示區(qū)域的重疊關(guān)系操作符,表示區(qū)域的包含關(guān)系,φ表示區(qū)域不具有重疊關(guān)系,設(shè)R1=UR∩SR→﹁φ,設(shè)R2=UR∩D_SR→﹁φ,設(shè)R3=UR∩P_SR→﹁φ,設(shè)R4=URUR′,步驟311)發(fā)布者對仿真實體o的數(shù)據(jù)傳輸層次pm(i,o)為 其中,發(fā)布者對仿真實體的類別i的數(shù)據(jù)傳輸層次Pm(i)為Pm(i)=loi(i,h),]]>whereh∈Φi,mandx∈Φi,m,loi(i,x)≤loi(i,h);步驟312)訂購者對仿真實體o的數(shù)據(jù)傳輸層次sk(i,o)為 其中,仿真實體的類別i的屬性更新的數(shù)據(jù)傳輸層次ηj(i,o)為 訂購者對仿真實體的類別i的數(shù)據(jù)傳輸層次Sk(i)為Sk(i)=loi(i,h),]]>whereh∈Φi,k,andx∈Φi,k,loi(i,x)≤loi(i,h)。
全文摘要
本發(fā)明公開了一種分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法,包括步驟10)劃分?jǐn)?shù)據(jù)傳輸層次;20)判斷是否發(fā)生擁塞;30)若發(fā)生擁塞,發(fā)布者根據(jù)其發(fā)送數(shù)據(jù)所處的數(shù)據(jù)傳輸層次調(diào)節(jié)其發(fā)送速率,訂購者根據(jù)其接收數(shù)據(jù)所處的數(shù)據(jù)傳輸層次調(diào)節(jié)其接收速率。本發(fā)明分布式仿真系統(tǒng)數(shù)據(jù)傳輸擁塞控制方法針對不同重要程度的數(shù)據(jù)分別處理,這樣能夠保證在擁塞發(fā)生時傳輸數(shù)據(jù)的有效性,而且在擁塞發(fā)生時,發(fā)布者和訂購者同時各自調(diào)整,能夠快速降低網(wǎng)絡(luò)負擔(dān),從而有效地控制擁塞。
文檔編號G06F9/455GK1610287SQ20041009119
公開日2005年4月27日 申請日期2004年11月23日 優(yōu)先權(quán)日2004年11月23日
發(fā)明者周忠, 趙沁平, 張彥 申請人:北京航空航天大學(xué)