專利名稱:網(wǎng)格網(wǎng)絡(luò)中的多播路由協(xié)議的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種發(fā)現(xiàn)并建立多播組中成員之間通信的路徑的多播路由機制。特別是,本發(fā)明涉及確定多播路由,并基于多播組媒體接入控制地址將數(shù)據(jù)從該多播組中的任意成員發(fā)送至無線網(wǎng)格網(wǎng)絡(luò)中所有其它成員。
背景技術(shù):
無線局域網(wǎng)格網(wǎng)絡(luò)由經(jīng)IEEE 802.11無線鏈路互聯(lián)的多個節(jié)點(也稱為網(wǎng)格點)組成。每個節(jié)點都具有唯一的IEEE 802.11媒體接入控制(MAC)地址。網(wǎng)格網(wǎng)絡(luò)中的節(jié)點子集可加入多播組以相互通信。多播組具有用于在多播組成員間通信的自己的組IEEE 802.1 MAC地址。多播有效利用網(wǎng)絡(luò)資源以將數(shù)據(jù)從數(shù)據(jù)源傳送至多個目的節(jié)點(多播組)。例如,網(wǎng)格網(wǎng)絡(luò)中的多個節(jié)點可加入多播組以進行視頻會議。當(dāng)多播組中的成員節(jié)點向所有其它成員節(jié)點發(fā)送數(shù)據(jù)時,其將該多播組共用IEEE 802.1 MAC地址用作目的地址。需要該多播組成員資格信息,即哪些節(jié)點是該多播組的成員,以建立無線網(wǎng)格網(wǎng)絡(luò)中的多播組成員之間的路徑/路由并傳送數(shù)據(jù)。
已經(jīng)采用IP層多播路由協(xié)議以發(fā)現(xiàn)和建立有線和無線網(wǎng)絡(luò)中多播組的路由。但是,該IP層多播路由協(xié)議基于IP地址。某些器件例如無線局域網(wǎng)(WLAN)接入點基于IEEE 802.1 MAC地址發(fā)送數(shù)據(jù)分組,并且僅僅在鏈路層(層2)上工作。此外,因為數(shù)據(jù)包并不必須轉(zhuǎn)到IP層,所以在層2上的數(shù)據(jù)發(fā)送總體快于在IP層(層3)上的數(shù)據(jù)發(fā)送。因此,需要層2上的多播網(wǎng)格路由機制以基于無線網(wǎng)格網(wǎng)絡(luò)中的多播組IEEE 802.1 MAC地址在多播組成員間發(fā)送數(shù)據(jù)。
協(xié)議無關(guān)多播-稀疏模式(PIM-SM)和協(xié)議無關(guān)多播-密集模式(PIM-DM)是兩個標(biāo)準(zhǔn)的IP多播路由協(xié)議。PIM-DM采用先洪泛(flooding)然后剪枝(prune)方式,這造成大量的花費。PIM-SM采用加入/剪枝方式,就網(wǎng)絡(luò)資源利用而言其更有效。但是,PIM-SM是為有線因特網(wǎng)而設(shè)計,并且需要手動配置例如每個節(jié)點中的靜態(tài)多播組地址-至-根地址映射,或者配置用以宣告該映射的網(wǎng)絡(luò)中引導(dǎo)(bootstrap)服務(wù)器的配置。因為可以以特別(ad hoc)方式形成網(wǎng)絡(luò)并且網(wǎng)絡(luò)節(jié)點/拓?fù)浣?jīng)常變化,所以手動配置不太適合動態(tài)網(wǎng)格網(wǎng)絡(luò)。隨著節(jié)點加入和離開網(wǎng)格網(wǎng)絡(luò),拓?fù)渥兓?br>
所需要的是一種用于使無線局域網(wǎng)格網(wǎng)絡(luò)發(fā)現(xiàn)并建立基于多播組IEEE802.1媒體接入控制地址在多播組成員間通信的路徑的多播網(wǎng)格路由協(xié)議。本發(fā)明要解決的問題在于如何基于多播組IEEE 802.11MAC地址有效建立多播路由并將數(shù)據(jù)從該多播組中的任意成員節(jié)點發(fā)送至所有其它成員。
發(fā)明內(nèi)容
無線局域網(wǎng)格網(wǎng)絡(luò)由經(jīng)IEEE 802.11鏈路互聯(lián)的多個節(jié)點組成。網(wǎng)格網(wǎng)絡(luò)中的節(jié)點子集可加入多播組以利用多播組IEEE MAC地址在該多播組的成員之間通信。本發(fā)明提供一種基于該組IEEE 802.11媒體接入控制(MAC)地址發(fā)現(xiàn)并建立路由、以及將數(shù)據(jù)從多播組中的任意成員發(fā)送至所有其它多播組成員的機制。
本發(fā)明的多播網(wǎng)格路由協(xié)議基于多播組IEEE 802.11MAC地址發(fā)現(xiàn)并建立多播組成員之間的路徑/路由。本發(fā)明在層2(數(shù)據(jù)鏈路層)執(zhí)行多播路由功能從而多播組中的成員節(jié)點可基于該組IEEE 802.11媒體接入控制(MAC)地址有效地向多播組中所有其它成員發(fā)送數(shù)據(jù)。其自動選擇多播組管理節(jié)點而不需要任何配置。本發(fā)明不關(guān)心下層的單播路由協(xié)議,而是依靠可獲得的單播路由協(xié)議獲得網(wǎng)絡(luò)拓?fù)湫畔?。潛在的單播路由協(xié)議維持至無線網(wǎng)格網(wǎng)絡(luò)中所有目的節(jié)點的路由/路徑信息。只要已知多播組管理節(jié)點或者確定多播組管理節(jié)點,則可形成多播樹從而減小路由延遲。為了有效的多播流量(traffic)發(fā)送,本發(fā)明的協(xié)議產(chǎn)生根植于每個多播組的多播組管理節(jié)點的共享樹,并可選擇地建立源特定最短路徑樹。然后基于多播組IEEE 802.11 MAC地址可以將該數(shù)據(jù)從任意組成員傳送/發(fā)送至所有其它的成員。
公開了一種節(jié)點選擇路由以加入無線網(wǎng)格網(wǎng)絡(luò)中的多播組的方法,包括采用媒體接入控制地址建立節(jié)點和多播組之間的路由。還公開了一種采用媒體接入控制地址確定無線網(wǎng)格網(wǎng)絡(luò)中的多播組的多播組管理節(jié)點的方法。
當(dāng)結(jié)合附圖閱讀時從下面的詳細(xì)描述可最佳理解本發(fā)明。附圖包括如下簡要說明的示圖 圖1是網(wǎng)格網(wǎng)絡(luò)中節(jié)點遵從以加入多播組的流程圖。
圖2A描述了洪泛網(wǎng)格網(wǎng)絡(luò)組發(fā)現(xiàn)(group discovery,GDIS)消息以找到多播組G信息從而其可加入多播組G的新節(jié)點。
圖2B描述了由不同的多播組成員返回至組發(fā)現(xiàn)請求(GDIS)消息的起源點的組發(fā)現(xiàn)應(yīng)答(group discovery reply,GDRE)消息。
圖2C示出了發(fā)送JOIN(加入)消息并從組管理節(jié)點接收加入確認(rèn)消息的組發(fā)現(xiàn)請求(GDIS)消息起源點。
圖2D示出了已加入多播組的新節(jié)點。
圖3A描述了多播葉節(jié)點如何退出/離開多播組。
圖3B示出了剪枝后的多播樹。
圖4A描述了具有斷開鏈路的多播樹。
圖4B描述了試圖繞過該斷開鏈路的下游節(jié)點。
圖4C描述了繞開該斷開鏈路的修復(fù)多播樹。
具體實施例方式 節(jié)點可動態(tài)加入或者脫離/退出/離開網(wǎng)格網(wǎng)絡(luò)。節(jié)點可動態(tài)加入或者脫離/退出/離開多播組。脫離多播組不一定意味著該離開節(jié)點已經(jīng)離開網(wǎng)格網(wǎng)絡(luò)。但是,離開網(wǎng)格網(wǎng)絡(luò)確實意味著該脫離節(jié)點已經(jīng)離開多播組。每個多播組都具有多播組管理節(jié)點。以分布方式自動確定該多播組管理節(jié)點而不需要任何配置或者中央控制。網(wǎng)格網(wǎng)絡(luò)中加入多播組的第一節(jié)點成為多播組管理節(jié)點。如果網(wǎng)格網(wǎng)絡(luò)中的多個節(jié)點同時加入該組,則具有最小IEEE 802.11 MAC地址的節(jié)點成為多播組管理節(jié)點。一旦當(dāng)前多播組管理節(jié)點失效則產(chǎn)生新多播組管理節(jié)點,從而沒有失效的中心點。該多播組管理節(jié)點周期性地洪泛GroupHello(GHLO)消息經(jīng)過網(wǎng)格網(wǎng)絡(luò)。Group Hello(GHLO)消息包括多播組信息,其具有多播組IEEE 802.11 MAC地址、其管理節(jié)點IEEE 802.11 MAC地址、多播組管理節(jié)點的可選層3信息(例如IP地址)以及序列號。對于每個由多播組管理節(jié)點發(fā)送的新Group Hello消息,該序列號加1。如果節(jié)點為多個多播組的管理節(jié)點,則其可將這些多播組的信息組合在一個GHLO消息中。無線網(wǎng)格網(wǎng)絡(luò)中的每個節(jié)點還維持多播信息庫(MIB)以存儲從GHLO接收的在網(wǎng)格網(wǎng)絡(luò)中的活動多播組的信息,這意味著期望加入多播組中的節(jié)點可以實際上(virtually)立即實現(xiàn)這一點。甚至在節(jié)點加入多播組之前,該節(jié)點可以以單播方式向多播根節(jié)點(多播組管理節(jié)點)發(fā)送數(shù)據(jù),而該多播根節(jié)點可通過多播組共享樹重新分布數(shù)據(jù)。
本發(fā)明在層2(數(shù)據(jù)鏈路層)上執(zhí)行路由功能從而可基于多播組IEEE802.11 MAC地址將該數(shù)據(jù)包從多播組中的源節(jié)點向多播組中的多個目的節(jié)點傳送與發(fā)送。本發(fā)明的多播網(wǎng)格路由機制可用于客戶機-服務(wù)器應(yīng)用配置/拓?fù)?、對等?yīng)用配置/拓?fù)湟约盎旌蠎?yīng)用配置/拓?fù)洹?br>
參考描述網(wǎng)格網(wǎng)絡(luò)中節(jié)點如何加入多播組的流程圖的圖1,當(dāng)節(jié)點想要發(fā)送或接收目的為多播組的數(shù)據(jù)/流量即加入多播組時,該節(jié)點在105根據(jù)組IEEE 802.11 MAC地址檢查其多播信息庫以尋找組信息。在110通過確認(rèn)在該加入節(jié)點的多播信息庫中是否存在關(guān)于多播組G的任何信息,而確定是否存在多播組G。如果沒有該組的信息,則該加入節(jié)點在115在網(wǎng)絡(luò)上廣播組發(fā)現(xiàn)(GDIS)消息。GDIS消息包括起源點的IEEE 802.11 MAC地址、控制消息序列號、起源點的可選層3信息(例如IP地址)、目的IEEE 802.11 MAC地址(即要加入的多播組地址)以及生存時間(time-to-live)參數(shù)。當(dāng)節(jié)點接收GDIS消息時,該接收節(jié)點檢查其多播信息庫。多播組管理節(jié)點(多播組共享樹的根)或者多播組成員可以用組發(fā)現(xiàn)應(yīng)答(GDRE)消息來響應(yīng)GDIS消息。GDRE消息包括多播組信息,其具有多播組管理節(jié)點的IEEE 802.11 MAC地址、多播組管理節(jié)點的可選層3信息、多播組序列號。將根據(jù)下層(underlying)的單播路由協(xié)議以單播形式把GDRE消息返回至GDIS起源點即該加入成員節(jié)點。假定,單播路由協(xié)議維持至網(wǎng)格網(wǎng)絡(luò)中所有目的地的路由。這樣的單播路由協(xié)議的實例是采用IEEE 802.11 MAC地址的標(biāo)準(zhǔn)優(yōu)化鏈路狀態(tài)路由協(xié)議(Optimized Link State Routing Protocol,OLSR)。如果接收GDIS消息的節(jié)點沒有所請求的多播組信息,則其將向其所有的相鄰節(jié)點傳播GDIS消息。起源點在120等待發(fā)現(xiàn)周期以接收單個應(yīng)答或多個應(yīng)答。如果沒有應(yīng)答,則起源點在115重新傳送/重新廣播GDIS消息,同時該消息序列號加1。起源點以該方式繼續(xù)直到其接收到應(yīng)答或者在125已經(jīng)超過重試極限。如果在最大重試數(shù)后沒有接收到應(yīng)答,則如果起源點仍希望形成/加入該組則該起源點在135可成為該新多播組的多播組管理節(jié)點。一旦其成為多播組管理節(jié)點則該新多播組管理節(jié)點將發(fā)出該多播組的Group Hello。
如果該加入成員節(jié)點從一個或多個GDRE、從其多播信息庫獲得多播組管理節(jié)點IEEE 802.11 MAC地址,則在130其以單播形式向多播組的多播組管理節(jié)點發(fā)送具有確認(rèn)標(biāo)記設(shè)置的JOIN消息。該JOIN消息包括多播組地址、多播組管理節(jié)點地址、加入該多播組節(jié)點的地址以及標(biāo)記。逐跳地將該JOIN消息發(fā)送至多播組管理節(jié)點,同時建立其所經(jīng)過的每個中間節(jié)點的路由。該多播組管理節(jié)點在接收具有確認(rèn)標(biāo)記設(shè)置的JOIN消息后通過向該加入成員節(jié)點返回加入確認(rèn)(Join Acknowledgement,JACK)消息而響應(yīng)。如果該加入成員在特定時間內(nèi)沒有接收到JACK消息,則其重新發(fā)送具有確認(rèn)標(biāo)記設(shè)置的JOIN消息。在137確定是否已經(jīng)接收到加入確認(rèn)消息。其繼續(xù)如此直到其從多播組管理節(jié)點接收J(rèn)ACK消息或者在139達到重試極限。如果在該預(yù)定最大重試數(shù)之后沒有收到應(yīng)答,則該加入成員返回到組發(fā)現(xiàn)階段。該路由用于在140從多播組中所有其它源向該新成員節(jié)點發(fā)送目的地為該多播組的數(shù)據(jù)幀,并將由該新成員節(jié)點發(fā)出且目的地為該多播組的數(shù)據(jù)幀發(fā)送至多播組中所有其它的成員節(jié)點。當(dāng)多個節(jié)點加入該多播組中時,JOIN消息會聚于該多播組管理節(jié)點并為多播組G產(chǎn)生樹。該樹以多播組管理節(jié)點為根并由該多播組G中的節(jié)點共享,并稱為共享樹或者(*,G)樹。將由多播組G中的源S產(chǎn)生目的地為G的數(shù)據(jù)幀從該源沿多播樹發(fā)送并且最終到達該多播組的所有接收器。
建立的多播樹的路由壽命有限。只要節(jié)點仍在多播組中,則由成員節(jié)點周期性重新發(fā)送(*,G)JOIN消息以刷新(refresh)該路由。在用于刷新的JOIN消息中沒有設(shè)置確認(rèn)標(biāo)記。多播樹的節(jié)點跟蹤單個下游節(jié)點(該節(jié)點距離多播組管理節(jié)點更遠(yuǎn))的加入成員資格。在每次從下游成員節(jié)點接收J(rèn)OIN消息時對路由壽命參數(shù)進行更新。JOIN消息可包括想要加入或者留在該組中的多個下游節(jié)點。如果多播樹節(jié)點在特定的壽命內(nèi)未從其下游節(jié)點接收任何JOIN消息,則至下游節(jié)點的樹分支/路由終止,并且將不通過相應(yīng)的無線界面向下游發(fā)送多播數(shù)據(jù)。
在替換實施例中,活動(active)多播樹的上游節(jié)點周期性發(fā)送查詢(Query)消息以維持多播樹的活動路由。如果下游節(jié)點保持在多播組中,則多播樹的下游鄰居/節(jié)點響應(yīng)以報告(Report)消息。如果針對K個查詢消息沒有報告,則上游節(jié)點認(rèn)為沒有該多播組的下游節(jié)點。K為預(yù)定的重試極限。
與從源至接收器/目的地的最短路徑相比,經(jīng)過該組共享樹的路由可能包括一些接收器/目的地的繞行。為更有效地使用帶寬,多播組成員可在150通過在接收具有源節(jié)點S的源地址的多播數(shù)據(jù)幀后發(fā)出(S,G)加入(Join)而可選地開啟從共享樹轉(zhuǎn)移至源特定最短路徑樹(S,G)的過程。將該(S,G)加入逐跳地發(fā)送至源節(jié)點S。其建立其所經(jīng)過每個中間節(jié)點中的路由。該路由用于發(fā)送針對組G源節(jié)點S所產(chǎn)生的數(shù)據(jù)幀(即具有源和目的地地址對(S,G))。然后沿(S,G)樹將組G的源節(jié)點S所產(chǎn)生的數(shù)據(jù)幀發(fā)送至接收器。
該接收器或者其一個上游節(jié)點將接收兩個數(shù)據(jù)備份,一個來自源特定樹,一個來自多播組共享樹。一旦從源特定樹接收第一數(shù)據(jù)幀,則來自源節(jié)點S的從多播組共享樹到達的多播組G的數(shù)據(jù)幀將被丟棄。另外,接收兩個數(shù)據(jù)備份的節(jié)點向該多播組管理節(jié)點發(fā)送(S,G)剪枝(Prune)消息。該剪枝消息沿多播組共享樹上的路徑逐跳地發(fā)送至多播組管理節(jié)點。該(S,G)剪枝指令中間節(jié)點停止沿該方向發(fā)送針對多播組G的來自源節(jié)點S的數(shù)據(jù)幀。發(fā)送該剪枝直到其到達多播組管理節(jié)點或者其它接收器仍然需要源節(jié)點S發(fā)出的數(shù)據(jù)的節(jié)點。在該過程后,接收器然后僅僅沿接收器與源之間的源特定樹從源S接收數(shù)據(jù)。
圖2A-2D示出了新節(jié)點“N”如何加入以節(jié)點R為根的多播組。黑色陰影節(jié)點為多播組成員。白色節(jié)點為不是多播組成員的節(jié)點。現(xiàn)在參考圖2A,節(jié)點“N”為想要加入多播組G的新節(jié)點。在節(jié)點N的多播信息庫中沒有關(guān)于多播組G的信息。節(jié)點“N”然后以GDIS消息洪泛網(wǎng)格網(wǎng)絡(luò)以試圖定位多播組G信息。通過不是多播組成員的節(jié)點傳送GDIS消息直到GDIS消息到達是多播樹成員的節(jié)點。圖2B描述了返回至想要加入多播組的新節(jié)點的GDRE消息。該GDRE消息以單播形式由不同的多播組成員送回至新節(jié)點。圖2C示出了傳送JOIN消息的新節(jié)點。該JOIN消息逐跳地傳送至多播組管理節(jié)點R,而該組管理節(jié)點R返回JACK消息。圖2D示出了已經(jīng)加至多播組的新成員節(jié)點N以及所創(chuàng)建的至新成員N的樹分支。不是多播組成員的節(jié)點F也作為發(fā)送節(jié)點添加,從而成為多播樹的成員。
甚至在節(jié)點加入多播組之前,如果其已知多播組管理節(jié)點的IEEE 802.11MAC地址以及至多播組管理節(jié)點的單播路由,則其可以單播形式發(fā)送目的地為多播組的數(shù)據(jù)幀至多播組管理節(jié)點。該多播組管理節(jié)點通過多播組共享樹將該數(shù)據(jù)幀重新分布至該多播組中的接收器/目的地。在IEEE 802.11數(shù)據(jù)幀的首部有四個地址字段。地址1-4對應(yīng)接收器地址(RA)、發(fā)射器地址(TA)、目的地地址(DA)、和源地址(SA)。RA表示數(shù)據(jù)幀的期望直接接收方。TA為數(shù)據(jù)幀發(fā)射器的IEEE 802.11 MAC地址。DA表示數(shù)據(jù)幀的最終目的地。SA為發(fā)起數(shù)據(jù)幀的源的IEEE 802.11 MAC地址。當(dāng)源節(jié)點S想要以單播形式將目的地為多播組G的數(shù)據(jù)幀發(fā)送至多播組管理節(jié)點時,其檢查其多播信息庫以尋找多播組管理節(jié)點MAC地址以及至多播組管理節(jié)點的下一跳的單播路由表。其將數(shù)據(jù)幀中的TA設(shè)置為自身的IEEE 802.11 MAC地址(因為其是該數(shù)據(jù)幀的發(fā)射器),將RA設(shè)置為下一跳的IEEE 802.11 MAC地址(因為其是期望的直接接收方),將DA設(shè)置為多播組的IEEE 802.11 MAC地址G(因為其是該數(shù)據(jù)幀的最終目的地)并將SA設(shè)置為其自身的IEEE 802.11MAC地址S(因為其發(fā)起了該數(shù)據(jù)幀)。該幀稱為隧道幀(Tunnel Frame)。其具有單播RA地址和針對多播組G的DA。注意該隧道幀與其中RA和DA都是多播組地址G的常規(guī)多播數(shù)據(jù)幀不同。源節(jié)點向朝向多播組管理節(jié)點的下一跳發(fā)送隧道幀。下一跳節(jié)點接收具有RA即其自身地址和DA多播組地址的隧道幀。下一跳然后檢查其多播信息庫以尋找多播組管理節(jié)點的IEEE802.11 MAC地址,以及檢查單播路由表格以尋找至多播組管理節(jié)點的路由,并將TA地址改為其自身地址(因為其是發(fā)射器)及其將RA地址改為朝向多播組管理節(jié)點的其直接上游節(jié)點。SA和DA地址保持不變。然后將該數(shù)據(jù)幀發(fā)送至朝向多播組管理節(jié)點的上游節(jié)點。該上游節(jié)點以相同的方法處理數(shù)據(jù)幀。該數(shù)據(jù)幀逐跳地移向多播組管理節(jié)點。最終,其到達多播組管理節(jié)點。一旦該多播組管理節(jié)點收到隧道幀,則其將數(shù)據(jù)幀的RA地址改為多播組的IEEE 802.11 MAC地址G,并將數(shù)據(jù)幀分布在多播組共享樹上。然后該數(shù)據(jù)幀在多播組共享樹上被發(fā)送并到達該多播組的所有接收器/目的地。
如果作為多播組成員的葉節(jié)點想要退出/離開多播組,則其沿多播組的多播樹將PRUNE(剪枝)消息單播至其上游節(jié)點。一旦該上游節(jié)點收到PRUNE消息,則其刪除向其發(fā)送PRUNE消息的節(jié)點的路由信息。多播樹上的節(jié)點跟蹤單個下游節(jié)點的加入成員資格并維持下游的活動鄰居/節(jié)點列表。如果發(fā)送PRUNE消息的節(jié)點是最后的下游節(jié)點,則對該樹分支剪枝,并且沒有額外的數(shù)據(jù)流量通過相應(yīng)的無線界面向下游發(fā)送。為了額外的可靠性,該節(jié)點在剪枝分支之前發(fā)送PruneEcho(剪枝回音)消息。其等待特定周期以查看該剪枝是否由留在多播組中的另一個下游相鄰節(jié)點推翻(override)。如果留在多播組中的下游相鄰節(jié)點從其上游相鄰節(jié)點收到PruneEcho,則其立即發(fā)JOIN消息以推翻PruneEcho。注意PruneEcho消息只發(fā)送至直接相鄰的節(jié)點,不再向更遠(yuǎn)處傳播。如果另一個剩余的下游節(jié)點采用該樹,則不能對該樹分支剪枝。刪除下游節(jié)點后,如果該節(jié)點成為葉節(jié)點并且不想接收目的地為該多播組的數(shù)據(jù)或者向該多播組發(fā)送數(shù)據(jù),則其通過沿多播樹向上游發(fā)送PRUNE消息而從多播樹對自身剪枝。
圖3A-3B示出了節(jié)點“A”如何放棄多播組中的成員資格。黑色陰影節(jié)點為多播組成員。白色節(jié)點為不是多播組成員的節(jié)點。圖3A描述了多播葉節(jié)點如何脫離/退出/離開多播組。節(jié)點“A”發(fā)送PRUNE消息以放棄其在多播組中的成員資格。圖3B示出了剪枝后的多播樹。在節(jié)點“A”從多播組放棄其成員資格后,節(jié)點“B”被留下作為葉節(jié)點。不想自己繼續(xù)其在多播組中的資格,其從多播樹對自己進行剪枝。
如果多播組管理節(jié)點失效或者不能利用,則失效多播組管理節(jié)點的相鄰多播組成員成為新的多播組管理節(jié)點。有可能該失效的多播組管理節(jié)點在該多播組中可具有數(shù)個相鄰成員。具有最低IEEE 802.11 MAC地址的相鄰成員成為新的多播組管理節(jié)點。通過如下所述的選擇過程確定新的多播組管理節(jié)點。所有潛在的多播組管理節(jié)點即失效多播組管理節(jié)點的相鄰多播組成員發(fā)出Group Hello消息,以其自身的IEEE 802.11 MAC地址作為候選的多播組管理節(jié)點地址。如果潛在的多播組管理節(jié)點看到具有較低IEEE 802.11 MAC地址的GHLO消息,則其放棄其多播組管理請求。然后失效的多播組管理節(jié)點的、具有最低IEEE 802.11 MAC地址的相鄰成員成為新的多播組管理節(jié)點。該新多播組管理節(jié)點周期性發(fā)出GHLO消息,而其它成員加入以新多播組管理節(jié)點為根部的共享多播樹。
在替換實施例中,Group Hello消息攜帶后備(backup)多播組管理節(jié)點的IEEE 802.11 MAC地址。該后備多播組管理節(jié)點是具有最低IEEE 802.11MAC地址的當(dāng)前多播部管理節(jié)點的相鄰成員。該信息存儲在節(jié)點的多播信息數(shù)據(jù)庫中。如果多播組管理節(jié)點失效或者不可用,則后備多播組管理節(jié)點承擔(dān)為新的多播組管理節(jié)點。如果多播組管理節(jié)點和后備多播組管理節(jié)點同時失效或者不可利用,則通過失效多播組管理節(jié)點和后備多播組管理節(jié)點的剩下的相鄰成員中的上述選擇過程確定新的多播組管理節(jié)點。
對于網(wǎng)格網(wǎng)絡(luò)中的多播組多個多播組管理節(jié)點可能臨時存在。當(dāng)老多播組管理節(jié)點如前所述失效時,或者當(dāng)多個節(jié)點想要同時加入新多播組或者重新連接分割的(partitioned)多播樹時發(fā)生這種情況。如果節(jié)點收到包括與其自身記錄不同的多播組管理節(jié)點信息的相同多播組的GHLO消息,則可檢測到該情況。根據(jù)上述選擇規(guī)則即多播組管理節(jié)點應(yīng)當(dāng)具有最低IEEE 802.11MAC地址對其進行校正。如果多播組管理節(jié)點收到其是管理節(jié)點的多播組的GHLO消息,并且如果該消息中所包括多播組管理節(jié)點信息表示不同的節(jié)點是多播組管理節(jié)點,則其意味著兩個多播組管理節(jié)點存在于兩個分割的多播樹。需要修復(fù)多播樹。具有較高IEEE 802.11 MAC地址的多播組管理節(jié)點放棄其多播組管理資格并向另一多播組管理節(jié)點發(fā)送JOIN消息。
當(dāng)鏈路斷開時,斷開處的下游節(jié)點(即距離多播組管理節(jié)點更遠(yuǎn)的節(jié)點)試圖修復(fù)此鏈路。實際上,試圖繞過斷開的鏈路并產(chǎn)生返回多播樹的替換路徑。認(rèn)為單播網(wǎng)格路由協(xié)議可以并將修復(fù)單播網(wǎng)格路由表格。在修復(fù)該單播網(wǎng)格路由后,負(fù)責(zé)修復(fù)斷開鏈路的下游節(jié)點向多播組管理節(jié)點發(fā)送JOIN。如果不可能通過重新加入多播樹而修復(fù)多播樹,則負(fù)責(zé)繞過斷開鏈路的下游節(jié)點成為新多播樹的新多播組管理節(jié)點。
圖4A-4C描述了修復(fù)斷開的多播樹鏈路。圖4A描述了具有斷開鏈路的多播樹。在該實例中節(jié)點“A”和根“R”之間的鏈路斷開。圖4B描述了試圖通過發(fā)出請求加入多播組的JOIN消息而繞過斷開鏈路的下游節(jié)點(節(jié)點“A”)。圖4C描述了繞過的斷開鏈路的修復(fù)的多播樹。如前面所述,通過采用至多播樹根部的可利用新單播網(wǎng)格路由繞過斷開的鏈路而沒有實際修復(fù)。
將理解可以以例如在移動終端、接入點、或者蜂窩狀網(wǎng)絡(luò)內(nèi)的各種硬件、軟件、固件、特殊用途處理器或者其組合實現(xiàn)本發(fā)明。優(yōu)選地,本發(fā)明實現(xiàn)為硬件和軟件的組合。而且,優(yōu)選將軟件實現(xiàn)為可在程序存儲器件上實際體現(xiàn)的應(yīng)用程序。該應(yīng)用程序可上載至包括任何適合架構(gòu)的機器上并由其實施。優(yōu)選地,在具有硬件例如一個或多個中央處理單元(CPU)、隨機訪問存儲器(RAM)、和輸入/輸出(I/O)界面的計算機平臺上實現(xiàn)該機器。該計算機平臺還包括操作系統(tǒng)和微指令代碼。這里所描述的各種過程和功能可以是經(jīng)操作系統(tǒng)執(zhí)行的微指令代碼部分或者應(yīng)用程序部分(或者其組合)。此外,可將各種其它外圍設(shè)備至計算機平臺例如附加數(shù)據(jù)存儲設(shè)備以及打印設(shè)備連至計算機平臺。
將理解,因為優(yōu)選以軟件實施在附圖中描述的某些組成系統(tǒng)元件和方法步驟,所以系統(tǒng)元件(或者過程步驟)之間的實際連接可隨著對本發(fā)明編程的方式的不同而不同。給出這里的教導(dǎo),一個本領(lǐng)域技術(shù)人員將能夠考慮本發(fā)明的這些及相似應(yīng)用或者配置。
權(quán)利要求
1.一種節(jié)點選擇路由以加入無線網(wǎng)格網(wǎng)絡(luò)中多播組的方法,所述方法包括采用媒體接入控制地址建立所述節(jié)點和所述多播組之間的所述路由。
2.如權(quán)利要求1所述的方法,還包括由無線網(wǎng)格網(wǎng)絡(luò)的每個節(jié)點將所述多播組當(dāng)前使用的路由維持在多播信息庫中。
3.如權(quán)利要求1所述的方法,其中所述多播組為動態(tài)并且任意節(jié)點都能夠在任何時間動態(tài)加入或者離開所述多播組。
4.如權(quán)利要求3所述的方法,其中所述離開所述多播組的節(jié)點保留其在所述無線網(wǎng)格網(wǎng)絡(luò)中的成員資格。
5.如權(quán)利要求1所述的方法,還包括
由所述加入節(jié)點基于所述多播組媒體接入控制地址檢查多播信息庫以尋找多播組信息;
如果在所述多播信息庫中沒有關(guān)于所述多播組的信息,則由所述加入節(jié)點廣播組發(fā)現(xiàn)消息;
由所述加入節(jié)點接收至少一個對于所述組發(fā)現(xiàn)消息的組發(fā)現(xiàn)應(yīng)答消息;
由所述加入節(jié)點向所述多播組的根節(jié)點傳送加入消息;以及
由所述加入節(jié)點發(fā)送目的地為所述多播組中每個其它節(jié)點的數(shù)據(jù)。
6.如權(quán)利要求5所述的方法,其中重復(fù)所述廣播步驟直到超出預(yù)定的重試極限。
7.如權(quán)利要求6所述的方法,其中所述加入節(jié)點成為新多播組的根節(jié)點。
8.如權(quán)利要求7所述的方法,其中所述根節(jié)點廣播group_hello消息以將其宣示為所述新多播組的多播組管理節(jié)點。
9.如權(quán)利要求5所述的方法,其中所述加入節(jié)點向作為所述多播組成員的源節(jié)點發(fā)送加入消息以從根為所述源節(jié)點的源樹接收數(shù)據(jù)。
10.如權(quán)利要求5所述的方法,其中所述廣播步驟包括通過不是所述多播組成員的節(jié)點發(fā)送所述組發(fā)現(xiàn)消息。
11.如權(quán)利要求3所述的方法,其中離開的節(jié)點沿所述多播組的多播樹向其上游節(jié)點單播剪枝消息。
12.如權(quán)利要求11所述的方法,其中所述上游節(jié)點刪除針對所述離開節(jié)點的所述路由信息。
13.如權(quán)利要求11所述的方法,其中如果所述離開節(jié)點為最后的下游節(jié)點則對至所述離開節(jié)點的樹分支進行剪枝,并且將沒有另外的數(shù)據(jù)通過對應(yīng)于所述剪枝的樹分支的無線鏈路傳送。
14.如權(quán)利要求13所述的方法,其中所述上游節(jié)點在其剪枝所述樹分支之前傳送prune_echo消息。
15.如權(quán)利要求14所述的方法,其中所述上游節(jié)點等待預(yù)定的時間周期以接收從下游節(jié)點至所述上游節(jié)點的prune_override消息。
16.如權(quán)利要求15所述的方法,其中所述prune_override消息是加入消息。
17.如權(quán)利要求14所述的方法,其中如果所述上游節(jié)點因為剪枝所述離開節(jié)點和至所述離開節(jié)點的所述樹分支而成為葉節(jié)點且所述葉節(jié)點不想繼續(xù)與所述多播組通信,則所述上游節(jié)點通過向其上游節(jié)點發(fā)送剪枝消息而從所述多播組對自身剪枝。
18.如權(quán)利要求11所述的方法,還包括繞過斷開的多播樹鏈路。
19.一種用于想要加入多播組的節(jié)點采用媒體接入控制地址確定無線網(wǎng)格網(wǎng)絡(luò)所述多播組的多播組管理節(jié)點的方法。
20.如權(quán)利要求19所述的方法,其中所述多播組管理節(jié)點通過穿過所述無線網(wǎng)格網(wǎng)絡(luò)發(fā)送group-hello消息而宣示其多播組管理資格。
21.如權(quán)利要求19所述的方法,其中所述加入節(jié)點采用所述多播組媒體接入控制地址搜索多播信息庫,并采用找到的多播組信息加入所述多播組。
22.如權(quán)利要求21所述的方法,其中對于所述多播組沒有找到信息,并且所述加入節(jié)點穿過所述無線網(wǎng)格網(wǎng)絡(luò)廣播組發(fā)現(xiàn)消息。
23.如權(quán)利要求22所述的方法,其中所述加入節(jié)點從所述多播組管理節(jié)點和從多播組成員接收響應(yīng)組發(fā)現(xiàn)響應(yīng)。
24.如權(quán)利要求22所述的方法,其中所述組發(fā)現(xiàn)消息包括所述節(jié)點媒體接入控制地址、序列號、要加入的多播組的媒體接入控制地址以及生存時間參數(shù)。
25.如權(quán)利要求23所述的方法,其中所述組發(fā)現(xiàn)應(yīng)答包括所述多播組序列號、所述多播組媒體接入控制地址、和所述多播組信息。
26.一種確定多播組管理節(jié)點的方法,所述方法包括在當(dāng)前多播組管理節(jié)點不可利用或者失效時使幾個相鄰多播組成員中的一個成為新多播組管理節(jié)點。
27.如權(quán)利要求26所述的方法,其中所述幾個相鄰多播組成員中具有最低媒體接入控制地址的一個成為所述新多播組管理節(jié)點。
28.如權(quán)利要求27所述的方法,其中所述幾個相鄰多播組成員的每一個發(fā)送包括媒體接入控制地址的group_hello消息以選擇該新多播組管理節(jié)點。
29.一種節(jié)點選擇路由以加入無線網(wǎng)格網(wǎng)絡(luò)中多播組的系統(tǒng),包括采用媒體接入控制地址建立所述節(jié)點和所述多播組之間的所述路由的裝置。
30.如權(quán)利要求29所述的系統(tǒng),還包括采用媒體接入控制地址確定無線網(wǎng)格網(wǎng)絡(luò)中所述多播組的多播組管理節(jié)點的裝置。
31.如權(quán)利要求30所述的系統(tǒng),還包括在當(dāng)前多播組管理節(jié)點不可利用或者失效時使幾個相鄰多播組成員中的一個成為新多播組管理節(jié)點的裝置。
全文摘要
公開了一種節(jié)點選擇路由以加入無線網(wǎng)格網(wǎng)絡(luò)中多播組的方法,包括利用媒體接入控制地址建立該節(jié)點和該多播組之間的路由。還公開了一種采用媒體接入控制地址確定無線網(wǎng)格網(wǎng)絡(luò)的多播組的多播組管理節(jié)點的方法。
文檔編號H04L12/56GK101167311SQ200580049590
公開日2008年4月23日 申請日期2005年4月25日 優(yōu)先權(quán)日2005年4月25日
發(fā)明者航 劉, 軍 李, 索拉布·馬瑟 申請人:湯姆森特許公司