專利名稱:使用加權(quán)的累計(jì)期望傳輸時(shí)間度量進(jìn)行高質(zhì)路由的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及計(jì)算機(jī)網(wǎng)絡(luò),尤其是涉及在多跳(multi-hop)無線網(wǎng)絡(luò)里用于高質(zhì)路由協(xié)議的度量。
背景技術(shù):
路由是指選擇穿越計(jì)算機(jī)網(wǎng)絡(luò)的一個(gè)路徑的問題,消息將沿這個(gè)路徑從源節(jié)點(diǎn)傳輸?shù)侥繕?biāo)節(jié)點(diǎn)。多跳特定(ad hoc)網(wǎng)絡(luò)中的路由提出了特殊的挑戰(zhàn)。特定網(wǎng)絡(luò)是自組織網(wǎng)絡(luò),在這些網(wǎng)絡(luò)里,節(jié)點(diǎn)共同地維持網(wǎng)絡(luò)連通性。特定網(wǎng)絡(luò)里的節(jié)點(diǎn)都裝備了無線電收發(fā)器,諸如符合IEEE 802.11標(biāo)準(zhǔn)的網(wǎng)絡(luò)接口卡。這些無線電收發(fā)裝置允許在節(jié)點(diǎn)之間通信而不需要集中式網(wǎng)絡(luò)管理機(jī)構(gòu)或固定的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)。由于每個(gè)無線電收發(fā)裝置都具有有限的有效范圍,因而兩個(gè)遠(yuǎn)距離的節(jié)點(diǎn)必須穿過多跳路徑來通信。在這個(gè)路徑中的中間節(jié)點(diǎn)通過轉(zhuǎn)發(fā)分組來充當(dāng)路由器。
無線共同體(community)“網(wǎng)狀”網(wǎng)絡(luò)是一種越來越重要的多跳無線網(wǎng)絡(luò),可用來提供到共同體的寬帶英特網(wǎng)訪問。在這些網(wǎng)絡(luò)里,節(jié)點(diǎn)或是靜止的或是最低限度可移動的,并且一般不依賴于電池電源。用于無線共同體網(wǎng)絡(luò)的路由技術(shù)聚焦在提高網(wǎng)絡(luò)容量或單獨(dú)傳輸?shù)男阅苌希皇菓?yīng)付靈活性或使功率用量最小化。
次優(yōu)的網(wǎng)絡(luò)容量是與多跳無線網(wǎng)絡(luò)相關(guān)的普遍問題。在這些網(wǎng)絡(luò)里,隨著跳躍數(shù)量的增加,吞吐量快速下降。在802.11網(wǎng)絡(luò)里,這個(gè)原因部分是由于802.11MAC所固有的不公平,這個(gè)固有的不公平可以拖延多個(gè)跳躍上的分組流。此外,這些網(wǎng)絡(luò)一般在每個(gè)節(jié)點(diǎn)上只使用了可用頻譜的一小部分和單個(gè)無線電收發(fā)裝置來發(fā)送和接收分組。
改善多跳無線網(wǎng)絡(luò)網(wǎng)絡(luò)容量的一個(gè)方法是為節(jié)點(diǎn)裝備多于一個(gè)的無線電收發(fā)裝置。這個(gè)解決方法具有幾個(gè)優(yōu)點(diǎn)。具有多個(gè)無線電收發(fā)裝置的節(jié)點(diǎn)可以同時(shí)發(fā)送和接收。而且,具有兩個(gè)無線電收發(fā)裝置的節(jié)點(diǎn)可以同時(shí)在兩個(gè)信道上發(fā)送,使得網(wǎng)絡(luò)可以利用較大部分的頻譜。此外,多個(gè)不同種類的無線電收發(fā)裝置的使用可以提高耐用性、連通性和性能,所述不同種類的無線電收發(fā)裝置在不同頻帶(例如在5Ghz的802.11a和在2.4Ghz的802.11b/g)上操作,具有不同帶寬、波段(range)和衰減特性。最后,802.11網(wǎng)絡(luò)接口卡是快速減價(jià)可用的現(xiàn)成商品元件。
用于多跳無線網(wǎng)絡(luò)的大部分路由協(xié)議集中在選擇具有最少中間跳數(shù)量的路徑上。在這些網(wǎng)絡(luò)里申請最短路徑路由的缺點(diǎn)是非常公知的。選擇最少跳數(shù)量的路徑會導(dǎo)致差的性能,部分是因?yàn)檫@些路徑通常在包括遠(yuǎn)距離節(jié)點(diǎn)之間緩慢的或者有損耗的衰減的無線鏈路。在具有多個(gè)無線電收發(fā)裝置節(jié)點(diǎn)的網(wǎng)絡(luò)里一般較差地執(zhí)行最短路徑路由技術(shù)。這些可通過以下兩個(gè)示例來說明。第一,設(shè)定一個(gè)網(wǎng)絡(luò),其中每個(gè)節(jié)點(diǎn)都具有802.11a和802.11b無線電。通常802.11b無線電比802.11a無線電具有較長波段。因此,如果使用最短路徑路由,那么該網(wǎng)絡(luò)里的大量通信量將在較慢的802.11b鏈路上執(zhí)行?,F(xiàn)在假設(shè)該網(wǎng)絡(luò)里的節(jié)點(diǎn)更換為具有兩個(gè)802.11b無線電,一個(gè)轉(zhuǎn)向信道1,另一個(gè)轉(zhuǎn)向信道11。假設(shè)在這個(gè)網(wǎng)絡(luò)里具有兩跳(三個(gè)節(jié)點(diǎn))。完整地穿越信道1或信道11的路徑將比在兩個(gè)不同信道上的兩跳的路徑的吞吐量差得多。因此選擇不能保證跳是位于不同信道上的路徑的最短路徑算法將產(chǎn)生次優(yōu)的性能。
基于鏈路高質(zhì)的路由是最短路徑路由的一個(gè)公知替換。研究人員已經(jīng)提出了用于多跳無線網(wǎng)絡(luò)的幾個(gè)鏈路高質(zhì)度量,但這些計(jì)劃集中在具有同種的單一無線電節(jié)點(diǎn)的網(wǎng)絡(luò)上。一個(gè)示例是在D.S.J.De Couto,D.Aguayo,J.Bicket,和R.Morris的“A High-Throughput Path Metric for Multi-Hop Wireless Routing,”ACMMOBICOM(2003年9月)中所描述的ETX度量,引用在此作為參考。ETX需要經(jīng)過鏈路發(fā)送單路傳送分組來測量期望的傳輸時(shí)間,該傳送包括重發(fā)。所述路徑度量是用于所述路徑里每個(gè)鏈路的ETX值的總和。路由協(xié)議選擇具有最小路徑度量的路徑。
回顧ETX對理解本發(fā)明在此公開的實(shí)施例是有用的。ETX的引出始于在向前和向后方向(分別用pf和pr表示)里潛在的分組丟失可能性的測量。首先,計(jì)算分組發(fā)送不成功的的可能性。對于發(fā)送成功的分組,所述802.11協(xié)議請求所述分組的成功肯定。讓p表示分組傳送從x到y(tǒng)不成功的可能性。那么p=1-(1-pf)*(1-pr)所述802.11MAC將為這些發(fā)送不成功的重發(fā)分組。讓s(k)表示在k次嘗試之后,分組從x到y(tǒng)傳遞成功的可能性。那么s(k)=pk-1*(1-p)最后,用ETX表示需要成功地將分組從x傳遞到y(tǒng)的期望的傳送時(shí)間ETX=Σk=1∞k*s(k)=11-p]]>由于ETX在同種的單一無線電網(wǎng)絡(luò)環(huán)境里性能較好,ETX不需要在上述的多無線電方案里選擇好的路由。在第一種方案里,每個(gè)節(jié)點(diǎn)具有802.11a無線電和802.11b無線電,ETX為了兩個(gè)原因?qū)⒃?02.11b鏈路上路由大量的通信量。第一,ETX只考慮鏈路上的丟失比率,而不考慮他們的帶寬。第二,在使全球資源使用最小化的嘗試?yán)?,只要較短路徑上的丟失比率不是顯著的高于較長路徑上的丟失比率,ETX被設(shè)計(jì)為給較短路徑優(yōu)于較長路徑的選擇權(quán)。在第二個(gè)方案里,每個(gè)節(jié)點(diǎn)具有兩個(gè)802.11b無線電,由于ETX沒有將任何的優(yōu)先選擇提供給信道傳輸路徑,ETX再次選擇次優(yōu)的路徑。因此,像其它現(xiàn)有的路由技術(shù)和路徑度量一樣,ETX不能從多個(gè)無線電的可用性和鏈路干擾的存在和多跳網(wǎng)絡(luò)里變化的帶寬中獲取全部的利益。
發(fā)明內(nèi)容
本發(fā)明的幾個(gè)方面提出了一種使用加權(quán)的累計(jì)期望傳輸時(shí)間路徑度量、根據(jù)鏈路質(zhì)量進(jìn)行路由的系統(tǒng)和方法。一種用于在多跳特定網(wǎng)絡(luò)里進(jìn)行路由的系統(tǒng),及用于測量網(wǎng)絡(luò)中路由的鏈路質(zhì)量的方法,包括根據(jù)鏈路上分組的期望傳輸時(shí)間對鏈路加權(quán)的分配,及將一路由的個(gè)別鏈路權(quán)值權(quán)值合并到路徑度量中。路徑度量說明了使用一共享信道的鏈路之間的干擾。在計(jì)算路徑度量時(shí),增加彼此干擾的鏈路的期望傳輸時(shí)間,而分別考慮非干擾鏈路的期望傳輸時(shí)間。本發(fā)明的實(shí)施例將在多跳網(wǎng)絡(luò)里進(jìn)行,所述網(wǎng)絡(luò)里的節(jié)點(diǎn)裝備了一個(gè)或多個(gè)無線電收發(fā)器。
本發(fā)明可整個(gè)的或部分的在軟件里、硬件里及其組合中實(shí)施。網(wǎng)絡(luò)里計(jì)算設(shè)備預(yù)期被配置為實(shí)現(xiàn)所述系統(tǒng)和執(zhí)行與本發(fā)明相關(guān)的方法。
圖1是根據(jù)本發(fā)明的實(shí)施例,說明為計(jì)算ETT測量的丟失比率而由探針發(fā)送器節(jié)點(diǎn)采取的步驟的流程圖。
圖2是根據(jù)本發(fā)明的實(shí)施例,說明由探針接收器對于丟失比率計(jì)算采取的步驟的流程圖。
圖3是根據(jù)本發(fā)明的實(shí)施例,說明在為每個(gè)鏈路計(jì)算帶寬時(shí)由探針發(fā)送器采取的初始步驟的流程圖。
圖4是根據(jù)本發(fā)明的實(shí)施例,說明由探針接收器對于帶寬計(jì)算采取的步驟的流程圖。
圖5是根據(jù)本發(fā)明的實(shí)施例,說明由探針回復(fù)接收器對于帶寬計(jì)算采取的步驟的流程圖。
圖6是根據(jù)本發(fā)明的實(shí)施例,說明一給定路徑的WCETT的計(jì)算中涉及的步驟的流程圖。
圖7是說明可在其中結(jié)合本發(fā)明實(shí)施例的示例性網(wǎng)絡(luò)環(huán)境的示意圖。
圖8是說明可用于本發(fā)明一示例性實(shí)施例中的示例性計(jì)算機(jī)設(shè)備的示意圖。
具體實(shí)施例方式
在以下的描述里,將呈現(xiàn)本發(fā)明的一些實(shí)施例。為了說明的目的,闡明特定的結(jié)構(gòu)和細(xì)節(jié)來對實(shí)施例提供一個(gè)徹底的理解。然而,對本領(lǐng)域的技術(shù)人員而言,顯而易見的是也可以不需要這特定細(xì)節(jié)來實(shí)施本發(fā)明。此外,為了不使描述的實(shí)施例晦澀,可以忽略或簡化公知的特征。
本發(fā)明的實(shí)施例包括一個(gè)新的路由度量,即加權(quán)的累計(jì)期望傳輸時(shí)間(WCETT),用來在多跳網(wǎng)絡(luò)的源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)之間選擇高吞吐量路徑。盡管它不僅限于此,度量在無線網(wǎng)絡(luò)里尤其具有優(yōu)勢,所述無線網(wǎng)絡(luò)里的至少一些節(jié)點(diǎn)裝備了多個(gè)同種的無線電收發(fā)裝置并且所述網(wǎng)絡(luò)里的一些鏈路彼此干擾。WCETT度量能夠選擇信道各異的路徑?;诠潭ù笮〉姆纸M的期望傳輸時(shí)間(ETT),對每個(gè)鏈路分配權(quán)值以成功的在所述鏈路上發(fā)送。所述ETT是所述鏈路的丟失比率和帶寬的函數(shù)。在本發(fā)明的可選實(shí)施例里,可使用鏈路質(zhì)量的測量而不是ETT。個(gè)別鏈路權(quán)值被合并成WCETT路徑度量,所述度量明確說明了使用同一信道的鏈路之間的干擾??墒褂每刂茀?shù)β來調(diào)節(jié)信道多樣性和路徑長度之間的權(quán)衡??梢哉{(diào)節(jié)WCETT的計(jì)算或者使給定流的吞吐量最大化,或者使其對其它流的影響最小。
本發(fā)明的一些實(shí)施例被設(shè)計(jì)為應(yīng)用在無線網(wǎng)絡(luò)里,該無線網(wǎng)絡(luò)里的節(jié)點(diǎn)具有遵循802.11的無線電。然而,其它實(shí)施例可應(yīng)用在基于其它無線技術(shù)的網(wǎng)絡(luò)里。本發(fā)明可與一個(gè)或多個(gè)其它技術(shù)或機(jī)制一起使用以提高多跳無線網(wǎng)絡(luò)里的網(wǎng)絡(luò)容量,諸如剝離(striping)技術(shù)或定向天線的使用。此外,由于在此描述了用于無線環(huán)境的實(shí)施例,因此本發(fā)明提供了一種更通用和廣泛的應(yīng)用技術(shù),以便將路由總成本的測量和路由瓶頸組件的測量合并,以生成路徑度量。
為了計(jì)算WCETT路徑度量,首先需要為給定的鏈路計(jì)算ETT。在一個(gè)實(shí)施例里,通過將鏈路期望傳輸?shù)臅r(shí)間(如ETX)乘以鏈路帶寬的測量來得到ETT,以得到發(fā)送分組所花費(fèi)的時(shí)間的測量。以ETX為例,所述ETT變成ETT=ETX*SB]]>其中S是固定的分組大小(如1024字節(jié)),B表示鏈路的帶寬(原始的數(shù)據(jù)率)。其它實(shí)施例可使用期望傳輸時(shí)間的求解(derivation)而不是ETX求解來計(jì)算ETT。所述期望傳輸時(shí)間(ETT)不限于使用ETX來測量,可以使用從發(fā)送成功概率得到的其它計(jì)算方法。
計(jì)算ETT需要知道各個(gè)鏈路的正反丟失比率(分別是Pf和Pr)和帶寬。用來確定Pf和Pr值的一個(gè)方法是使用廣播分組技術(shù),諸如是上文所參考的、由De Couto等人所公開的技術(shù)。在這個(gè)方法里,每個(gè)節(jié)點(diǎn)周期地(例如每秒一次)發(fā)出一個(gè)廣播分組。注意的是所述廣播分組不被802.11MAC重發(fā)。在滑動時(shí)窗(例如是10秒)期間,節(jié)點(diǎn)追蹤從每個(gè)相鄰節(jié)點(diǎn)接收到的探針數(shù)量,并將該信息包括在它們自己的探針里。節(jié)點(diǎn)可以從它在時(shí)間窗口里從相鄰節(jié)點(diǎn)接收到的探針數(shù)量直接計(jì)算出Pr,并且該節(jié)點(diǎn)可以使用在來自相鄰節(jié)點(diǎn)的最后一個(gè)探針里接收到的關(guān)于它自己的信息來計(jì)算Pf。其它確定Pf和Pr值的方法在不離開本發(fā)明的精神和范圍時(shí)也可使用。例如,可以對網(wǎng)絡(luò)接口卡(NIC)上的重發(fā)計(jì)數(shù)器作出詢問來發(fā)現(xiàn)正反丟失比率。
圖1示出了由探針發(fā)送器在為ETT測量計(jì)算丟失比率時(shí)所采取的步驟。節(jié)點(diǎn)等待一個(gè)周期的時(shí)間(丟失探針周期)(步驟101)。所述節(jié)點(diǎn)計(jì)算從前一次發(fā)送的探針開始從每個(gè)相鄰節(jié)點(diǎn)接收到的探針數(shù)量(步驟103),并創(chuàng)建包括這個(gè)信息的探針(步驟105)。該節(jié)點(diǎn)也為到每個(gè)相鄰節(jié)點(diǎn)的鏈路計(jì)算丟失比率(步驟107)。所述節(jié)點(diǎn)廣播所述探針(步驟109)并返回步驟101等待。
圖2示出了由接收器對丟失比率計(jì)算而采取的步驟。節(jié)點(diǎn)接收探針(步驟201)。所述節(jié)點(diǎn)查找和已經(jīng)被發(fā)送器接收到的探針有關(guān)的信息(步驟203)。它更新從發(fā)送器接收到的探針數(shù)量(步驟205)并返回步驟201。
計(jì)算帶寬是一個(gè)更復(fù)雜的問題。一種可能是將每個(gè)802.11無線電的帶寬限制為一個(gè)給定的固定值。另一個(gè)可能是允許無線電為每個(gè)分組自動地選擇帶寬。這個(gè)特征,通稱為自動比率(autorate),被許多現(xiàn)代802.11卡支持。然而,在自動比率算法不能為公眾熟知以及帶寬信息不能被驅(qū)動程序支持的802.11卡的情況下,帶寬的精確測量只能憑經(jīng)驗(yàn)來獲得。
在一個(gè)實(shí)施例中,使用熟知的分組對技術(shù)來獲得帶寬的經(jīng)驗(yàn)測量。例如,在S.Keshav所著的“A Control-Theoretic Approach to Flow Control,”ACMSIGCOMM(1991年9月)中對所述分組對技術(shù)進(jìn)行了描述,并引用在此以作參考。每個(gè)節(jié)點(diǎn)周期地(例如每分鐘)對每個(gè)相鄰節(jié)點(diǎn)發(fā)送出兩個(gè)緊接著的(backto back)探針分組。第一個(gè)探針分組很小(例如是137字節(jié)),而第二個(gè)分組很大(例如是1137字節(jié))。每個(gè)相鄰節(jié)點(diǎn)測量在第一個(gè)分組和第二個(gè)分組的接收之間的時(shí)間差,并將所述值傳回給發(fā)送器。發(fā)送器取一組連續(xù)樣本的最小值(例如10個(gè)連續(xù)樣本的最小值),然后通過把第二個(gè)探針分組的大小除以最小樣本來估計(jì)帶寬。這個(gè)估計(jì)忽視了幾個(gè)影響分組傳遞時(shí)間的因素,但對于實(shí)質(zhì)上不同帶寬的鏈路之間的區(qū)分,這是足夠精確的。
圖3示出了由探針發(fā)送器在為每個(gè)鏈路計(jì)算帶寬時(shí)采取的步驟。節(jié)點(diǎn)等待一個(gè)周期(分組對探針周期(Pktpair Probe Period))(步驟301)。它為相鄰節(jié)點(diǎn)創(chuàng)建探針對(步驟303)。所述節(jié)點(diǎn)然后緊接著發(fā)送所述探針對(步驟305),然后返回步驟301。
圖4示出了由探針接收器在帶寬計(jì)算中采取的步驟。節(jié)點(diǎn)接收探針(步驟401)。如果探針不是一對探針中的第一個(gè)探針(步驟403),那么所述節(jié)點(diǎn)放棄所述探針(步驟405)并返回到步驟401。否則,所述節(jié)點(diǎn)接收第二探針(步驟407)。如果這個(gè)探針不是一對探針中的第二個(gè)(步驟409),那么所述節(jié)點(diǎn)放棄所述探針(步驟405)并返回至步驟401。否則,所述節(jié)點(diǎn)計(jì)算在第一探針和第二探針的接收之間的延遲(步驟411)。然后節(jié)點(diǎn)創(chuàng)建探針回復(fù)(步驟413),并將所述探針回復(fù)發(fā)送給發(fā)送器(步驟415)。然后節(jié)點(diǎn)返回到步驟401。
圖5示出了由探針回復(fù)接收器在帶寬計(jì)算時(shí)采取的步驟。節(jié)點(diǎn)接收探針回復(fù)(步驟501)。它將延遲值轉(zhuǎn)換成帶寬樣本(步驟503)。如果這個(gè)帶寬值比最大帶寬大(步驟505),所述節(jié)點(diǎn)就放棄這個(gè)樣本(步驟507)。否則,它將更新到目前為止最小的延遲值(步驟509)。如果依然沒有收集到全部的一組樣本(步驟511),那么節(jié)點(diǎn)返回到步驟501。否則,該節(jié)點(diǎn)為這個(gè)鏈路更新帶寬測量并將樣本數(shù)量設(shè)為0(步驟515),然后返回到步驟501。
一旦計(jì)算了從節(jié)點(diǎn)x到節(jié)點(diǎn)y的每個(gè)鏈路i的ETT,即ETTi,就必須將沿著一路徑的跳躍的個(gè)別ETT鏈路權(quán)值合并成一度量WCETT,該度量反映該路徑的整個(gè)需求。對于WCETT路徑度量有三個(gè)基本的設(shè)計(jì)目標(biāo)。第一,當(dāng)選擇包含在路由路徑中的鏈路時(shí),路徑度量應(yīng)當(dāng)考慮鏈路帶寬以及物理層的丟失比率。例如,在802.11網(wǎng)絡(luò)中,由于802.11MAC結(jié)合了ARQ機(jī)制,因而在無線鏈路上的分組傳輸時(shí)間取決于這兩者因素。
第二,應(yīng)當(dāng)增加合并個(gè)別鏈路權(quán)值的度量。也就是說,如果將一跳躍增加到現(xiàn)有路徑里,路徑的成本不應(yīng)該降低,而是應(yīng)該增加。對于這個(gè)需求的一個(gè)判斷方法是,附加跳躍的遍歷包括了附加資源的消耗。另一個(gè)判斷方法是,跳躍的附加增加了沿路徑的總延遲。對于TCP連接,這將產(chǎn)生增加的往返時(shí)間并因此降低吞吐量。
第三,由于運(yùn)行在相同信道上的鏈路間的干擾,路徑度量應(yīng)該明確解決吞吐量的下降。相似地,它也應(yīng)當(dāng)解決沿著一路徑的、不在相同信道上操作、彼此沒有干擾的鏈路的情況。因此,由不同信道上的跳躍所組成的路徑優(yōu)先于所有跳躍在同一信道上的路徑。
為了符合這些設(shè)計(jì)目標(biāo),當(dāng)附加鏈路增加到現(xiàn)有路徑中時(shí)WCETT值應(yīng)當(dāng)增加??赏ㄟ^把WCETT設(shè)為路徑上所有跳躍的ETT的總和來確保這一特性。然而,這樣卻不正確地假設(shè)了所有鏈路都是干擾的。WCETT的另一個(gè)目標(biāo)是反映信道差異的影響。由于沒有區(qū)分不同信道上的跳躍之間的區(qū)別,因此簡單地累計(jì)ETT將不能保證該特性。因此WCETT度量需要附加項(xiàng)。
首先我們假設(shè),如果路徑上的兩個(gè)跳躍在同一信道上,那么它們通常彼此干擾。這個(gè)假設(shè)對于校短的路徑一般精確,但對較長路徑則稍微有點(diǎn)不容樂觀。當(dāng)路徑上的兩個(gè)跳躍互相干擾時(shí),在一個(gè)時(shí)間里只可操作一個(gè)跳躍。這可以通過將干擾跳躍上的分組傳輸時(shí)間加在一起來獲得。為了概括起見,考慮具有n個(gè)跳躍的路徑,并假設(shè)所述系統(tǒng)總共具有k個(gè)信道,定義Xj如下 Xj是信道j上跳躍的傳輸時(shí)間的總和??偮窂酵掏铝繉⒂删哂凶畲骕j值的瓶頸信道來決定?;谶@個(gè),一個(gè)建議是可以使用該最大值Xj作為WCETT的定義。通過這樣定義,所述度量將支持具有更多不同信道的路徑。然而,可以看到,由于使用非瓶頸信道的附加跳躍不會影響度量的值,因而這個(gè)度量值將不能隨著更多的跳躍加入到路徑而一直增加。
先前參考的兩個(gè)路徑度量的預(yù)期特性(ETT的總和以及最大Xj)可以通過采用它們的權(quán)值平均數(shù)來合并成一個(gè)滿意的度量WCETT=(1-β)*Σi=1nETTi+β*maxi≤j≤kXj]]>因此,WCETT度量是兩個(gè)數(shù)值的加權(quán)平均值沿路徑的所有跳躍的ETT的總和,及瓶頸信道上ETT的總和。第二個(gè)數(shù)值迫使不同信道路徑的選擇。β是符合0≤β≤1的可調(diào)參數(shù)。選擇β為0.5時(shí)可以給不同信道和ETT的總和提供相等的權(quán)值。如果將β選擇為0,WCETT僅基于鏈路的丟失比率和帶寬來選擇鏈路,而不考慮不同信道。在一個(gè)實(shí)施例里,β的選擇可以自動的基于當(dāng)前網(wǎng)絡(luò)帶寬。
加權(quán)平均的WCETT表達(dá)式可以用兩種方法來解釋。第一,它可以被看作是全局利益和利己主義之間的權(quán)衡。第一項(xiàng)是網(wǎng)絡(luò)里沿著所有跳躍的傳輸時(shí)間的總和。這反映了沿這個(gè)路徑的總的網(wǎng)絡(luò)資源消耗。第二項(xiàng)反映了將最大限度地影響路徑吞吐量的一組跳躍。于是可以把加權(quán)平均值看作試圖是平衡這兩者。也可以將所述等式看作是吞吐量和延遲之間的權(quán)衡??梢詫⒌谝粋€(gè)項(xiàng)看作是路徑等待時(shí)間的測量。由于第二項(xiàng)表示瓶頸跳躍的影響,因此它可以被看作為路徑吞吐量的測量。因此,也可以將加權(quán)平均值看作為試圖平衡這兩者。
圖6示出了對于一給定路徑、在WCETT計(jì)算中涉及的步驟。對于路徑上的每個(gè)鏈路,節(jié)點(diǎn)利用丟失比率和帶寬來計(jì)算ETT(步驟601)。節(jié)點(diǎn)計(jì)算ETT的總和(步驟603)。然后根據(jù)信道將鏈路分組并為每個(gè)組計(jì)算ETT總和(步驟605)。所述節(jié)點(diǎn)查找具有最大ETT總和的組(步驟607)。最后,節(jié)點(diǎn)為每個(gè)路徑計(jì)算WCETT,具體是由(1-β)乘以ETT的總和,再加上β乘以信道組里ETT總和的最大值。
圖7示出了可以實(shí)施本發(fā)明實(shí)施例的示例性網(wǎng)絡(luò)環(huán)境。所述示出的網(wǎng)絡(luò)部分地是多跳無線網(wǎng)絡(luò)。如所描述的,所述網(wǎng)絡(luò)包括無線節(jié)點(diǎn)701、703、705、707、709、711、713、715、717、719。作為典型,所描述的無線網(wǎng)絡(luò)不能獨(dú)立于其它網(wǎng)絡(luò)而運(yùn)行;如示出的,所述網(wǎng)絡(luò)通過網(wǎng)關(guān)設(shè)備723、721連接至通常是較大網(wǎng)絡(luò)的第二網(wǎng)絡(luò),例如因特網(wǎng),所述網(wǎng)關(guān)設(shè)備通過有線通信裝置725連接至第二網(wǎng)絡(luò)。所述破折線表示現(xiàn)有的無線電鏈路。諸如節(jié)點(diǎn)701這樣的節(jié)點(diǎn)是計(jì)算設(shè)備,可具有許多通用或?qū)S玫呐渲煤徒Y(jié)構(gòu),這對本領(lǐng)域的技術(shù)人員是公知的。通常,這些設(shè)備將至少具有處理器和存儲器分級體系,及有線和無線網(wǎng)絡(luò)接口硬件。尤其是,這個(gè)網(wǎng)絡(luò)里的節(jié)點(diǎn)可以具有一個(gè)或多個(gè)數(shù)字分組無線電收發(fā)器,以便穿越頻率信道而沒有限制的進(jìn)行無線通信,例如,這些包括在網(wǎng)絡(luò)接口卡里的無線點(diǎn)收發(fā)器可以適用于802.11a和802.11g IEEE標(biāo)準(zhǔn)。
由于無線電具有有限的無線通信范圍,因而這個(gè)網(wǎng)絡(luò)里的許多對節(jié)點(diǎn)不能直接進(jìn)行通信,而是必須依賴所述網(wǎng)絡(luò)里的一個(gè)或多個(gè)合作節(jié)點(diǎn)作為中介節(jié)點(diǎn)來從源節(jié)點(diǎn)向目標(biāo)節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)。因而,源節(jié)點(diǎn)一般將數(shù)據(jù)分組傳送給它可以直接通信的相鄰節(jié)點(diǎn)。所述相鄰節(jié)點(diǎn)順序的將所述分組傳送給它的相鄰節(jié)點(diǎn)中的一個(gè),如此,直到將所述分組傳送給它的最后目標(biāo)。分組發(fā)送所越過的每條鏈路稱為“跳躍”。分組從源節(jié)點(diǎn)到最終目標(biāo)節(jié)點(diǎn)所經(jīng)歷的鏈路組是所述分組的路由或路徑??梢酝ㄟ^以分布方式運(yùn)行在多跳網(wǎng)絡(luò)的幾個(gè)節(jié)點(diǎn)上的路由協(xié)議來發(fā)現(xiàn)路由。在圖7中,描述了兩個(gè)示例性路由。節(jié)點(diǎn)S1 707將分組傳送給中介節(jié)點(diǎn)R1 709,中介節(jié)點(diǎn)R1 709再將分組傳送給中介節(jié)點(diǎn)R2 703,中介節(jié)點(diǎn)R2 703將所述分組傳送給目標(biāo)節(jié)點(diǎn)D711。這些節(jié)點(diǎn)之間的實(shí)心黑色箭頭線表示包括這個(gè)路由的數(shù)據(jù)通信鏈路。節(jié)點(diǎn)S2 717向中介節(jié)點(diǎn)R3 719發(fā)送去往外部網(wǎng)絡(luò)的分組,中介節(jié)點(diǎn)R3 719將所述分組傳送給網(wǎng)關(guān)723。
在本發(fā)明的實(shí)施例里,WCETT度量與MR-LQSR(多無線電鏈路高質(zhì)源路由)一起實(shí)施,該MR-LQSR是運(yùn)行在網(wǎng)狀連通層(MCL)路由框架里的鏈路質(zhì)量源路由(LQSR)協(xié)議的一個(gè)修改版本。2004年2月23日申請的美國專利申請?zhí)枮?0/784,687的“System and Method for Link Quality Source Routing”公開了LQSR的一些特征,上述申請與本申請具有共同的發(fā)明人,并在此引用以作參考,以及在2003年6月30日申請的美國專利申請?zhí)枮?0/610,397的“Methodand System for Providing a Virtual Protocol Interlayer”中公開了MCL一些特征,上述申請與本申請是共同的發(fā)明人,并在此引用以作參考。這些特征中的部分也在R.P.Draves,J.Padhye,和B.D.Zill的“Comparison of Routing Metrics for StaticMulti-Hop Wireless Networks”Technical Report(技術(shù)報(bào)告)MSR-TR-2004-18,Microsoft Research(微軟公司研究報(bào)告)(2004年3月)中有論述,并在此引用以作參考。
MCL實(shí)現(xiàn)了一個(gè)處于層2(鏈路層)和層3(網(wǎng)絡(luò)層)之間的中間層內(nèi)的虛擬網(wǎng)絡(luò)適配器。對較高層應(yīng)用,MCL看起來是另一個(gè)以太網(wǎng)鏈路,具有自己的48位虛擬以太網(wǎng)地址,不同于底層物理適配器的層2地址。MCL對較低層則看起來是另一個(gè)運(yùn)行在物理鏈路上的協(xié)議。多個(gè)物理網(wǎng)絡(luò)適配器可以復(fù)合成單一虛擬鏈路,網(wǎng)絡(luò)協(xié)議可以在該單一虛擬鏈路上運(yùn)行而無須修改。
MCL適配器使用MR-LQSR對分組進(jìn)行路由。對于給定的節(jié)點(diǎn),通過合并鏈路權(quán)值來形成路徑度量,MRLQSR協(xié)議發(fā)現(xiàn)節(jié)點(diǎn)的相鄰節(jié)點(diǎn),向節(jié)點(diǎn)與相鄰節(jié)點(diǎn)之間的鏈路分配權(quán)值,將這個(gè)信息傳播給網(wǎng)絡(luò)里的其它節(jié)點(diǎn),并使用所述鏈路權(quán)值來查找到達(dá)給定目標(biāo)的好路徑。讀者可以參考以上所引用的相關(guān)專利申請和舉證的技術(shù)報(bào)告來獲得有關(guān)MCL和LQSR的其它細(xì)節(jié)。然而本發(fā)明不限于基于MCL和LQSR的實(shí)施。在本發(fā)明的其它實(shí)施例里可使用其它路由協(xié)議和框架。
為了實(shí)施WCETT,與每個(gè)鏈路的丟失比率和帶寬或ETT一起傳送信道號是必須的。在一個(gè)實(shí)施例里,度量值的8位用來編碼為抽象的信道號。傳送信道號的其它方法也是可能的。
在本發(fā)明描述的上下文中,術(shù)語“一”“和“這”及相似情況的使用解釋為覆蓋單數(shù)和復(fù)數(shù),除非這里有指定或文本里有清楚的矛盾。術(shù)語“包括”、“具有”、和“包含”解釋為開放式結(jié)束術(shù)語(意為“包括,但不限于”),除非有其它標(biāo)注。這里值的范圍的列舉僅意指作為一種單個(gè)的參考每個(gè)落入這個(gè)范圍之內(nèi)的分離值的速記方法,除非這里有指定,并且每個(gè)分離值都被合并進(jìn)入本說明書,就像在此分別舉證的一樣。這里使用的任何和所有的示例或示例性語言(“諸如”,“例如”,“如”等)僅僅意圖更好的說明本發(fā)明,并沒有在本發(fā)明的范圍上指定限制,除非有其它請求。說明書里沒有語言應(yīng)當(dāng)解釋為指定任何非請求的元素為本發(fā)明的實(shí)施的本質(zhì)。
參見圖8,示出了用來實(shí)現(xiàn)本發(fā)明的示例性系統(tǒng),包括計(jì)算設(shè)備,諸如計(jì)算設(shè)備800。在基本的配置里,計(jì)算設(shè)備800一般包括至少一個(gè)處理單元802和系統(tǒng)存儲器804。根據(jù)準(zhǔn)確的配置和計(jì)算設(shè)備的類型,系統(tǒng)存儲器804可以是易失性的(諸如RAM)、非易失的(諸如ROM、快速存儲器等)或這兩個(gè)的結(jié)合。系統(tǒng)存儲器804一般包括操作系統(tǒng)805,一個(gè)或多個(gè)應(yīng)用程序806,并也可以包括程序數(shù)據(jù)807。這個(gè)基本的配置在圖8中由虛線808中的這些部件來示出。
計(jì)算設(shè)備800也可以具有額外特征或功能。例如,計(jì)算設(shè)備800可包括額外的數(shù)據(jù)存儲設(shè)備(可移動和/或不可移動),例如磁盤,光盤或磁帶。這個(gè)額外存儲器在圖8中由可移動存儲器809和不可移動存儲器810來示出。計(jì)算機(jī)存儲媒體可包括為了信息的存儲,在任何方法和技術(shù)中實(shí)現(xiàn)的易失和非易失的,可移動和不可移動媒體,所述信息諸如是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)。系統(tǒng)存儲器804、可移動存儲器809和非可移動存儲器810是計(jì)算機(jī)存儲媒體的所有示例。計(jì)算機(jī)存儲媒體包括,但不限于,RAM、ROM、EEPROM閃存或其它存儲器技術(shù)、CD-ROM,數(shù)字化視頻光盤(DVD)或其它光學(xué)存儲器、磁帶盒、磁帶、磁盤存儲器或其它磁性存儲設(shè)備,或任何其它可以用來存儲期望信息并可以被計(jì)算設(shè)備800訪問的媒體。任何這些計(jì)算機(jī)存儲媒體可以是設(shè)備800的一部分。計(jì)算設(shè)備800也可具有輸入設(shè)備812,諸如鍵盤、鼠標(biāo)、筆、聲音輸入設(shè)備、觸摸輸入設(shè)備等。也可以包括諸如是顯示器、揚(yáng)聲器、打印機(jī)等的輸出設(shè)備814。所有的這些設(shè)備都是本領(lǐng)域公知的并不需要在這詳細(xì)論述。
計(jì)算設(shè)備800也包括允許所述設(shè)備與其它計(jì)算機(jī)設(shè)備818例如在網(wǎng)絡(luò)或無線網(wǎng)狀網(wǎng)絡(luò)上進(jìn)行通信的通信連接816。通信連接816是通信媒體的一個(gè)示例。通信媒體一般包含計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或在諸如是載波或其它傳輸機(jī)構(gòu)的已調(diào)制數(shù)據(jù)信號里的其他數(shù)據(jù),并包括任何信息傳遞媒體。術(shù)語“已調(diào)制數(shù)據(jù)信號”意指具有一個(gè)或多個(gè)特征集的信號,或以這種方式改變以便在信號里編碼信息。以舉例的方式,但不限制,通信媒體包括諸如是有線網(wǎng)絡(luò)或直接有線連接的有線媒體,和諸如是聲學(xué)的、RF,紅外線的和其它無線媒體及其它無線媒體。這里使用的術(shù)語“計(jì)算機(jī)可讀媒體”包括存儲媒體和通信媒體。
根據(jù)本發(fā)明,在一個(gè)實(shí)施例里,應(yīng)用程序806進(jìn)一步包括應(yīng)用程序820來執(zhí)行網(wǎng)狀網(wǎng)絡(luò)功能。應(yīng)用程序820表示的功能可以由包括在計(jì)算設(shè)備800中的、用來建立和維持特定網(wǎng)絡(luò)的附加輸入設(shè)備812、輸出設(shè)備814和通信連接816來進(jìn)一步支持。
已經(jīng)在此描述了本發(fā)明的優(yōu)選實(shí)施例,所述實(shí)施例包括為發(fā)明人所知的用來實(shí)施本發(fā)明的最佳方式。在這些優(yōu)選實(shí)施例上的變化對閱讀了前述描述的本領(lǐng)域的普通技術(shù)人員而言是顯而易見的。發(fā)明人期望技術(shù)人員合理的使用這些變化,并且發(fā)明人提供的本發(fā)明除這里指定的描述之外可以實(shí)施。因此,在法律允許的范圍內(nèi),本發(fā)明包括在所附權(quán)利要求里引用的要點(diǎn)的所有變化和替換。此外,在其可能的變化中的上述要素的任何可能的結(jié)合都包含在本發(fā)明之內(nèi),除非這里有指定或在上下文中有明顯的矛盾。
權(quán)利要求
1.一種用來在特定網(wǎng)絡(luò)中進(jìn)行路由的系統(tǒng),所述系統(tǒng)包括用于向鏈路分配權(quán)值的機(jī)制;及用來將路由的個(gè)別鏈路權(quán)值合并成路徑度量的機(jī)制,其中所述路徑度量說明了使用共享信道的鏈路之間的干擾。
2.如權(quán)利要求1所述的系統(tǒng),其中所述特定網(wǎng)絡(luò)包括一個(gè)或多個(gè)具有多個(gè)無線電收發(fā)器的節(jié)點(diǎn)。
3.如權(quán)利要求1所述的系統(tǒng),其中所述特定網(wǎng)絡(luò)包括一個(gè)或多個(gè)具有多個(gè)同種無線電收發(fā)器的節(jié)點(diǎn)。
4.如權(quán)利要求1所述的系統(tǒng),其中給鏈路分配權(quán)值進(jìn)一步包括根據(jù)在鏈路上傳送分組以使分組成功穿過鏈路的所期望時(shí)間的測量值乘以鏈路的帶寬測量值,來確定權(quán)值。
5.如權(quán)利要求4所述的系統(tǒng),其中在鏈路上傳送分組以使分組成功穿過鏈路的所期望時(shí)間的測量包括ETX測量。
6.如權(quán)利要求4所述的系統(tǒng),其中帶寬測量是憑經(jīng)驗(yàn)來確定的。
7.如權(quán)利要求4所述的系統(tǒng),其中帶寬測量是使用分組對技術(shù)來確定的。
8.如權(quán)利要求1所述的系統(tǒng),其中路徑度量包括加權(quán)的平均值,(1-β)*Σi=1nWi+β*max1≤j≤kXj]]>其中n是路由中鏈路的數(shù)量,Wi是鏈路i的權(quán)值,Xi是信道j上權(quán)值的總和,K是信道的數(shù)量,及β是符合0≤β≤1的參數(shù)。
9.如權(quán)利要求8所述的系統(tǒng),其中信道j上的權(quán)值(例如Xj)的總和由 來計(jì)算,因此,總的路徑吞吐量由瓶頸信道來決定,其中瓶頸信道是具有最大Xj值的信道。
10.如權(quán)利要求8所述的系統(tǒng),其中鏈路i的權(quán)值包括在鏈路i上傳送分組以使分組成功穿過鏈路的的所期望時(shí)間的測量值,乘以鏈路i的帶寬測量值。
11.在多跳網(wǎng)絡(luò)里,一種用于測量從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的路由的鏈路質(zhì)量的方法,所述路由包括多個(gè)鏈路,所述方法包括根據(jù)鏈路的性能,為路由里的每個(gè)鏈路分配權(quán)值;及將為路由分配的鏈路權(quán)值合并成路徑度量,其中所述路徑度量說明了使用共享信道的鏈路之間的干擾。
12.如權(quán)利要求11所述的方法,其中所述多跳網(wǎng)絡(luò)包括一個(gè)或多個(gè)具有多個(gè)無線電收發(fā)器的節(jié)點(diǎn)。
13.如權(quán)利要求11所述的方法,其中所述多跳網(wǎng)絡(luò)包括一個(gè)或多個(gè)具有多個(gè)同種無線電收發(fā)器的節(jié)點(diǎn)。
14.如權(quán)利要求11所述的方法,其中鏈路的性能包括在鏈路上傳送分組以使分組成功穿過鏈路的所期望時(shí)間的測量值,乘以鏈路的帶寬測量值。
15.如權(quán)利要求14所述的方法,其中所述帶寬測量是憑經(jīng)驗(yàn)確定的。
16.如權(quán)利要求14所述的方法,其中所述帶寬測量是使用分組對技術(shù)確定的。
17.如權(quán)利要求14所述的方法,其中將為路由分配的鏈路權(quán)值合并成路徑度量包括為路由里的鏈路計(jì)算期望傳輸時(shí)間的總和;為一個(gè)或多個(gè)鏈路使用的每個(gè)信道確定共享信道的鏈路的子集;為每個(gè)子集里的鏈路計(jì)算期望傳輸時(shí)間的總和;確定具有最大總和的子集;及通過用(1-β)乘以路由中鏈路的期望傳輸時(shí)間的總和加上β乘以具有最大總和的于集的期望傳輸時(shí)間的總和來計(jì)算路徑度量,其中β是符合0≤β≤1的參數(shù)。
18.一種具有在其上存儲用來測量從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的路由的鏈路質(zhì)量的計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀媒體,所述路由包括多個(gè)鏈路,所述計(jì)算機(jī)可讀指令包括根據(jù)在鏈路上分組的期望傳輸時(shí)間,為路由里的每個(gè)鏈路分配權(quán)值;及將為路由分配的鏈路權(quán)值合并成路徑度量,其中路徑度量說明了使用共享信道的鏈路之間的干擾。
19.如權(quán)利要求18所述的計(jì)算機(jī)可讀媒體,其中期望傳輸時(shí)間包括在鏈路上傳送分組以使分組成功穿過鏈路的所期望時(shí)間的測量值,乘以鏈路的帶寬測量值。
20.如權(quán)利要求18所述的計(jì)算機(jī)可讀媒體,其中將為路由分配的鏈路權(quán)值合并成路徑度量包括為路由中的鏈路計(jì)算期望傳輸時(shí)間的總和;為一個(gè)或多個(gè)鏈路使用的每個(gè)信道確定共享信道的鏈路的子集;為每個(gè)子集里的鏈路計(jì)算期望傳輸時(shí)間的總和;確定具有最大總和的子集;及通過用(1-β)乘以路由里鏈路的期望傳輸時(shí)間的總和加上β乘以具有最大總和的子集的期望傳輸時(shí)間的總和來計(jì)算路徑度量,其中β是符合0≤β≤1的參數(shù)。
全文摘要
使用加權(quán)累計(jì)的期望傳輸時(shí)間路徑度量來連接質(zhì)量路由的系統(tǒng)和方法。一種用于在特定網(wǎng)絡(luò)里路由的系統(tǒng),及一種在所述網(wǎng)絡(luò)里用于測量路由的鏈路質(zhì)量的方法,包括根據(jù)分組越過所述鏈路所期望的傳輸時(shí)間而對鏈路權(quán)值的分配,及將路由的單個(gè)鏈路權(quán)值合并成路徑度量。所述路徑解決使用共享信道的鏈路之間的干擾。在路徑度量的計(jì)算中,當(dāng)對非干擾鏈路的期望傳輸時(shí)間分開考慮時(shí),彼此干擾的鏈路的期望傳輸時(shí)間增加。
文檔編號H04L12/28GK1750514SQ200510109819
公開日2006年3月22日 申請日期2005年6月23日 優(yōu)先權(quán)日2004年6月23日
發(fā)明者B·D·茲爾, J·D·帕德海, 小R·P·德拉弗斯 申請人:微軟公司