專利名稱:低延遲網(wǎng)狀網(wǎng)絡的制作方法
技術(shù)領(lǐng)域:
本公開一般涉及網(wǎng)絡通信。
背景技術(shù):
網(wǎng)狀網(wǎng)絡(mesh network)因其靈活性而越來越普及。網(wǎng)狀網(wǎng)絡不需要網(wǎng)絡布線, 從而使得它們更容易建立和部署。例如,網(wǎng)狀網(wǎng)絡可被用來實現(xiàn)智能電網(wǎng)(smart grid),對于此示例,智能電網(wǎng)是具有許多控制環(huán)路的廣域控制系統(tǒng)。這些控制環(huán)路之一在(住宅的、 商業(yè)的和工業(yè)的)消費設施處應用智能電表。計量信息被往上游傳輸給對其進行存儲和分析的數(shù)據(jù)中心。系統(tǒng)連續(xù)地監(jiān)視可用電力并將其與消費者的需求作比較。為了最小化停電的可能性,系統(tǒng)一直維持旋轉(zhuǎn)備用,該旋轉(zhuǎn)備用可用在短時間段內(nèi)投入使用以滿足需求。當旋轉(zhuǎn)備用下降到某個閾值之下時,智能電網(wǎng)向消費者發(fā)出用于請求他們通過斷開非緊急負載來減少消耗的需求響應(DR)請求。系統(tǒng)通過將發(fā)出DR請求之前的計量讀數(shù)與DR請求被發(fā)出之后的計量讀數(shù)相比較來監(jiān)視消費者遵從度。在此情形中,控制環(huán)路包括智能電表、 從智能電表到數(shù)據(jù)中心的通信路徑、計量數(shù)據(jù)分析軟件以及然后回到家用電器或家庭能源控制器的通信路徑,家庭能源控制器控制家中或設施處的能耗。與任何其它控制系統(tǒng)一樣, 此環(huán)路中的延遲越短,整個系統(tǒng)的性能就越好。無線網(wǎng)狀網(wǎng)絡可被廣泛地用作智能電網(wǎng)的一部分,以用于到電表的最后一英里通信。在此實現(xiàn)方式中,每個智能電表作為網(wǎng)狀網(wǎng)絡中的集線器來操作,該集線器輔助將其自身的計量數(shù)據(jù)與來自其鄰居的計量數(shù)據(jù)一起往上游傳送給數(shù)據(jù)中心。類似地,每個智能電表可以作為如下這樣的集線器來操作,該集線器可以輔助將來自應用數(shù)據(jù)中心的DR傳送到鄰近的其它家庭。網(wǎng)狀網(wǎng)絡具有能夠使用低功率發(fā)送器來通信的優(yōu)點,這有助于使每個電表中的發(fā)送器的功率需求最小化。
被結(jié)合于此的并且形成了說明書一部分的附示出了示例實施例。圖1圖示出了根據(jù)示例實施例配置的無線網(wǎng)狀網(wǎng)絡。圖2圖示出了根據(jù)示例實施例配置的無線節(jié)點的示例。圖3圖示出了可以在其上實現(xiàn)示例實施例的計算機系統(tǒng)的示例。圖4圖示出了根據(jù)示例實施例的用于轉(zhuǎn)發(fā)下游網(wǎng)狀分組的方法的示例。圖5圖示出了判斷分組序列中的分組是否丟失的、用于轉(zhuǎn)發(fā)下游網(wǎng)狀分組的方法的示例。
具體實施方式
下面呈現(xiàn)了示例實施例的簡化概述,以提供對示例實施例的一些方面的基本了解。該概述不是示例實施例的寬泛概述。既不旨在標識出示例實施例的關(guān)鍵或至關(guān)重要方面,也不旨在描繪所附權(quán)利要求的范圍。其唯一目的是以簡化形式將示例實施例的一些概念呈現(xiàn)作為對于后面將呈現(xiàn)的更詳細描述的序言。根據(jù)示例實施例,這里公開了一種裝置,包括無線收發(fā)器和耦合到該無線收發(fā)器的分組處理邏輯。該分組處理邏輯響應于經(jīng)由無線收發(fā)器從第一上游節(jié)點接收到去往下游節(jié)點的分組,經(jīng)由無線收發(fā)器將該分組轉(zhuǎn)發(fā)到朝著該下游節(jié)點的下行鏈路路徑上。該分組處理邏輯還被配置為響應于判定無線收發(fā)器不能發(fā)送將到達第一上游節(jié)點的信號,經(jīng)由無線收發(fā)器向位于到第一上游節(jié)點的上行鏈路路徑上的并且處于該無線收發(fā)器的范圍內(nèi)的第二上游節(jié)點發(fā)送去往第一上游節(jié)點的針對該分組的回復。根據(jù)示例實施例,這里公開了一種方法,包括建立與第一上游節(jié)點的無線連接, 其中下行鏈路分組直接從第一上游節(jié)點被接收,并且去往第一上游節(jié)點的上行鏈路分組被路由經(jīng)過第二上游節(jié)點。經(jīng)由無線連接直接從第一上游節(jié)點被接收的、去往下行鏈路節(jié)點的分組經(jīng)由無線連接朝著該下行鏈路節(jié)點被轉(zhuǎn)發(fā)。對示例實施例的描述本描述提供了不旨在限制所附權(quán)利要求的范圍的示例。附圖大體指示出了示例的特征,其中,將明白和理解,相似的標號被用來指代相似元件。說明書中對“一個實施例”或 “實施例”或“示例實施例”的引用是指所描述的特定特征、結(jié)構(gòu)或特性被包括在這里描述的至少一個實施例中并且并不意味著這些特征、結(jié)構(gòu)或特性要出現(xiàn)在這里描述的所有實施例中。在圖1所示的示例實施例中,智能電網(wǎng)網(wǎng)狀網(wǎng)絡100使用智能電表104、106、108、 110、112作為低功耗節(jié)點。為此,每個智能電表104、106、108、110、112可被用來輔助將來自相鄰智能電表的信息傳輸?shù)綌?shù)據(jù)中心或者將來自數(shù)據(jù)中心的信息傳輸?shù)较噜徶悄茈姳?。例如,如圖1所示,網(wǎng)關(guān)“G” 102可以與電表(網(wǎng)狀節(jié)點)M(I) 104雙向地通信,如122所示。 電表M(I) 104可以與電表M(i-l) 106直接地進行雙向通信,或者,在特定實施例中,經(jīng)由電表M(I) 104 與M(i-l) 106 之間的其它電表(例如,M(I) 104 至]. . . M(i_2)至M(i_l)106, 其中電表M(2)和M(i-2)未被示出)點到點地進行雙向通信,如1 所示。電表M(i-l)106 可以與電表M(i) 108雙向地通信,如126所示。電表M(i) 108可以與電表M(i+1) 110雙向地通信,如1 所示。電表M (i+1) 110可以與電表M (η) 112直接地進行雙向通行,或者,經(jīng)由電表M(i+l)110與Μ(η)112之間的其它電表(例如,電表M(i+1) 110到M(i+2). . . Μ(η_1) 到Μ(η)112,電表M(i+2). . .M(n-l)未被示出)點到點地進行雙向通行,如130所示。在此示例中,網(wǎng)關(guān)102以比網(wǎng)狀節(jié)點104、106、108、110、112高的功率操作,因此由網(wǎng)關(guān)102發(fā)送的信號(由120圖示出)可以被相距一跳以上的網(wǎng)狀節(jié)點接收到,然而,這些相距一跳以上的網(wǎng)狀節(jié)點106、108、110、112缺乏充足的功率來直接回傳到網(wǎng)關(guān)102。例如,電表M(I) 104 與網(wǎng)關(guān)102相距一跳,并且電表M(i-l) 106和M⑴108與網(wǎng)關(guān)102相距一跳以上。因此,對于此示例,僅電表M(I) 104具有充足功率來直接回傳到網(wǎng)關(guān)102(由122表示)。計量信息經(jīng)由網(wǎng)關(guān)或集中器(或網(wǎng)狀接入點“MAP”)102在上行鏈路中流動。作為自動化網(wǎng)狀網(wǎng)絡配置的一部分,每個節(jié)點(智能電表)104、106、108、110、112發(fā)現(xiàn)其離集中器(網(wǎng)關(guān)102)的距離(例如跳數(shù))并且將該距離公布給其鄰居。該信息被其鄰居用來選擇最短(最低延遲)的上行鏈路路徑。大多數(shù)網(wǎng)狀算法也將最短上行鏈路路徑用于其下行鏈路通信。如本領(lǐng)域技術(shù)人員容易理解的,“最后一英里”網(wǎng)狀拓撲將數(shù)千智能電表經(jīng)由單個集中器連接到廣域網(wǎng)是不常見的。另外的集中器(未示出)可被用來增加網(wǎng)絡的可用性。對于此示例,假設“最后一英里”網(wǎng)狀網(wǎng)絡經(jīng)由網(wǎng)關(guān)“G” 102連接到廣域網(wǎng)。還假設電表M(n)112可以經(jīng)由電表M(n-l),M(n_2),. . .M(2)和M(I) 104通過η跳抵達網(wǎng)關(guān)G。 由于其發(fā)送器的低功率,M(n) 112無法直接傳輸?shù)骄W(wǎng)關(guān)。如前所述,上述路徑被用于網(wǎng)關(guān)G 102與電表M(n) 112之間的上行鏈路和下行鏈路通信兩者。示例實施例的一個方面是基于如下觀察的雖然電表的功率被保持最小,但集中器可能使用更高的功率。因此,下行鏈路路徑可能跳過少數(shù)電表(例如,M(I) 104至 M(i-l)106)并且經(jīng)過 M(i)108,并且經(jīng)由電表 M(i) 108,M(i+l)110, M(i+2), · . ·Μ(η_2), Μ(η-1)與電表Μ(η)112通信,其中i < η?,F(xiàn)有因特網(wǎng)協(xié)議“IP”路由協(xié)議支持非對稱網(wǎng)絡,其中分組從節(jié)點A到節(jié)點B采取一條路徑,而從節(jié)點B到節(jié)點A采取不同路徑。這些算法假設每個網(wǎng)段可以沿著該路徑在任何兩個相鄰節(jié)點之間建立第2層連通性。這種假設在這里描述的示例拓撲中顯然不成立。雖然電表M(i) 108可以接收來自網(wǎng)關(guān)G 102的分組, 但是其發(fā)送器不具有充足功率來建立回到G 102的第2層連通性以直接向網(wǎng)關(guān)G 102往回確認分組的接收。根據(jù)示例實施例,與電表M(i-1) 106和M(i+1) 110通信的電表M(i) 108 認識到如下事實其是可從網(wǎng)關(guān)102接收信號120的離網(wǎng)關(guān)102最遠的節(jié)點(在朝向電表 M(η) 112的下行鏈路路徑中)。結(jié)果,在示例實施例中,電表M(i) 108建立與網(wǎng)關(guān)G 102的對等第3層確認機制。從網(wǎng)關(guān)G 102朝電表M(i) 108的下游通信使用多播模式而不用第2 層確認信號,并且用電表M(i) 108與網(wǎng)關(guān)G 102之間的第3層確認來取代它。在示例實施例中,為了簡化下游鏈路網(wǎng)狀結(jié)構(gòu)的總體形成,系統(tǒng)可以利用節(jié)點 M(i+1) 110至M(η) 112的上行鏈路路由表以建立從電表M(i+1) 110到M(η) 112的下行鏈路路徑。根據(jù)示例實施例,每個電表(網(wǎng)狀網(wǎng)絡中的節(jié)點)104、106、108、110、112被配備有用于存儲近來(例如,在最近一秒中)被發(fā)送來的下行鏈路消息的日志的存儲器。當新的下行鏈路分組到達電表時,該電表將該分組與最近被發(fā)送來的分組的日志相比較。如果該分組被證實是一個副本,則該消息被濾掉并且不被轉(zhuǎn)發(fā)。該機制確保了僅非副本消息朝著電表Μ(η) 112被發(fā)送。該機制防止了副本消息阻塞網(wǎng)絡并降低其速度。以下示例提供了對根據(jù)本發(fā)明的系統(tǒng)的操作的更詳細圖示說明網(wǎng)絡形成步驟1 由低功率節(jié)點(電表)104、106、108、110、112和高功率節(jié)點(G) 102組成的網(wǎng)狀網(wǎng)絡利用合適協(xié)議被建立。步驟2 —旦網(wǎng)狀關(guān)系被建立,不是G 102的直接子節(jié)點的節(jié)點(例如,電表106、 108、110、112)開始監(jiān)聽直接來自于G 102的無線電信號。例如,對于到邊緣節(jié)點(例如,電表M(n)lU)的每個通信路徑,對等節(jié)點識別出節(jié)點M(i) 108,其是離G 102最遠的并且仍可以接收到來自G 102的信號的節(jié)點。步驟3 節(jié)點M(i) 108創(chuàng)建具有用于管理朝著邊緣節(jié)點M(n) 112的通信的緩沖器的客戶端。該客戶端和緩沖器的操作將在下面說明。此外,在特定實施例中,G 102與 M(i) 108之間的、不是直接子節(jié)點的所有節(jié)點(例如M(i-l)106)也可以創(chuàng)建這里描述的客戶端和緩沖器。正常操作一無丟失的分組從網(wǎng)關(guān)102去往邊緣節(jié)點M(n) 112的分組P(k)經(jīng)由直接路徑(用信號120表示) 到達節(jié)點M(i)108。在示例實施例中,信號120可以是可由網(wǎng)關(guān)102與節(jié)點M(i)108之間的任何或所有節(jié)點接收到的多播信號。信號120行進的路徑在此也可被稱為多播路徑。分組P(k)經(jīng)由節(jié)點M(i+l)110,M(i+2)等立即朝著邊緣節(jié)點M(n) 112被轉(zhuǎn)發(fā)。除了轉(zhuǎn)發(fā)分組 P(k)之外,節(jié)點M(i) 108還將分組的拷貝(或數(shù)據(jù)代表)保存在其緩沖器中。根據(jù)又一示例實施例,僅分組標識符被保存在節(jié)點M(i)的內(nèi)部表中。在一延遲(該延遲的最大值與從G 102到節(jié)點M(n) 112的跳數(shù)成比例)[n* ( 一個節(jié)點的延遲)]之后,分組P (k)的副本經(jīng)由經(jīng)過節(jié)點M(I) 104,M(2), .. · M(i-l) 106中的一個或多個的多跳路徑再次到達節(jié)點M⑴108。 節(jié)點M(i) 108上的客戶端檢查到達分組的序列號,并且將識別出其與先前朝電表M(n) 112 轉(zhuǎn)發(fā)的分組P(k)相同,當客戶端識別出匹配時,該副本分組P(k)被丟棄(不被傳播給邊緣節(jié)點)。另外,分組P(k)從緩沖器中被去除。示例實施例可被配置為接收來自網(wǎng)關(guān)102的相同分組。在另一示例實施例中,網(wǎng)關(guān)102可以發(fā)送多個信號,一個去往節(jié)點M(I) 104,一個去往節(jié)點M(i) 108。在又一示例實施例中,網(wǎng)關(guān)102可以適當?shù)匕ǘ鄠€網(wǎng)關(guān)(未示出), 其中,一個網(wǎng)關(guān)向節(jié)點M(I) 104發(fā)送分組并且另一個網(wǎng)關(guān)向節(jié)點M(i) 108發(fā)送分組??蛇x地,其它網(wǎng)關(guān)可以向M(I) 104與M(i) 108之間的節(jié)點(如節(jié)點M(i-l)106)發(fā)送信號。具有多播分組丟失時的操作在此示例中,假設分組P (k)在經(jīng)由多播路徑(由信號120表示)的傳輸中丟失了。 還假設分組P(k+1),P(k+2)等經(jīng)由路徑120成功到達節(jié)點M(i) 108。當節(jié)點M(i) 108上的客戶端接收到分組P (k+Ι)時,客戶端將其存儲在緩沖器中并且記錄分組P (k)已經(jīng)丟失的事實。結(jié)果,在示例實施例中,分組P(k+1)不被轉(zhuǎn)發(fā)給邊緣(其被存儲在緩沖器中)。對分組P(k+2)等進行類似的分組處理,直到分組P(k)經(jīng)由較慢的多跳路徑(由122、124、126 表示)到達節(jié)點M(i)為止。當分組P(k)到達節(jié)點M(i) 108時,其被識別出是在經(jīng)由多播路徑120的傳輸中丟失了的分組。節(jié)點M(i)108的客戶端立即朝著邊緣轉(zhuǎn)發(fā)該分組P(k), 并且繼續(xù)朝著邊緣節(jié)點(例如M(n)122)發(fā)送被存儲在其緩沖器中的所有其它分組[例如, P(k+l),P(k+2)等]。一旦所有的順序消息從緩沖器朝邊緣節(jié)點被發(fā)送,則該系統(tǒng)回到上述的正常操作。在特定實施例中,在多跳路徑上接收來自網(wǎng)關(guān)102的多播信號120的、與網(wǎng)關(guān)102 相距一跳以上的所有節(jié)點(例如,106以及節(jié)點104與106之間的任何節(jié)點)存儲并轉(zhuǎn)發(fā)從網(wǎng)關(guān)102接收到的多播分組。例如,節(jié)點M(i-l) 106經(jīng)由多播信號120接收去往M(n) 112的 P (k),并且作為響應,存儲該分組。節(jié)點M(i-1) 106還將該分組轉(zhuǎn)發(fā)給節(jié)點M(i) 108。如果節(jié)點M(i) 108通過路徑120接收到P(k),則其丟棄從節(jié)點M(i-l) 106接收到的P(k)的副本。 然而,如果M(i)108通過路徑120未接收到P(k),則P(k)與在P(k)之后被發(fā)送來的任何所存儲分組(例如,P(k+1),P(k+2)等)一起沿著下行鏈路(例如,經(jīng)由128)朝著M(n)112 被轉(zhuǎn)發(fā)。此外,M(I) 104與M(i-l) 106之間的任何節(jié)點也可被配置為存儲并轉(zhuǎn)發(fā)在多播路徑上接收到的信號。因此,與等待接收從M(I) 104 一次一跳地傳播的分組相比,M(i) 108可以更快地接收到丟失的多播分組。在多跳路徑上有分組丟失時的操作根據(jù)示例實施例,上述緩沖器被實現(xiàn)為環(huán)形緩沖器,其大小大于在與網(wǎng)關(guān)G 102 與節(jié)點M⑴108之間的多跳延遲(例如,5*( —跳延遲))相等的時間段期間接收到的消息的累計大小。如果消息未經(jīng)過多跳路徑(由122、1對、1沈表示)到達,這不影響系統(tǒng)的操作,因為相同消息被假設已經(jīng)經(jīng)由多播路徑到達(由120表示)。在給出M(i)節(jié)點108利用環(huán)形緩沖器的事實的情況下,舊消息被覆寫,并且丟失的分組不擦除緩沖器中的對應條目的事實不影響系統(tǒng)的操作。為分組P(k)建立的并行路徑不僅減少了總體延遲,而且還提供了可以經(jīng)受得起IP分組丟失而不影響系統(tǒng)的總體性能的更具回彈力的網(wǎng)絡。分組在多跳路徑和多播路徑兩者上丟失時的系統(tǒng)的操作如果未在多跳路徑和多播路徑任一者上接收到分組,則該系統(tǒng)可以默認在應用級進行端到端恢復(與僅使用單個多跳路徑的系統(tǒng)的操作類似)。多播路徑確定在示例實施例中,如果系統(tǒng)檢測到M(i) 108處的丟失多播分組的百分比大于預定閾值,則該信息被傳輸給相鄰節(jié)點并且新的多播節(jié)點可被選擇。例如,系統(tǒng)可以通過用節(jié)點 M(i-l) 106替代節(jié)點M(i) 108來縮回到更短的多播路徑。在另一示例實施例中,如果比M(i) 108更遠的節(jié)點(例如,節(jié)點M(i+l)110)正接收多播分組,則該節(jié)點可以向節(jié)點M(i) 108告知其正接收來自網(wǎng)關(guān)102的多播分組。結(jié)果, 節(jié)點M(i) 108讓出接收從網(wǎng)關(guān)102到節(jié)點M(i+1) 110的分組的角色,并且成為正常多跳網(wǎng)絡的一部分。例如,如果確認將被發(fā)送給網(wǎng)關(guān)102,則其將由M(i+1) 110沿著多跳路徑被發(fā)送。應注意,前面的描述將從M(i) 108到網(wǎng)關(guān)102的路徑描述為上行鏈路路徑并且將從M(i)108到M(n)112的路徑描述為下行鏈路。這種標寫法僅僅是出于容易圖示說明而被選擇的,如本領(lǐng)域技術(shù)人員應當容易理解的,這里描述的原理在路徑被反向時(例如,從 M(i)108到網(wǎng)關(guān)102的路徑為下行鏈路路徑并且從M(i) 108到M(n)112的路徑為上行鏈路路徑)也同樣會很好地起作用。還應注意,雖然圖1是在智能電網(wǎng)的上下文中被描述的,然而這里描述的原理也適用于任何網(wǎng)狀網(wǎng)絡。圖2圖示出了根據(jù)示例實施例配置的無線節(jié)點200的示例。無線節(jié)點200適合于實現(xiàn)根據(jù)這里的示例實施例的網(wǎng)狀網(wǎng)絡。例如,無線節(jié)點200適合于實現(xiàn)電表M(I) 104, M(i-l) 106,M(i) 108,M(i+l) 110,M(n) 112中的任何電表和/或這里的圖1中所描述的任何其它節(jié)點。無線節(jié)點200包括無線收發(fā)器202和耦合到無線收發(fā)器202的分組處理邏輯204。 如這里使用的“邏輯”包括但不限于用于執(zhí)行(一個或多個)功能或(一個或多個)動作并且/或者引起來自另一組件的功能或動作的硬件、固件、軟件和/或其每個的組合。例如, 基于所希望的應用或需要,邏輯可以包括軟件控制的微處理器、諸如專用集成電路(ASIC)、 可編程/經(jīng)編程邏輯器件、包含指令的存儲器設備等的分立邏輯,或者在硬件中實施的組合邏輯。邏輯還可以完全被實施為軟件。在示例實施例中,分組處理邏輯204響應于經(jīng)由無線收發(fā)器202從第一上游節(jié)點接收到去往下游節(jié)點的分組,來經(jīng)由無線收發(fā)器在下行鏈路路徑上朝下游節(jié)點轉(zhuǎn)發(fā)該分組。分組處理邏輯還被配置為響應于判定無線收發(fā)器不能發(fā)送將到達第一上游節(jié)點的信號,而經(jīng)由無線收發(fā)器向處于無線接收器的范圍內(nèi)的并且位于到第一上游節(jié)點的上行鏈路路徑上的第二上游節(jié)點發(fā)送去往第一上游節(jié)點的對于該分組的回復。在示例實施例中,分組處理邏輯204被配置為存儲分組的副本。例如,該分組可被存儲在與分組處理邏輯204相關(guān)聯(lián)的存儲器中(內(nèi)部存儲器被示出,但是本領(lǐng)域技術(shù)人員應當容易理解,除了內(nèi)部存儲器以外或者替代內(nèi)部存儲器,還可以采用外部存儲器)。在示例實施例中,分組處理邏輯204被配置為經(jīng)由無線收發(fā)器202接收來自第二上游節(jié)點的分組的副本。分組處理邏輯204還被配置為判斷表示該分組的數(shù)據(jù)是否已被存儲(例如,是已經(jīng)直接從第一節(jié)點接收到的分組)并且判斷該同一分組的副本是否已經(jīng)朝下一下行鏈路節(jié)點被轉(zhuǎn)發(fā)。如這里使用的“轉(zhuǎn)發(fā)”是指對用于發(fā)送的分組(或分組的副本)進行排隊而不管其是否已被發(fā)送、正被發(fā)送或者剛被排隊供以后發(fā)送。分組處理邏輯 204響應于判定該分組的副本已經(jīng)被接收到并且該同一分組的副本已經(jīng)朝著下一下行鏈路節(jié)點被轉(zhuǎn)發(fā),而丟棄該分組。在特定實施例中,從第一和第二節(jié)點接收的分組適當?shù)匕蛄刑枴7纸M處理邏輯204將所接收分組的序列號與先前接收的分組的序列號相比較,來判斷從第二節(jié)點接收的分組的副本是否已被(例如,直接從第一節(jié)點)接收到以及該同一分組的副本是否已朝著下一下行鏈路節(jié)點被轉(zhuǎn)發(fā)。在示例實施例中,分組處理邏輯204在預定時間段之后刪除所存儲的分組。例如,如前所述,預定時間段可被設為分組在不跳過任何跳的情況下一次行進一跳時所花的時間。在示例實施例中,用于存儲分組的存儲器可以是環(huán)形存儲設備。當新分組到達時,它們覆寫存儲器中最老的分組。在示例實施例中,無線收發(fā)器202從第二節(jié)點接收到去往下游節(jié)點的第二分組。 分組處理邏輯204判斷去往下游節(jié)點的該第二分組的副本是否已從第一節(jié)點被接收到(經(jīng)由直接路徑120,如圖1所示)。如果該分組未從第一節(jié)點被接收到,則分組處理邏輯204 經(jīng)由無線收發(fā)器202在朝向該下游節(jié)點的下行鏈路路徑上轉(zhuǎn)發(fā)該分組。在示例實施例中,無線收發(fā)器202接收到去往下游節(jié)點的第二分組。分組處理邏輯204判斷在第一分組與第二分組之間的序列中是否丟失了分組。如果分組處理邏輯204 判定在第一和第二分組之間丟失了分組(一個或多個分組),則第二分組被存儲。應注意, 第二分組可以是從第一節(jié)點或第二節(jié)點接收到的。在示例實施例中,無線收發(fā)器202將最終從第二節(jié)點接收到丟失的分組。分組處理邏輯204響應于無線收發(fā)器202接收到丟失的分組,而經(jīng)由無線收發(fā)器在朝向該下游節(jié)點的下行鏈路路徑上轉(zhuǎn)發(fā)丟失的分組和第二分組。在特定實施例中,分組處理邏輯204根據(jù)丟失的分組和第二分組的序列號順序地轉(zhuǎn)發(fā)丟失的分組和第二分組。在示例實施例中,分組處理邏輯204被配置為確定無線收發(fā)器202離第一節(jié)點有多少跳。分組處理邏輯204還被配置為交換如下數(shù)據(jù)表示無線收發(fā)器離第一節(jié)點的跳數(shù)的數(shù)據(jù),和表示從第一節(jié)點接收信號的相鄰無線節(jié)點離第一節(jié)點的跳數(shù)的數(shù)據(jù)。如果分組處理邏輯204判定其與離第一節(jié)點最遠的節(jié)點相關(guān)聯(lián),則分組處理邏輯204可以建立與第一節(jié)點的連接(例如,隧道連接或第3層連接)。分組處理邏輯204可以基于其離第一上行鏈路節(jié)點的跳數(shù)和可以直接從第一上行鏈路節(jié)點接收信號的相鄰節(jié)點離該第一上行鏈路節(jié)點的跳數(shù),來確定其是離第一節(jié)點最遠的節(jié)點。在特定實施例中,分組處理邏輯204被配置為響應于基于離第一節(jié)點的跳數(shù)判定從第一節(jié)點接收信號的另一節(jié)點離第一節(jié)點更遠,從而終止與第一節(jié)點的第3層連接。如這里使用的,第3層連接是指開放系統(tǒng)互連(OSI) 的第3層。例如,第1層為物理層,第2層為管理設備與共享介質(zhì)(媒體訪問控制(MAC)層是第2層的子層)的交互的數(shù)據(jù)鏈路層,并且第3層是網(wǎng)絡層(第3層協(xié)議的最公知示例是因特網(wǎng)協(xié)議“IP”)。根據(jù)示例實施例,如果分組處理邏輯204判定在無線收發(fā)器202處接收自第一節(jié)點的分組的錯誤率超過預定閾值(例如,10% ),則其不再認為自己是可以與第一上行鏈路節(jié)點通信的最遠節(jié)點。在此實施例中,如果第3層連接或隧道已被建立,則其將被終止。這將使得更接近上行鏈路節(jié)點的節(jié)點將其自己選為從第一上行鏈路節(jié)點接收信號的、離第一上行鏈路節(jié)點的新的最遠節(jié)點。例如,如果圖1中的節(jié)點M(i)是離網(wǎng)關(guān)102最遠的節(jié)點并且錯誤率超過了預定閾值,則M(i)將向其鄰居告知其不再接收到來自網(wǎng)關(guān)102的信號,在此情況中,下一個接近的節(jié)點(在此示例中為電表M(i-l))將成為從第一上行鏈路節(jié)點接收信號的最遠節(jié)點。圖3圖示出了可在其上實現(xiàn)示例實施例的計算機系統(tǒng)300的示例。例如,計算機系統(tǒng)300可被用于實現(xiàn)圖2中的分組處理邏輯204或者實現(xiàn)這里描述的電表104、106、108、 110,112的功能的任何其它邏輯。計算機系統(tǒng)300包括用于傳輸信息的總線302或其它通信機構(gòu),以及與總線302 耦合的用于處理信息的處理器304。計算機系統(tǒng)300還包括耦合到總線302的用于存儲將由處理器304執(zhí)行的指令和信息的主存儲器306,例如隨機存取存儲器(RAM)或其它動態(tài)存儲設備。主存儲器306還可被用于在將由處理器304執(zhí)行的指令的執(zhí)行期間存儲臨時變量或其它中間信息。計算機系統(tǒng)300還包括耦合到總線302的用于存儲用于處理器304的指令和信息的只讀存儲器(ROM) 308或者其它靜態(tài)存儲設備。諸如磁盤或光盤之類的存儲設備310被提供并被耦合到總線302用于存儲信息和指令。本示例實施例的一個方面涉及用于實現(xiàn)在低延遲網(wǎng)狀網(wǎng)絡中使用的無線節(jié)點的計算機系統(tǒng)300的使用。根據(jù)示例實施例,實現(xiàn)在低延遲網(wǎng)狀網(wǎng)絡中使用的無線節(jié)點是由計算機系統(tǒng)300響應于處理器304執(zhí)行主存儲器306所包含的一個或多個指令的一個或多個序列而提供的。這樣的指令可以從諸如存儲設備310之類的另一計算機可讀介質(zhì)被讀進主存儲器306。主存儲器306所包含的指令序列的執(zhí)行使得處理器304執(zhí)行這里描述的處理步驟。多處理布置中的一個或多個處理也可被用來執(zhí)行主存儲器306所包含的指令序列。在替代實施例中,硬連線電路可被使用來替代軟件指令或者與軟件指令相組合,來實現(xiàn)示例實施例。因此,這里描述的實施例不限于硬件電路與軟件的任何具體組合。如這里使用的術(shù)語“計算機可讀介質(zhì),,是指參與向處理器304提供指令以用于執(zhí)行的任何介質(zhì)。這樣的介質(zhì)可以采取許多形式,包括但不限于非易失性介質(zhì)和易失性介質(zhì)。 非易失性介質(zhì)例如包括光盤或磁盤,如存儲設備310。易失性介質(zhì)包括動態(tài)存儲器,如主存儲器306。計算機可讀介質(zhì)的通常形式例如包括軟盤、柔性盤、硬盤、磁卡、紙帶、具有孔圖案的任何其它物理介質(zhì)、RAM、PROM、EPROM、FLASHROM、CD、DVD或任何其它存儲器芯片或存儲器盒,或者計算機可從其讀取的任何其它介質(zhì)。計算機系統(tǒng)300還包括耦合到總線302的無線收發(fā)器318。無線收發(fā)器318提供將計算機系統(tǒng)300耦合到網(wǎng)絡鏈路320的雙路數(shù)據(jù)通信,網(wǎng)絡鏈路320被連接到本地無線網(wǎng)絡322。無線鏈路320可以允許計算機系統(tǒng)與諸如相鄰網(wǎng)狀節(jié)點之類的其它設備無線電通信。例如,在實現(xiàn)智能電網(wǎng)系統(tǒng)時,處理器304可以經(jīng)由附接到總線302的無線收發(fā)器 318接收來自電表(未在圖中示出)的數(shù)據(jù),例如表示來自下行鏈路電表的消耗的數(shù)據(jù)。處理器304可以將該數(shù)據(jù)存儲在主存儲器306或存儲設備310中。處理器304可以獲取與計算機系統(tǒng)300相關(guān)聯(lián)的電表的消耗數(shù)據(jù)。處理器304經(jīng)由無線收發(fā)器318將與計算機系統(tǒng) 300相關(guān)聯(lián)的電表的消耗數(shù)據(jù)以及來自下行鏈路節(jié)點的數(shù)據(jù)轉(zhuǎn)發(fā)給上行鏈路節(jié)點。此外,處理器304可以經(jīng)由無線收發(fā)器318接收來自于在去往第一上行鏈路節(jié)點的多跳路徑上的第一節(jié)點(例如,圖1中的網(wǎng)關(guān)102)和第二節(jié)點的數(shù)據(jù)。根據(jù)上面描述的前面的結(jié)構(gòu)和功能特征,參考圖4和圖5將更好地理解根據(jù)示例實施例的方法。雖然為了簡化說明的目的,圖4和圖5的方法被示出并描述為順序地執(zhí)行, 然而將明白和理解,示例實施例不受所圖示出其順序的限制,因為在這里描述和示出的方面中,一些方面可以以不同順序發(fā)生和/或與其它方面并發(fā)地發(fā)生。此外,并非需要所有圖示出的特征都來實現(xiàn)根據(jù)示例實施例的方面的方法。這里描述的方法適當?shù)剡m用于以硬件、軟件或其組合來實現(xiàn)。圖4圖示出了根據(jù)示例實施例的用于轉(zhuǎn)發(fā)下行鏈路(下游)網(wǎng)狀分組的方法400 的示例。在示例實施例中,與第一上行鏈路節(jié)點的無線連接被建立,其中下行鏈路分組直接從第一上行鏈路節(jié)點被接收到并且去往第一上行鏈路節(jié)點的上行鏈路分組被路由經(jīng)過第二上行鏈路節(jié)點。例如,第二上行鏈路節(jié)點可以比第一上行鏈路節(jié)點離實現(xiàn)方法400的本設備更近一跳。例如,參考圖1,對于電表M(i) 108,網(wǎng)關(guān)102可以是第一上行鏈路節(jié)點并且電表M(i-l)106可以是第二上行鏈路節(jié)點,其中電表M(n)是下行鏈路節(jié)點。在402處,分組經(jīng)由無線連接從上行鏈路節(jié)點被接收到。該分組去往下行鏈路節(jié)點。在特定實施例中,該分組可以包括序列號。該分組可以從第一上行鏈路節(jié)點直接被接收到,或者可以從第二上行鏈路節(jié)點被接收到(雖然該分組可能源自第一上行鏈路節(jié)點, 然而該分組可能并不是直接從第一節(jié)點被接收到的,并且因此經(jīng)由多跳路徑行進到第二上行鏈路節(jié)點)。在404處,將包含所接收分組的序列號的報頭信息與存儲在緩沖器中的先前接收的分組信息相比較。在示例實施例中,由于沿著經(jīng)過第二上行鏈路節(jié)點的多跳路徑行進的分組通常要花更長時間到達,因此日志包含直接從第一上行鏈路節(jié)點接收到的分組。先前接收到的分組可以包括序列號、源地址和/或目的地地址以輔助對分組進行匹配。在406處,判斷是否在404處發(fā)現(xiàn)匹配。如果在406處判定發(fā)現(xiàn)了匹配(是),則該分組被丟棄。在特定實施例中,由于該分組的多于一個副本經(jīng)由該多跳路徑行進是不太可能的,因此用于該分組的日志條目還可被刪除。但是,如果在406處判定未發(fā)現(xiàn)匹配(否),則該分組被轉(zhuǎn)發(fā)到去往其目的地的路徑上。另外,該分組的副本或者表示該分組的數(shù)據(jù)(如報頭)可被存儲來輔助過濾出隨后接收到的重復分組。例如,如果在408處第一分組或者表示分組的數(shù)據(jù)(如報頭)被存儲,并且在402 處接收到與在408處存儲的分組相匹配的第二分組。則在404中檢查日志來尋找與第二分組相匹配的分組。在406處,將判定發(fā)現(xiàn)匹配(是),在此情況中,第二幀將在410處被丟棄。圖5圖示出了判斷分組序列中的分組是否丟失的、用于轉(zhuǎn)發(fā)下游網(wǎng)狀分組的方法500的示例。如果序列中沒有分組丟失,則分組立即被轉(zhuǎn)發(fā);然而,如果有分組丟失,則分組被存儲直到丟失分組的副本到達為止。在示例實施例中,序列號被用來確定序列中的分組是否丟失。在502處,經(jīng)由無線連接接收來自上行鏈路節(jié)點的分組。該分組去往下行鏈路節(jié)點。在特定實施例中,該分組可以包括序列號。該分組可以從第一上行鏈路節(jié)點直接被接收到,或者可以從第二上行鏈路節(jié)點被接收到(雖然該分組可能源自第一上行鏈路節(jié)點, 然而其可能經(jīng)由到達第二上行鏈路節(jié)點的多跳路徑行進)。在504,檢查先前接收的分組的日志。在示例實施例中,由于沿著經(jīng)過第二上行鏈路節(jié)點的多跳路徑行進的分組通常要花更長時間到達,因此該日志包含直接從第一上行鏈路節(jié)點接收到的分組。先前接收到的分組可以包括序列號、源地址和/或目的地地址以輔助對分組進行匹配。在示例實施例中,對于直接從第一上行鏈路節(jié)點接收到的分組,該步驟可被跳過。在506,判斷是否在504處發(fā)現(xiàn)匹配。如果在506處判定發(fā)現(xiàn)了匹配(是),則該分組在508處被丟棄。在特定實施例中,由于該分組的多于一個副本經(jīng)由該多跳路徑行進是不太可能的,因此用于該分組的日志條目還可被刪除。但是,如果在506處判定未發(fā)現(xiàn)匹配(否),則由于上一分組已被接收到,因此在 510處判斷序列中的分組是否丟失。例如,如果所接到的當前分組是P(k)并且所接收的上一分組是分組P(k-2),則分組P(k-l)丟失(本領(lǐng)域技術(shù)人員應容易理解,多于一個分組可能丟失,此示例使用一個分組僅僅是為了容易說明)。如果在510處序列中的分組沒有丟失 (否),則在512處該分組被轉(zhuǎn)發(fā)。如果在510處判定分組(例如,前一示例中的P(k-l))丟失(是),則在514處分組被存儲直到所丟失分組例如經(jīng)由替代多跳路徑到達為止。由于方法500可以由可直接地或通過多跳路徑從第一節(jié)點接收分組的網(wǎng)狀節(jié)點來實現(xiàn)(例如參見圖1中的M(i)108),因此有可能由第一節(jié)點發(fā)送的分組可能由于干擾而未直接從第一節(jié)點被接收到。由于分組還通過多跳路徑傳播,因此該分組的另一副本應當最終通過該多跳路徑到達。因此,在502處, 丟失分組(例如,P(k-l))的副本將在后續(xù)分組(例如,P(k))在514處被存儲之后到達。 由于丟失分組尚未被接收到,因此在504處將不存在用于分組P(k-l)的日志條目。如果丟失分組是唯一剩余的丟失分組,則在512處該丟失分組(例如,P(k-l))和后續(xù)分組(例如,更早到達的P(k))被轉(zhuǎn)發(fā)到下行鏈路路徑上。如果在510處判定仍存在其他丟失分組 (是),則在514處對P(k-l)進行排隊直到所有丟失分組到達為止。上面描述了示例實施例。當然,不可能描述組件或方法的每種可想到的組合,而是本領(lǐng)域技術(shù)人員將認識到,示例實施例的許多其它組合和置換也是可以的。因此,本申請意圖包含落在所附權(quán)利要求的精神和范圍內(nèi)的所有這樣的變更、修改和改變,所附權(quán)利要求根據(jù)它們公平地、合法地、公正地被賦予的廣度來解釋。
權(quán)利要求
1.一種裝置,包括無線收發(fā)器;分組處理邏輯,該分組處理邏輯被耦合到所述無線收發(fā)器;其中,所述分組處理邏輯響應于經(jīng)由所述無線收發(fā)器直接從第一路徑上的第一節(jié)點接收到去往第二路徑上的節(jié)點的分組,經(jīng)由所述無線收發(fā)器朝著所述第二路徑上的所述節(jié)點將所述分組轉(zhuǎn)發(fā)到所述第二路徑上;并且其中,所述分組處理邏輯還被配置為響應于判定所述無線收發(fā)器不能直接與所述第一路徑上的所述第一節(jié)點通信,經(jīng)由所述無線收發(fā)器向處于到第一上游節(jié)點的上行鏈路路徑上的并且位于所述無線收發(fā)器的范圍內(nèi)的、所述第一路徑上的第二節(jié)點發(fā)送去往所述第一路徑上的所述第一節(jié)點的針對所述分組的回復。
2.如權(quán)利要求1所述的裝置,其中,所述分組處理邏輯被配置為存儲表示所述分組的數(shù)據(jù)。
3.如權(quán)利要求2所述的裝置,其中,所述分組處理邏輯被配置為經(jīng)由所述無線收發(fā)器從所述第一路徑上的所述第二節(jié)點接收所述分組的副本;其中,所述分組處理邏輯還被配置為判斷表示所述分組的數(shù)據(jù)是否已被存儲;并且其中,所述分組處理邏輯被配置為響應于判定表示所述分組的數(shù)據(jù)已經(jīng)被存儲,丟棄所述分組。
4.如權(quán)利要求3所述的裝置,其中,從所述第一路徑上的所述第一節(jié)點和所述第二節(jié)點接收到的分組還包括表示序列號的數(shù)據(jù);并且其中,所述分組處理邏輯通過將表示從所述第二節(jié)點接收到的分組的序列號的數(shù)據(jù)與表示直接從所述第一節(jié)點接收到的分組的序列號的數(shù)據(jù)相比較,來判斷從所述第二節(jié)點接收到的分組是否是直接從所述第一節(jié)點接收到的分組的副本。
5.如權(quán)利要求4所述的裝置,其中,所述分組處理邏輯在預定時間段之后刪除表示所述分組的數(shù)據(jù)。
6.如權(quán)利要求4所述的裝置,其中,所述無線收發(fā)器從所述第一路徑上的所述第二節(jié)點接收去往所述第二路徑上的所述節(jié)點的第二分組;其中,所述分組處理邏輯被配置為判斷所述第二分組是否是所述第一分組的副本;并且其中,所述分組處理邏輯響應于判定所述第二分組不是所述第一分組的副本,經(jīng)由所述無線收發(fā)器朝著所述第二路徑上的所述節(jié)點將所述分組轉(zhuǎn)發(fā)到所述第二路徑上。
7.如權(quán)利要求4所述的裝置,其中,所述無線收發(fā)器接收去往所述第二路徑上的所述節(jié)點的第二分組;其中,所述分組處理邏輯判斷所述第一分組與所述第二分組之間的序列中的分組是否丟失;并且其中,所述分組處理邏輯響應于判定所述第一分組與所述第二分組之間的序列中的分組丟失,存儲所述第二分組。
8.如權(quán)利要求7所述的裝置,其中,所述第二分組是從所述第一節(jié)點接收的。
9.如權(quán)利要求7所述的裝置,其中,所述第二分組是從所述第二節(jié)點接收的。
10.如權(quán)利要求7所述的裝置,其中,所述無線收發(fā)器從所述第二節(jié)點接收到丟失的分組;并且其中,所述分組處理邏輯響應于所述無線收發(fā)器接收到所述丟失的分組,經(jīng)由所述無線收發(fā)器將所述丟失的分組和所述第二分組轉(zhuǎn)發(fā)到朝著下游節(jié)點的下行鏈路路徑上。
11.如權(quán)利要求10所述的裝置,其中,所述分組處理邏輯根據(jù)所述丟失的分組和所述第二分組的序列號來順序地轉(zhuǎn)發(fā)所述丟失的分組和所述第二分組。
12.如權(quán)利要求1所述的裝置,其中,所述分組處理邏輯被配置為確定所述無線收發(fā)器離所述第一路徑上的所述第一節(jié)點有多少跳。
13.如權(quán)利要求12所述的裝置,其中,所述分組處理邏輯被配置為交換如下數(shù)據(jù)表示所述無線收發(fā)器離所述第一路徑上的所述第一節(jié)點的跳數(shù)的數(shù)據(jù),和表示從所述第一節(jié)點接收信號的相鄰無線節(jié)點離所述第一路徑上的所述第一節(jié)點的跳數(shù)的數(shù)據(jù)。
14.如權(quán)利要求13所述的裝置,其中,所述分組處理邏輯被配置為響應于判定其與離所述第一節(jié)點最遠的節(jié)點相關(guān)聯(lián),建立與所述第一路徑上的所述第一節(jié)點的關(guān)聯(lián)性。
15.如權(quán)利要求14所述的裝置,其中,所述分組處理邏輯被配置為響應于基于離所述第一節(jié)點的跳數(shù)而判定從所述第一節(jié)點接收信號的另一節(jié)點離所述第一節(jié)點更遠,終止與所述第一節(jié)點的關(guān)聯(lián)性。
16.一種方法,包括建立與第一節(jié)點的無線連接,其中下行鏈路分組是直接從所述第一節(jié)點接收的并且去往第一上游節(jié)點的上行鏈路分組被路由經(jīng)過下行鏈路路徑上與所述第一節(jié)點有間隔的第二節(jié)占·--I— /、、、 經(jīng)由所述無線連接直接從所述第一節(jié)點接收去往下行鏈路節(jié)點的分組;以及經(jīng)由所述無線連接朝所述下行鏈路節(jié)點轉(zhuǎn)發(fā)所述分組。
17.如權(quán)利要求16所述的方法,還包括 存儲表示所述分組的數(shù)據(jù);從所述第二節(jié)點接收所述分組的第二副本;響應于判定所述分組先前已經(jīng)直接從所述第一節(jié)點被接收到,丟棄所述分組的所述第二副本。
18.如權(quán)利要求16所述的方法,還包括從所述第二上行鏈路節(jié)點接收去往所述下行鏈路節(jié)點的第二分組; 判斷所述第二分組是否已經(jīng)從所述第一上行鏈路節(jié)點被接收到;以及響應于判定第二分組尚未從所述第一上行鏈路節(jié)點被接收到,向所述下行鏈路節(jié)點轉(zhuǎn)發(fā)所述第二分組。
19.一種被編碼在至少一個有形介質(zhì)中以供執(zhí)行的邏輯,當該邏輯被執(zhí)行時可操作來建立與第一節(jié)點的無線連接,其中下行鏈路分組是直接從所述第一節(jié)點接收的并且去往第一上游節(jié)點的上行鏈路分組被路由經(jīng)過下行鏈路路徑上與所述第一節(jié)點有間隔的第二節(jié)占·--I— /、、、 經(jīng)由所述無線連接直接從所述第一節(jié)點接收去往下行鏈路節(jié)點的分組;以及經(jīng)由所述無線連接朝所述下行鏈路節(jié)點轉(zhuǎn)發(fā)所述分組。
20.如權(quán)利要求19所述的邏輯,還可操作來存儲表示所述分組的數(shù)據(jù);從所述第二節(jié)點接收所述分組的第二副本;響應于判定所述分組先前已經(jīng)直接從所述第一節(jié)點被接收到,丟棄所述分組的所述第二副本。
全文摘要
在示例實施例中,在此公開了一種裝置,該裝置包括無線收發(fā)器和分組處理邏輯,該分組處理邏輯被耦合到無線收發(fā)器。分組處理邏輯響應于經(jīng)由無線收發(fā)器從第一路徑上的第一節(jié)點接收到去往第二路徑上的節(jié)點的分組,經(jīng)由無線收發(fā)器朝著第二路徑上的節(jié)點將分組轉(zhuǎn)發(fā)到第二路徑上。分組處理邏輯還被配置為響應于判定無線收發(fā)器不能直接向第一上游節(jié)點發(fā)送消息,經(jīng)由無線收發(fā)器向處于到第一路徑上的第一節(jié)點的第二路徑上的并且位于無線收發(fā)器的范圍內(nèi)的、第一路徑上的第二節(jié)點發(fā)送去往第一路徑上的第一節(jié)點的針對分組的回復。
文檔編號H04W40/22GK102474903SQ201080032934
公開日2012年5月23日 申請日期2010年7月12日 優(yōu)先權(quán)日2009年7月29日
發(fā)明者桑莫爾·沙法, 羅伯特·J·弗瑞德 申請人:思科技術(shù)公司