專(zhuān)利名稱(chēng):無(wú)線傳感器網(wǎng)絡(luò)中虛擬骨干網(wǎng)的分布式構(gòu)造方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種無(wú)線傳感器網(wǎng)絡(luò)中虛擬骨干網(wǎng)的分布式構(gòu)造方法,適用于無(wú)線傳感器網(wǎng)絡(luò)的自組織、分層路由管理以及網(wǎng)絡(luò)拓?fù)涞臉?gòu)建。
背景技術(shù):
隨著通信技術(shù)、嵌入式計(jì)算技術(shù)和傳感器技術(shù)的飛速發(fā)展和日益成熟,具有感知能力、計(jì)算能力和通信能力的微型傳感器開(kāi)始在世界范圍內(nèi)出現(xiàn)。由這些微型傳感器構(gòu)成的傳感器網(wǎng)絡(luò)引起了人們的極大關(guān)注。這種傳感器網(wǎng)絡(luò)綜合了傳感器技術(shù)、嵌入式計(jì)算技術(shù)、分布式信息處理技術(shù)和通信技術(shù),能夠協(xié)作地實(shí)時(shí)監(jiān)測(cè)、感知和采集網(wǎng)絡(luò)分布區(qū)域內(nèi)的各種環(huán)境或監(jiān)測(cè)對(duì)象的信息,并對(duì)這些信息進(jìn)行處理,獲得詳盡而準(zhǔn)確的信息,傳送到需要這些信息的用戶(hù)。傳感器網(wǎng)絡(luò)可以使人們?cè)谌魏螘r(shí)間、地點(diǎn)和任何環(huán)境條件下獲取大量詳實(shí)而可靠的信息。因此,這種網(wǎng)絡(luò)系統(tǒng)可以被廣泛地應(yīng)用于國(guó)防軍事、國(guó)家安全、環(huán)境監(jiān)測(cè)、交通管理、醫(yī)療衛(wèi)生、制造業(yè)、反恐抗災(zāi)等領(lǐng)域。傳感器網(wǎng)絡(luò)是信息感知和采集的一場(chǎng)革命。傳感器網(wǎng)絡(luò)作為一個(gè)全新的研究領(lǐng)域,在基礎(chǔ)理論和工程技術(shù)兩個(gè)層面向科技工作者提出了大量的挑戰(zhàn)性研究課題。
無(wú)線傳感器網(wǎng)絡(luò)正因?yàn)槠渚薮蟮膽?yīng)用前景成為研究領(lǐng)域的一個(gè)熱點(diǎn)。與傳統(tǒng)的有線網(wǎng)絡(luò)及蜂窩網(wǎng)絡(luò)不同,這種網(wǎng)絡(luò)不依賴(lài)于固定的物理基礎(chǔ)設(shè)施或控制中心,網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)都是對(duì)等的關(guān)系。在這種情況下,應(yīng)用傳統(tǒng)的路由機(jī)制將會(huì)導(dǎo)致網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)都要參與路由選擇與路由消息的維護(hù),在一個(gè)大規(guī)模的網(wǎng)絡(luò)中,這將會(huì)極大增加系統(tǒng)的操作復(fù)雜性、降低網(wǎng)絡(luò)的能耗效率。
近來(lái),一種虛擬骨干網(wǎng)的思想被提出來(lái)解決Ad hoc和無(wú)線傳感器網(wǎng)絡(luò)中的路由問(wèn)題。虛擬骨干網(wǎng)由少數(shù)通過(guò)構(gòu)造算法挑選出來(lái)的節(jié)點(diǎn)組成,不僅能夠承擔(dān)路由功能,而且能夠?qū)崿F(xiàn)流量控制,網(wǎng)絡(luò)連接性管理等功能。僅有少量節(jié)點(diǎn)參與路由功能,這將會(huì)大大降低網(wǎng)絡(luò)的開(kāi)銷(xiāo),提高系統(tǒng)資源利用率。
無(wú)線傳感器網(wǎng)絡(luò)可以通過(guò)二維平面上的單位圓圖來(lái)建模,即對(duì)于一個(gè)無(wú)向圖G=(V,E),v∈V代表一個(gè)傳感器節(jié)點(diǎn),節(jié)點(diǎn)u,v∈V,當(dāng).二者距離duv≤1時(shí),則u和v有邊相連,即(u,v)∈E。連通支配集(Connected Dominating Sets)是指在圖G=(V,E)存在一個(gè)連通的集合SV,對(duì)i∈V-S,∃j∈S,]]>使得(i,j)∈E,則稱(chēng)S為圖G=(V,E)的連通支配集。連通支配集(CDS)的方法因?yàn)槠浜?jiǎn)單高效成為了在Ad Hoc和無(wú)線傳感器網(wǎng)絡(luò)中構(gòu)建虛擬骨干網(wǎng)的主要途徑。在大多數(shù)的應(yīng)用中,為了降低通信開(kāi)銷(xiāo),節(jié)省能耗以及簡(jiǎn)化連接性管理,要求CDS由最小數(shù)目的節(jié)點(diǎn)組成,即尋找最小的連通支配集(MCDS)。這個(gè)問(wèn)題只能通過(guò)近似算法在多項(xiàng)式時(shí)間之內(nèi)求得次優(yōu)解,解的質(zhì)量是由近似率來(lái)衡量的,即近似算法所產(chǎn)生的CDS的節(jié)點(diǎn)數(shù)與MCDS節(jié)點(diǎn)數(shù)的比值。
目前MCDS的分布式算法大體分為兩類(lèi)基于分簇的方法和直接生成的方法。前者將網(wǎng)絡(luò)劃分為簇,每一個(gè)簇通過(guò)特定的算法選舉出簇首,簇首形成最大獨(dú)立集(MIS),簇首之間通過(guò)網(wǎng)關(guān)節(jié)點(diǎn)相連,簇首和網(wǎng)關(guān)節(jié)點(diǎn)組成骨干網(wǎng)。后者直接產(chǎn)生虛擬骨干而不需要分簇。
1)直接方法一個(gè)典型的直接算法是參考文獻(xiàn)“Routing in ad hoc networks using minimumconnected dominating set”(Bharghavan V,Das B.Proceedings of InternationalConference on Communications’97,Montreal,Canada,June 1997.)所提出的。該算法分為兩個(gè)階段(1)查找一個(gè)近似的最小支配集(MDS),這實(shí)際上是一個(gè)集合覆蓋問(wèn)題的求解;(2)使用最小生成樹(shù)(MST)算法將支配集集中的節(jié)點(diǎn)連接起來(lái),生成樹(shù)的內(nèi)部節(jié)點(diǎn)構(gòu)成骨干網(wǎng)。
另外一個(gè)直接算法是在文獻(xiàn)“On calculating connected dominating set forefficient routing in ad hoc wireless network.”(Wu J,Li HL.Proceedings of 3rdACM International Workshop on Discrete Algorithms and Methods for MobileComputing and Communications,1999;7-14.)中闡述的。這個(gè)方法提出了一種相反的思路,也分為2個(gè)階段(1)直接在UDG圖中構(gòu)建CDS;(2)根據(jù)給定規(guī)則將CDS中的冗余節(jié)點(diǎn)去除,從而得到近似最小的CDS集合。
以上兩種算法都不能保證常數(shù)的近似率,即解的質(zhì)量不高,同時(shí)時(shí)間復(fù)雜性和消息復(fù)雜性都很高。
2)基于分簇的方法文獻(xiàn)“Distributed construction of connected dominating set in wireless ad hocnetwork.”(Wan PJ,Alzoubi KM,F(xiàn)rieder O.Proceedings of IEEE INFOCOM,2002;1597-1604.)提出了一種基于分簇的虛擬骨干網(wǎng)形成算法。通過(guò)相關(guān)的分簇算法選舉出簇首,簇首形成最大獨(dú)立集(MIS),再通過(guò)先深搜索的方法計(jì)算最小生成樹(shù),最后生成樹(shù)中的非葉節(jié)點(diǎn)構(gòu)成虛擬骨干網(wǎng)。這種方法具有常數(shù)的近似率以及O(n)的時(shí)間復(fù)雜性和O(nlogn)消息復(fù)雜性。這種方法因?yàn)樾枰?jì)算生成樹(shù),即全網(wǎng)的拓?fù)湫畔⒁约跋⑼剑哂休^高的實(shí)現(xiàn)復(fù)雜性和通信開(kāi)銷(xiāo),這對(duì)于資源受限的無(wú)線傳感器網(wǎng)絡(luò)來(lái)說(shuō)是不現(xiàn)實(shí)的。
文獻(xiàn)“Message-optimal connected dominating set construction for routing inmobile ad hoc networks.”(Alzoubi KM,Li XY,Wang Y,Wan PJ,F(xiàn)rieder O.Proceedings of Third ACM International Symposium on Mobile Ad Hoc Networksand Computing(MobiHoc’02),2002)中,作者提出了一種線性消息復(fù)雜性的虛擬骨干網(wǎng)構(gòu)造方法。這種方法不需要計(jì)算生成樹(shù),實(shí)現(xiàn)較為簡(jiǎn)單,并且具有常數(shù)的近似率。盡管如此,這種方法生成的虛擬骨干網(wǎng)因?yàn)橛谢芈?,還是導(dǎo)致產(chǎn)生的虛擬骨干網(wǎng)規(guī)模較大,增加了路由實(shí)現(xiàn)的復(fù)雜性。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)的不足,提出一種無(wú)線傳感器網(wǎng)絡(luò)中虛擬骨干網(wǎng)的分布式構(gòu)造方法,能有效減小骨干網(wǎng)的規(guī)模,從而簡(jiǎn)化路由協(xié)議的復(fù)雜性,提高系統(tǒng)的工作效率。
為了實(shí)現(xiàn)這一目的,本發(fā)明提出了一種分布式的基于最小連通支配集的虛擬骨干網(wǎng)形成方法。本方法實(shí)現(xiàn)過(guò)程分為兩個(gè)階段在第一個(gè)階段,通過(guò)分簇算法構(gòu)建最大獨(dú)立集,將整個(gè)節(jié)點(diǎn)集合劃分為簇首以及普通節(jié)點(diǎn)兩個(gè)集合;在第二個(gè)階段,尋找網(wǎng)關(guān)節(jié)點(diǎn)將簇首連接起來(lái),形成一個(gè)連通支配集,通過(guò)去除骨干網(wǎng)中所有的三角形回路,有效減少骨干網(wǎng)中節(jié)點(diǎn)的數(shù)目。
本發(fā)明的方法包括如下具體步驟1)網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的初始狀態(tài)都是候選節(jié)點(diǎn),當(dāng)一個(gè)候選節(jié)點(diǎn)發(fā)現(xiàn)與所有鄰居節(jié)點(diǎn)相比,自己的標(biāo)識(shí)最小,則將狀態(tài)改為簇首,并廣播簇首狀態(tài)消息通知其相鄰節(jié)點(diǎn);2)當(dāng)一個(gè)候選節(jié)點(diǎn)收到簇首狀態(tài)消息,表示已經(jīng)有鄰居成為簇首,根據(jù)在網(wǎng)絡(luò)中應(yīng)該保證簇首均勻分布的原則,該節(jié)點(diǎn)將喪失成為“簇首”的可能性,則改變自己的狀態(tài)為普通節(jié)點(diǎn),并廣播普通節(jié)點(diǎn)狀態(tài)消息通知相鄰節(jié)點(diǎn);3)當(dāng)網(wǎng)絡(luò)內(nèi)所有候選節(jié)點(diǎn)確定自己的狀態(tài)以后,整個(gè)節(jié)點(diǎn)集合就被劃分為簇首和普通節(jié)點(diǎn)兩個(gè)集合;每一個(gè)簇首和普通節(jié)點(diǎn)生成存儲(chǔ)相鄰簇首信息的鏈表結(jié)構(gòu),鏈表記錄包括所有相鄰簇首的標(biāo)識(shí),以及到達(dá)這些相鄰簇首所經(jīng)過(guò)的中間普通節(jié)點(diǎn);4)當(dāng)一個(gè)簇首通過(guò)查找鏈表,獲知自己與所有相鄰簇首相比擁有最小標(biāo)識(shí)時(shí),將所有相鄰簇首設(shè)為目標(biāo)簇首,并發(fā)起連接請(qǐng)求,該請(qǐng)求消息中包含這個(gè)節(jié)點(diǎn)鏈表結(jié)構(gòu)的所有記錄項(xiàng);5)當(dāng)一個(gè)普通節(jié)點(diǎn)接收到連接請(qǐng)求消息,首先檢查自己是否出現(xiàn)在請(qǐng)求消息的記錄項(xiàng)里,如果不在則丟棄該消息,如果在,將自己的狀態(tài)變?yōu)榫W(wǎng)關(guān)節(jié)點(diǎn),并按照自己鏈表結(jié)構(gòu)中的信息,更新該請(qǐng)求消息記錄項(xiàng)中目標(biāo)簇首所對(duì)應(yīng)的中間普通節(jié)點(diǎn);更新過(guò)程完成之后轉(zhuǎn)發(fā)該消息;6)當(dāng)一個(gè)普通節(jié)點(diǎn)接收到轉(zhuǎn)發(fā)消息,檢查自己是否作為中間普通節(jié)點(diǎn)出現(xiàn)在該消息的記錄項(xiàng)中,如果不在則丟棄該消息;如果在,將節(jié)點(diǎn)狀態(tài)改為網(wǎng)關(guān)節(jié)點(diǎn),并繼續(xù)轉(zhuǎn)發(fā)這個(gè)消息;7)當(dāng)一個(gè)簇首接收到轉(zhuǎn)發(fā)的消息,首先檢查自己是否作為目標(biāo)簇首,如果不是則丟棄該消息,如果是,則將接收到的消息與自身鏈表中的信息相對(duì)照,移除所有相同的記錄,即對(duì)被移除的相應(yīng)的簇首不再發(fā)起連接請(qǐng)求;當(dāng)所有比自己標(biāo)識(shí)小的相鄰簇首都完成連接請(qǐng)求之后,該簇首檢查自己的鏈表結(jié)構(gòu),當(dāng)鏈表內(nèi)容中依然存在與相鄰簇首有關(guān)的記錄項(xiàng),則將這些相鄰簇首設(shè)為目標(biāo)簇首,并發(fā)起連接請(qǐng)求;當(dāng)鏈表內(nèi)容中不存在與相鄰簇首有關(guān)的記錄項(xiàng),則不再發(fā)起連接請(qǐng)求;8)當(dāng)所有簇首節(jié)點(diǎn)不再發(fā)起連接請(qǐng)求時(shí),所有簇首節(jié)點(diǎn)和網(wǎng)關(guān)節(jié)點(diǎn)形成虛擬骨干網(wǎng),完成路由及管理功能。
本發(fā)明的方法具有線性的時(shí)間復(fù)雜性、消息復(fù)雜性和簡(jiǎn)單易實(shí)現(xiàn)的特點(diǎn),所生成的虛擬骨干網(wǎng)由少數(shù)經(jīng)過(guò)構(gòu)造算法挑選出來(lái)的節(jié)點(diǎn)組成,不僅能夠承擔(dān)路由功能,而且能夠?qū)崿F(xiàn)網(wǎng)絡(luò)的流量控制和連接性管理。這些良好的性能大大增加了該方法的應(yīng)用范圍。理論分析和仿真結(jié)果都顯示本發(fā)明的方法優(yōu)于經(jīng)典算法。
圖1為無(wú)線傳感器網(wǎng)絡(luò)中虛擬骨干網(wǎng)形成的一個(gè)實(shí)施例。
圖2為采用本發(fā)明方法產(chǎn)生的一個(gè)虛擬骨干網(wǎng)與其它算法仿真結(jié)果的對(duì)比。
圖3為采用本發(fā)明方法產(chǎn)生的另一個(gè)虛擬骨干網(wǎng)與其它算法仿真結(jié)果的對(duì)比。
具體實(shí)施例方式
以下結(jié)合附圖和實(shí)施例對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步描述。
本發(fā)明的方法具體實(shí)施過(guò)程●構(gòu)建最大獨(dú)立集每個(gè)節(jié)點(diǎn)的初始狀態(tài)都是候選節(jié)點(diǎn)。當(dāng)一個(gè)候選節(jié)點(diǎn)v發(fā)現(xiàn)與所有的鄰居相比,自己的標(biāo)識(shí)ID最小,則將狀態(tài)改為簇首并廣播IamDominator(v)消息通知其相鄰節(jié)點(diǎn)。當(dāng)一個(gè)候選節(jié)點(diǎn)u收到IamDominator消息,表示已經(jīng)有鄰居成為簇首,根據(jù)在網(wǎng)絡(luò)中應(yīng)該保證簇首均勻分布的原則,該節(jié)點(diǎn)將喪失成為簇首的可能性,改變自己的狀態(tài)為普通節(jié)點(diǎn)并廣播IamDominatee(u)消息。當(dāng)網(wǎng)絡(luò)內(nèi)所有節(jié)點(diǎn)確定自己的狀態(tài)以后,簇首節(jié)點(diǎn)就組成了最大獨(dú)立集。
普通節(jié)點(diǎn)u在獲知所有鄰居的狀態(tài)以后,生成一個(gè)鏈表結(jié)構(gòu)OneHopDominatorList,記錄下所有相鄰簇首的信息,然后廣播消息MyOneHopDominatorList(u),包含此鏈表的內(nèi)容。
相鄰簇首接收到MyOneHopDominatorList(u)之后,通過(guò)搜索記錄項(xiàng),獲知與自己有兩跳距離的簇首信息,將其信息保存,加入到自己的鏈表TwoHopDominatorList中,并將其對(duì)應(yīng)的中間普通節(jié)點(diǎn)設(shè)為節(jié)點(diǎn)u。
普通節(jié)點(diǎn)w接收到MyOneHopDominatorList(u)之后,生成第二個(gè)鏈表結(jié)構(gòu)TwoHopDominatorList,記錄下所有距離自己兩跳的簇首,并將其對(duì)應(yīng)的中間普通節(jié)點(diǎn)設(shè)為節(jié)點(diǎn)u。在接收到所有相鄰普通節(jié)點(diǎn)的MyOneHopDominatorList消息之后,節(jié)點(diǎn)w廣播消息MyTwoHopDominatorList(w),包含所有和自己相距兩跳的簇首的信息。TwoHopDominatorList表的內(nèi)容。
簇首v接收到MyTwoHopDominatorList(w)之后,搜索記錄項(xiàng),通過(guò)生成鏈表ThreeHopDominatorList,存儲(chǔ)距離自己三跳的的簇首的信息,并記錄相應(yīng)的中間普通節(jié)點(diǎn)為w。為了描述方便,我們這里定義同時(shí)使用計(jì)數(shù)變量Number_CH記錄簇首數(shù)目。
●尋找網(wǎng)關(guān)節(jié)點(diǎn),構(gòu)建虛擬骨干網(wǎng)由簇首發(fā)起尋找網(wǎng)關(guān)節(jié)點(diǎn)過(guò)程。簇首u(yù),首先查找存儲(chǔ)相鄰簇首信息的的鏈表結(jié)構(gòu),當(dāng)發(fā)現(xiàn)自己與所有相鄰的簇首相比,擁有最小的ID時(shí),發(fā)起連接請(qǐng)求,廣播TryConnect(u)消息,包含所有“相鄰簇首”的信息。
當(dāng)接收到TryConnect(u)消息,一個(gè)普通節(jié)點(diǎn)v首先檢查自己的ID是否出現(xiàn)在記錄項(xiàng)里。如果有,將自己的狀態(tài)變?yōu)榫W(wǎng)關(guān)節(jié)點(diǎn)。對(duì)于包含v的記錄項(xiàng),分情況處理如果目標(biāo)簇首與自己相鄰(出現(xiàn)在鏈表OneHopDominatorList),保持記錄項(xiàng)不變;否則繼續(xù)查找TwoHopDominatorList,改變連接目標(biāo)簇首的中間普通節(jié)點(diǎn)為這個(gè)鏈表中的中間普通節(jié)點(diǎn)。廣播ForwardingConnection(v,u)消息,包含修改后的記錄項(xiàng)。
當(dāng)一個(gè)普通節(jié)點(diǎn)接收到ForwardingConnection(v,u)消息,首先檢查自己是否作為中間節(jié)點(diǎn)出現(xiàn)在該消息中。如果是,則將節(jié)點(diǎn)狀態(tài)改為網(wǎng)關(guān)節(jié)點(diǎn)并且轉(zhuǎn)發(fā)這個(gè)消息。
當(dāng)一個(gè)簇首接收到一個(gè)ForwardingConnection(v,u)消息,首先檢查自己是否作為目標(biāo)簇首。如果是,則遞減變量Number_CH,并且在TwoHopDominatorList和ThreeHopDominatorList這兩個(gè)鏈表中移除所有的與此目標(biāo)簇首相關(guān)的記錄(不再對(duì)此目標(biāo)簇首發(fā)起連接,即消除了三角形回路)。如果變量Number_CH為零,該簇首發(fā)起連接請(qǐng)求。如果變量Number_CH為零,則不再發(fā)起連接請(qǐng)求。
最終,當(dāng)所有簇首都不再發(fā)起連接請(qǐng)求,所選舉出來(lái)的簇首和網(wǎng)關(guān)節(jié)點(diǎn)組成虛擬骨干網(wǎng),完成路由以及其他管理功能。
在圖1所示的一個(gè)實(shí)施例中,白色圓圈代表候選節(jié)點(diǎn),黑色圓圈代表簇首,灰色圓圈代表普通節(jié)點(diǎn),環(huán)型圓圈代表網(wǎng)關(guān)節(jié)點(diǎn)。本方法的執(zhí)行過(guò)程如下(1)初始情況下所有節(jié)點(diǎn)都是候選節(jié)點(diǎn),如圖1(a)所示。
(2)在圖1(b),節(jié)點(diǎn)1和8被選為簇首,這是因?yàn)榕c其鄰居相比,它們的標(biāo)識(shí)最小。節(jié)點(diǎn)3雖然不是標(biāo)識(shí)最小的節(jié)點(diǎn)(節(jié)點(diǎn)2是它的鄰居),但因?yàn)楣?jié)點(diǎn)2加入了節(jié)點(diǎn)1的簇而失去了成為簇首的權(quán)利,所以節(jié)點(diǎn)3也成為簇首。其他節(jié)點(diǎn)成為普通節(jié)點(diǎn)。
(3)在圖1(c)中,因?yàn)楂@知在相鄰簇首中擁有最小的標(biāo)識(shí),節(jié)點(diǎn)1首先發(fā)起連接請(qǐng)求。
(4)在圖1(d)中,在接收到節(jié)點(diǎn)1的連接請(qǐng)求后,節(jié)點(diǎn)2通過(guò)查詢(xún)信息鏈表,發(fā)現(xiàn)自己是通向目標(biāo)簇首3的連接點(diǎn),所以改變自己的狀態(tài)為網(wǎng)關(guān)節(jié)點(diǎn)并且廣播轉(zhuǎn)發(fā)信息。相似地,節(jié)點(diǎn)6發(fā)現(xiàn)自己是路徑(1,8)上的連接點(diǎn),所以改變自己的狀態(tài)為網(wǎng)關(guān)節(jié)點(diǎn),選擇節(jié)點(diǎn)10作為該路徑上的第二個(gè)中間節(jié)點(diǎn)并轉(zhuǎn)發(fā)該消息。
(5)在圖1(e)中,當(dāng)從節(jié)點(diǎn)6接收到轉(zhuǎn)發(fā)消息,節(jié)點(diǎn)10獲知自己是路徑(1,8)上的連接點(diǎn),改變自己的狀態(tài)為網(wǎng)關(guān)節(jié)點(diǎn)并且繼續(xù)轉(zhuǎn)發(fā)這個(gè)消息。當(dāng)從節(jié)點(diǎn)2接收到轉(zhuǎn)發(fā)消息,簇首3得知簇首1已經(jīng)建立了一條通向簇首8的路徑,因此它將放棄對(duì)節(jié)點(diǎn)8的連接請(qǐng)求,從而消除了三角形的回路。
(6)最終,在圖1(f)所示,簇首節(jié)點(diǎn)1,3,8和網(wǎng)關(guān)節(jié)點(diǎn)2,6,10組成了虛擬骨干網(wǎng)。
性能分析本發(fā)明有以下特性特性1本發(fā)明構(gòu)建的虛擬骨干網(wǎng)的規(guī)模是最小連通獨(dú)立集的常數(shù)倍。通過(guò)本發(fā)明的描述可知,簇首和網(wǎng)關(guān)節(jié)點(diǎn)的數(shù)目都是最小連通獨(dú)立集的常數(shù)倍,所以二者相加所組成的虛擬骨干網(wǎng)的規(guī)模也是最小連通獨(dú)立集的常數(shù)倍。
特性2本發(fā)明具有O(n)的時(shí)間復(fù)雜性,n表示網(wǎng)絡(luò)中節(jié)點(diǎn)的數(shù)目。本發(fā)明的第一個(gè)階段,每一個(gè)普通節(jié)點(diǎn)等待其它低標(biāo)識(shí)的鄰居做出決定。最壞情況下算法的時(shí)間復(fù)雜性升序或者降序排列成一條直線,算法復(fù)雜性為O(n)。與之相似,在第二個(gè)階段,每一個(gè)簇首等待其他低標(biāo)識(shí)的簇首發(fā)出連接請(qǐng)求。簇首數(shù)量最多為n,所以最壞情況下的時(shí)間復(fù)雜性也為O(n),該特性得證。
特性3本發(fā)明具有O(n)的消息復(fù)雜性。本發(fā)明的第一個(gè)階段,一個(gè)節(jié)點(diǎn)最多廣播一個(gè)消息。在第二個(gè)階段,每個(gè)簇首最多廣播一個(gè)連接請(qǐng)求消息。一個(gè)網(wǎng)關(guān)節(jié)點(diǎn)最多接收和轉(zhuǎn)發(fā)25條消息,所以最壞情況下本發(fā)明的消息復(fù)雜性是O(n)。
仿真結(jié)果下面通過(guò)仿真實(shí)驗(yàn)來(lái)比較本發(fā)明的方法與其他兩種經(jīng)典方法的性能。實(shí)驗(yàn)?zāi)P陀?00、200、400、600和800個(gè)節(jié)點(diǎn)組成,它們隨機(jī)均勻分布在(x=0,y=0)至(x=200,y=200)的這個(gè)正方形區(qū)域內(nèi),無(wú)線覆蓋半徑R分別是30和50個(gè)長(zhǎng)度單位。
通過(guò)多次仿真實(shí)驗(yàn),我們比較了三種算法所產(chǎn)生的虛擬骨干網(wǎng)的規(guī)模。圖2表示在固定無(wú)線覆蓋半徑為50單位長(zhǎng)度時(shí),虛擬骨干網(wǎng)的規(guī)模與網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)的關(guān)系。很明顯,與其他兩種經(jīng)典方法相比,我們的方法明顯減小了無(wú)線傳感器網(wǎng)絡(luò)虛擬骨干網(wǎng)的規(guī)模。當(dāng)固定R無(wú)線覆蓋半徑為30單位長(zhǎng)度時(shí),仿真實(shí)驗(yàn)顯示了相似的結(jié)果,如圖3所示。
權(quán)利要求
1.一種無(wú)線傳感器網(wǎng)絡(luò)中虛擬骨干網(wǎng)的分布式構(gòu)造方法,其特征在于包括如下具體步驟1)網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的初始狀態(tài)都是候選節(jié)點(diǎn),當(dāng)一個(gè)候選節(jié)點(diǎn)發(fā)現(xiàn)與所有鄰居節(jié)點(diǎn)相比,自己的標(biāo)識(shí)最小,則將狀態(tài)改為簇首,并廣播簇首狀態(tài)消息通知其相鄰節(jié)點(diǎn);2)當(dāng)一個(gè)候選節(jié)點(diǎn)收到簇首狀態(tài)消息,表示已經(jīng)有鄰居成為簇首,則改變自己的狀態(tài)為普通節(jié)點(diǎn),并廣播普通節(jié)點(diǎn)狀態(tài)消息通知相鄰節(jié)點(diǎn);3)當(dāng)網(wǎng)絡(luò)內(nèi)所有候選節(jié)點(diǎn)確定自己的狀態(tài)以后,整個(gè)節(jié)點(diǎn)集合就被劃分為簇首和普通節(jié)點(diǎn)兩個(gè)集合;每一個(gè)簇首和普通節(jié)點(diǎn)生成存儲(chǔ)相鄰簇首信息的鏈表結(jié)構(gòu),鏈表記錄包括所有相鄰簇首的標(biāo)識(shí),以及到達(dá)這些相鄰簇首所經(jīng)過(guò)的中間普通節(jié)點(diǎn);4)當(dāng)一個(gè)簇首通過(guò)查找鏈表,獲知自己與所有相鄰簇首相比擁有最小標(biāo)識(shí)時(shí),將所有相鄰簇首設(shè)為目標(biāo)簇首,并發(fā)起連接請(qǐng)求,該請(qǐng)求消息中包含這個(gè)節(jié)點(diǎn)鏈表結(jié)構(gòu)的所有記錄項(xiàng);5)當(dāng)一個(gè)普通節(jié)點(diǎn)接收到連接請(qǐng)求消息,首先檢查自己是否出現(xiàn)在請(qǐng)求消息的記錄項(xiàng)里,如果不在則丟棄該消息,如果在,將自己的狀態(tài)變?yōu)榫W(wǎng)關(guān)節(jié)點(diǎn),并按照自己鏈表結(jié)構(gòu)中的信息,更新該請(qǐng)求消息記錄項(xiàng)中目標(biāo)簇首所對(duì)應(yīng)的中間普通節(jié)點(diǎn);更新過(guò)程完成之后轉(zhuǎn)發(fā)該消息;6)當(dāng)一個(gè)普通節(jié)點(diǎn)接收到轉(zhuǎn)發(fā)消息,檢查自己是否作為中間普通節(jié)點(diǎn)出現(xiàn)在該消息的記錄項(xiàng)中,如果不在則丟棄該消息;如果在,將節(jié)點(diǎn)狀態(tài)改為網(wǎng)關(guān)節(jié)點(diǎn),并繼續(xù)轉(zhuǎn)發(fā)這個(gè)消息;7)當(dāng)一個(gè)簇首接收到轉(zhuǎn)發(fā)的消息,首先檢查自己是否作為目標(biāo)簇首,如果不是則丟棄該消息,如果是,則將接收到的消息與自身鏈表中的信息相對(duì)照,移除所有相同的記錄,即對(duì)被移除的相應(yīng)的簇首不再發(fā)起連接請(qǐng)求;當(dāng)所有比自己標(biāo)識(shí)小的相鄰簇首都完成連接請(qǐng)求之后,該簇首檢查自己的鏈表結(jié)構(gòu),當(dāng)鏈表內(nèi)容中依然存在與相鄰簇首有關(guān)的記錄項(xiàng),則將這些相鄰簇首設(shè)為目標(biāo)簇首,并發(fā)起連接請(qǐng)求;當(dāng)鏈表內(nèi)容中不存在與相鄰簇首有關(guān)的記錄項(xiàng),則不再發(fā)起連接請(qǐng)求;8)當(dāng)所有簇首節(jié)點(diǎn)不再發(fā)起連接請(qǐng)求時(shí),所有簇首節(jié)點(diǎn)和網(wǎng)關(guān)節(jié)點(diǎn)形成虛擬骨干網(wǎng),完成路由及管理功能。
全文摘要
本發(fā)明涉及一種無(wú)線傳感器網(wǎng)絡(luò)中虛擬骨干網(wǎng)的分布式構(gòu)造方法,為有效減小骨干網(wǎng)的規(guī)模,簡(jiǎn)化路由協(xié)議的復(fù)雜性,提高系統(tǒng)的工作效率,分兩個(gè)階段實(shí)現(xiàn)分布式的基于最小連通支配集的虛擬骨干網(wǎng)。在第一個(gè)階段,通過(guò)分簇算法構(gòu)建最大獨(dú)立集,將整個(gè)節(jié)點(diǎn)集合劃分為簇首以及普通節(jié)點(diǎn)兩個(gè)集合;在第二個(gè)階段,尋找網(wǎng)關(guān)節(jié)點(diǎn)將簇首連接起來(lái),形成一個(gè)連通支配集,通過(guò)去除骨干網(wǎng)中所有的三角形回路,有效減少骨干網(wǎng)中節(jié)點(diǎn)的數(shù)目。本發(fā)明的方法具有線性的時(shí)間復(fù)雜性、消息復(fù)雜性和簡(jiǎn)單易實(shí)現(xiàn)的特點(diǎn),所生成的虛擬骨干網(wǎng)由少數(shù)經(jīng)過(guò)構(gòu)造算法挑選出來(lái)的節(jié)點(diǎn)組成,不僅能夠承擔(dān)路由功能,而且能夠?qū)崿F(xiàn)網(wǎng)絡(luò)的流量控制和連接性管理。
文檔編號(hào)H04L12/46GK1917460SQ20061003090
公開(kāi)日2007年2月21日 申請(qǐng)日期2006年9月7日 優(yōu)先權(quán)日2006年9月7日
發(fā)明者何晨, 曹涌濤, 蔣鈴鴿 申請(qǐng)人:上海交通大學(xué)