專利名稱:多站網絡的探測方法
技術領域:
本發明涉及操作國際專利申請號WO 96/19887和WO 98/56140中描述的一般種類的多站通信網絡的方法。本發明還涉及這種網絡本身。
背景技術:
上述種類的網絡可以商業使用,其中使用者是為使用網絡付費的用戶。作為選擇,諸如警察或軍隊之類的安全部隊可以使用這種網絡。
上述種類的網絡的進一步的應用是在無線局域網絡(WLAN)中使用,其中可以將無線網絡與慣用的網絡結構組合,以便為固定和移動網絡使用者提供服務。這種網絡經常是計算機網絡,但是,不一定必須是計算機網絡。
發明內容
根據本發明,提供了一種操作包括多各站的通信網絡,每個站能夠發送和接收數據,從而使得網絡能夠經過至少一個抓時機選擇的中間站從始發站向目的站發送數據的方法,所述方法包括a)定義與至少一個數據信道不同的至少一個探測信道;b)在每個站并且根據第一預定標準,選擇用于向其它站發送探測信號的探測信道;c)從每個站在選擇的探測信道上發送第一探測信號,接收到來自探測站的第一探測信號的其它站直接或間接地回答,由此向探測站指出它們可以用作目的或中間站;d)在每個站,保持包括通過步驟(c)識別的其它可用站的詳細信息的鄰居表;e)從一個需要向不是鄰居站的目的站發送數據的站,向鄰居表中的站發送第二探測信號,和接收來自鄰居表中的站的第二探測信號;和f)如果需要,在每個站保持包括有關與每個鄰居站通信的價格的數據的梯度表,從而,使得每個站能夠選擇預定數量的用于以最低價格從始發站向目的站前向發送數據的中間站。
通過步驟(c)識別的其它可用站的詳細信息可以包括到達其它可用站所需的路徑損耗和功率。
優選的是,僅在所述站的鄰居表包含條目時從每個站發送第二探測信號。
所述方法包括為鄰居表中每個站計算用作經過鄰居表中每個站從始發站向目的站發送消息的價格的到目的值的價格。
優選的是,每個站還保持一個其本身到目的值的價格的臨時記錄。
優選的是,到目的值的價格是經過鄰居表中每個這樣的站和任何中間站從始發站向目的站發送消息的累加價格。
優選的是,所述方法包括在其它站可以更新它們自身的到目的值的價格的周期中,使每個站的到目的值的計算價格保持恒定,以防止各站在它們自己的計算中使用廢棄的到目的值的價格的步驟。
根據本發明的另一個方面,提供了一種包括多個客戶站的通信網絡,每個客戶站能夠發送和接收數據,從而使得網絡能夠經過至少一個抓時機選擇的中間客戶站從始發客戶站向目的客戶站發送包括多個數據分組的消息的,其中所述網絡進一步包括多個網關,用作客戶站對網絡的接入點;多個客戶站可以與之通信的種子站,每個種子站與至少一個網關通信,所述多個種子站擴大了客戶站的有效連接范圍;和至少一個用戶網絡管理器,用于監視客戶站;其中每個客戶站適合于a)定義與至少一個數據信道不同的至少一個探測信道;b)在每個客戶站并且根據第一預定標準,選擇用于向其它客戶站發送探測信號的探測信道;
c)在選擇的探測信道上從每個客戶站發送第一探測信號,接收到來自探測客戶站的第一探測信號的其它客戶站直接或間接地做出回答,由此向探測客戶站指出它們可以用作目的或中間客戶站;d)在每個客戶站,保持包括通過步驟(c)識別的其它可用客戶站的詳細信息的鄰居表;e)從一個需要向不是鄰居客戶站的目的客戶站發送數據的客戶站向鄰居表中的客戶站發送第二探測信號和從鄰居表中的客戶站接收第二探測信號;和f)在每個客戶站,保持包括有關與每個鄰居客戶站通信的價格的數據的梯度表,由此使得每個客戶站能夠選擇用于從始發客戶站向目的客戶站前向發送數據的預定數量的中間客戶站。
圖1是顯示利用本發明的方法和系統的WLAN網絡的總體系統圖;圖2是圖1的網絡中使用的客戶設備的示意方框圖;圖3是圖2的設備中使用的單片信號收發信機的詳細示意圖;圖4是圖1的網絡的系統層架構的示意圖;圖5是本發明的網絡的示意圖,其中各站經過中間站相互通信;圖6是本發明的慢探測機構的示意圖;圖7是快探測機構的類似的示意圖;圖8是說明使用矢量路由法的網絡中的環路形成的簡化示意圖;和圖9至11是說明用于避免路由環路形成的本發明的方法的示意圖。
具體實施例方式
本發明涉及操作國際專利申請號WO 96/19887和WO 98/56140中描述的種類的多站通信網絡的方法,這些國際專利申請結合在此作為參考。簡單地講,這種網絡的基本操作如下。
多站網絡包括多個獨立的站,這些站可以是固定的或移動的,每個站可以發送和接收數據,以便經過中間站從始發站向目的站發送消息。為了使始發站處于經過數個可能的中間站中的選定的一個向目的站發送一個新的消息的位置,在正常情況下每個站必須在任何時間與數個站接觸。這也適用于需要站轉播從始發站發送到目的站的消息的情況。
為此,每個站選擇多個可能的探測信道中的一個,向其它站發送探測信號。探測信號包含標識被請求的站的數據,并且包括它與其它站的連接的詳細情況。接收到探測信號的其它站直接回答探測站或經過中間站間接地回答,由此向探測站和其它站指出它們可用作目的或中間站。探測站評估直接或間接的回答,以識別它能夠與之最佳通信的其它站。
特別是,網絡的各個站可以監視到達每個站所需的累積功率,由此定義到其它站的功率梯度,而各站選擇一個使得功率梯度最佳的通過始發站與目的站之間的網絡的路由。這能夠使得通過網絡的數據通過量最大,而各站之間的干擾和爭用最小。
網絡中每個站包括一個能夠接收和發送來自范圍內任何站的數據的收發信機。網絡可以是上述國際專利申請中所述的分組無線電廣播網絡,但是,應當知道,本發明可以應用到使用者站可以經過網絡中的中間站與另一個站通信的其它網絡。
上述網絡的站之間的抓時機數據傳輸的方法在這里稱為抓時機驅動多路接入(Opportunity Dviven Multiple Access)(ODMA)。
以下參考基于802.11b標準的WLAN系統來說明本發明的一個實施例。圖1的示意圖中示出了這種WLAN布置的一個例子。
在圖1中,第一和第二網關10和12各用作多個用戶單元(客戶設備)14到網絡接入點,用戶單元一般是網絡使用者。在本實施例中,客戶設備一般是能夠利用ODMA技術直接或經過其它客戶設備間接地與對應網關10和12通信的無線網卡。此外,在網關10和12附近戰略地部署了多個種子站16,種子站16是無線路由器。種子站通過擴展客戶設備的連接范圍,特別是在困難的環境中,有效地擴大了網絡的覆蓋范圍和通過量。
ODMA協議可以經過無線鏈路,諸如局域網絡之類的有線網絡,和圖1中所示的無線回程或光纖鏈路18和20操作,以抓時機在用戶單元(客戶設備)與種子站之間轉播數據。如圖所示,從站到站的轉播可以包括有線和無線跳以及經過無線回程的跳。
網絡抓時機將消息從用戶無線地路由到用戶并經過種子站進入網關,然后經過點對點鏈路進入光纖,進入另一個區。
以這種方式,使用ODMA的國家和國際網絡可以經過各種不同類型的網絡,將消息從任何使用者轉送到世界任何部分的任何其它使用者。網絡自動地發現消息分組傳送的最佳路徑,并且通過發現通過網絡的替代路徑提供負載平衡和斷開鏈路的恢復。ODMA中的所有單元具有叫作SID(系統ID)的獨特地址。
用戶網絡管理器22監視網絡中各個站的健康,并且管理網絡的安全和記賬。
在上述例子中,客戶設備可以用上述國際專利申請中所述的方式,直接地、或經過種子站16、或經過一個或更多的中間客戶站,與網關10和12通信。此外,客戶設備可以與其它相同的設備形成直接對等網絡。
在這種網絡中使用抓時機多跳路由,如果客戶設備當前網關發生故障,那么它們可以轉移到替代網關,從而提高了網絡的穩定性,并且能夠消除瓶頸和提高整個網絡的性能。在慣用的802.11b系統中,范圍會急劇地減小,一般減小到一百米以下。為了增大以覆蓋遠距離的客戶設備,必須減小數據率。反過來,低數據率的使用造成客戶設備停留在數據信道上更長的時間,從而影響WLAN的所有客戶設備的通過量。抓時機多跳路由的使用解決了這個問題,因為即使遠距離客戶設備也可以利用多跳,以最高數據率通過種子站和相鄰客戶設備,將數據發送到目的地,從而避免了網絡擁塞。信道的優化使用和功率適配減少了爭用,并且優化了提供給使用者的通過量。
圖2示出了形成802.11b WLAN部分的客戶設備的說明方框圖。客戶設備包括一個嵌入了ARM940T RISC的Samsung S3C2500微控制器40。它也提供了10/100Mbps以太網絡控制器、存儲器控制器、12C和GPIO,以便與LAN芯片、SIM卡讀取器、和ZD1201基帶處理器通信。S3C2500芯片裝配有32Mbit閃存器和128Mbit SDRAM存儲器。
該設備包括利用高速DSP硬件邏輯電路執行802.11和802.11b基帶調制和解調的高度集成的ZD1201 WLAN組合芯片42。為了跟隨IEEE802.11組定義的未來的MAC標準,在ZD1201芯片中嵌入了ARM7 RISC處理器。這使得能夠通過簡單地更新軟件驅動程序而使用最近的WLAN特征。
客戶設備包括一個為了2.45GHz無線LAN(WLAN)應用的SA2400全集成單片IC RF收發信機44。它是制造在高級30GHz fT BiCMOS處理器上的直接轉換無線電架構。SA2400A將接收機、發射機、和LO發生組合在單一的IC中。接收機是由低噪聲放大器、下變換混頻器、全集成信道濾波器、和帶有芯片內閉環的自動增益控制(AGC)組成的。發射機包含功率傾斜,濾波器,上變換,和前置驅動器。LO發生器是由全芯片內VCO和N-分數合成器。接收機的典型系統性能參數是93dB增益,7.5dB噪聲系數,+1dBm的有關輸入的三級截獲點,8ms的AGC設置時間,和3ms的TX-to-Rx開關時間。發射機典型系統性能參數是1dB步長的從-7dBm至8dBm的輸出功率范圍,校準后-40dBc載流子泄漏,22dB邊帶抑制,30dB的帶內共模抑制,和3ms的Rx-to-Tx開關時間。
設備包括具有在2.4GHz頻帶的高輸出功率的,AP1091線性,雙極功率放大器46形式的功率放大級。設備傳遞26dBm的符合IEEE802.11b標準的26dBm的線性輸出功率。功率放大器也包括一個提供與設備的輸出功率成正比的DC電壓的芯片上功率檢測器。
設備進一步包括具有低介入損耗和非常低的DC功率消耗的正電壓操作的DC-3GHz SPDTRF開關48。
緊靠天線54和56的第一RF開關52提供了選擇使用哪一個天線發送或接收的能力。從選擇的天線,將接收的輸入施加到一個2.45GHz帶通濾波器50。這個濾波器拒絕2.4GHz ISM頻帶之外的干擾。緊靠2.45GHz帶通濾波器的第二RF開關58提供了TX/RX開關。這個開關在接收模式將信號導入SA2400的LNA部分。接下來,利用正交下變換器將信號下混頻到基帶信號,成為I和Q分量。最后,信號傳遞到ZD1201的ADC。基帶電路抽樣波形,然后去擴展和解調接收的信號。
在發射鏈路上,數據可以被BDPSK,DQPSK或CCK調制,導致帶有I和Q分量的基帶正交信號。然后,信號傳遞到上變換混頻器的輸入端,以變換到2.4GHz-2.5GHz頻帶。SA2400操作在高功率模式或低功率模式,以覆蓋高的輸出功率范圍。當操作在高功率模式時,選擇TX OUT LO,并且傳遞到AP1091放大器,以提供高輸出功率。當操作在低功率模式時,選擇TX_OUT_HI,并且信號直接通過RF開關傳遞。要注意,TXAGC功能是由ZD1201基帶處理器42提供的。
在圖3的更為詳細的示意圖中示出了SA2400收發信機的內部電路。
圖4示出了圖1的網絡的系統層級構造。該系統實質上包括用戶單元或使用者(客戶設備),種子站,和將客戶設備鏈接到WAN的網關。客戶設備可以通過直接在它們之間或經過種子站轉播消息而相互通信。如果一個使用者要接入諸如互聯網絡之類的其它網絡,那么消息經過網關轉播到WAN,然后經過路由器網絡進入其它網絡。網關起到從客戶設備和種子站使用的ODMA協議到諸如TCP/IP之類的其它協議的翻譯器的作用。
以下參考圖5至11示意圖,說明上述網絡的操作。
在圖5中,始發站A能夠與五個“相鄰”站B至F通信,并且經過中間站B、I和M將數據發送到目的站O。例如,站A至M和O一般是包括上述客戶設備的使用者站,但是,一些可以是種子站。
為了使網絡的效率最高,每個站最好具有在該站需要發送或接收消息的情況下它能夠與之通信的多個“鄰居”站。另一方面,如果一個給定站要將數據發送到一個選定的鄰居站,那么希望發送對其它站造成的干擾最小,否則產生的爭用會降低網絡中數據通過量。
出于上述考慮,本網絡尋求調節每個站的操作,以便它能夠在任何時候以最高可能的數據率,但是最低可能的發射功率,向或從多個鄰居站發送數據或接收數據,從而減小了與其它站的干擾。
所述種類的通信網絡包括許多試圖在相同的信道集上通信的站。這些信道可以定義為具有不同頻率、不同媒介、不同編碼(例如,不同擴展碼)、不同天線、不同時隙、等等,或任何這些的組合。為了優化信道復用,這些站試圖保持有限數量的中間鄰居,典型的是5個鄰居。鄰居定義為給定站可以與之通信的另一個站。
通過改變一個站的發射頻率、改變代碼(PN序列)、提高它的數據率、和降低它的發射功率,它可以限制它看得到的或看得到它的鄰居站的數量。所有站利用探測信號集合在預定義的探測信道,在預定義的探測信道它們要發現與之通信的其它站。一旦發現了另一個站,并且兩個站中的一個具有要發送到另一個的數據,那么它們移動到較少使用的數據信道。
本發明的方法包括兩種探測過程,“慢探測”和“快探測”。慢探測過程由每個網絡站用于收集鄰居,而快探測過程用于在始發站與目的站之間建立梯度。
首先討論慢探測過程,當存在多個緊密相鄰的站的時候,它們在較高的數據率和低的發射功率結束探測。站偶爾地響應在較低數據率探測的、或沒有足夠的鄰居來幫助不能使用較高數據率或沒有足夠鄰居的任何孤立(遠距離的)站(以下也稱為孤立鄰居)的站。當站是孤立的并且不能在較高數據率和最大功率發現足夠的鄰居的時候,它們僅使用較低的數據率。
每個站以(慢探測定時器確定的)規則的間隔發射慢探測信號,試圖發現其它站。各站在它們的慢探測中指示它們能夠檢測到其它站探測,并且以這種方式各站改變它們的探測功率,直到某個預定數量的站指示它們能夠檢測到探測。如果站始終不能捕獲到所需數量的鄰居,那么它將保持在最低數據率和最大發射功率。
每個站在慢探測信號發射之間隨機地微小改變慢探測定時器,以避免與其它站碰撞。如果任何一個站開始接收另一個站的發送,那么它以新的間隔重新加載慢探測定時器。
在移動站的網絡中,各站不停地移動,由此鄰居的數量不停地改變。如果鄰居的數量超過需要的數量,那么站將增大它在探測信道上的數據率。它將持續提高它的數據率,直到它不再超過所需的鄰居數量。如果它達到了最大數據率,那么它以10dB的增量降低它的慢探測發射功率,直到它達到最小發射功率,或不再超過所需的鄰居數量。
當一個站在探測信道上回答另一個站的慢探測時,它把它的數據分組的長度限制到慢探測定時器間隔。這是為了避免其它站探測不到它的回答。如果正在回答的站具有比能夠裝載到一個小的分組中的數據更多的數據要發送,那么它在分組的首部指示,其它站必須移動到一個特定數據信道。
可以為每個探測信道定義多個數據信道。請求改變的站隨機地選擇一個可用數據信道。(當另一個站接收到請求時,它立即改變到該數據信道,在這個數據信道上兩個站繼續通信直到它們中的任何一個都沒有任何數據要發送,或如果超過了(數據定時器設置的)數據信道上停留的最大時間。也可以使用其它可選數據傳送協議。
當一個站改變到數據信道時,它裝載數據定時器。它將在數據信道上停留數據定時器允許的時間長度。當數據定時器到時的時候,該站返回到探測信道,并且再開始探測。
圖6的示意圖說明了本發明的慢探測過程。
慢探測過程由三個基本功能組成1.鄰居收集(Neighbor collection)2.功率認知(Power learning)3.鄰居的傾斜(Ramping of neighbors)鄰居收集的過程包括一個站以增加的功率電平探測,直到相鄰的站在它們自己的探測中指出它們檢測到第一站的探測。這叫作鄰居收集。增加探測的功率,直到預定數量的鄰居指示它們檢測到探測。
所有探測站增加和減小它們的探測功率,直到所有的站收集到預定數量的鄰居。這個過程包括增加和減小探測的功率電平,和指出在探測中收聽到哪些其它站的探測。以這種方式,所有站可以知道它們需要什么樣的功率電平來到達各個鄰居。
一個站在每次探測時,它指出它的發射功率和固有噪聲電平,和它具有哪些站作為鄰居。每次站收聽到另一個站探測時,它從探測計算路徑損耗,并且從路徑損耗和該站的固有噪聲電平計算到達該站所需的功率。把到鄰居的路徑損耗和到達鄰居所需的功率存儲在保持在每個站中叫作鄰居表的表中。如果不再收聽到鄰居,那么增加或“傾斜”表中的路徑損耗和到達該站所需的功率電平,直到達到一個特定的電平,在該點將該鄰居從鄰居表消除。
在下面的例子中更為詳細地說明本發明的慢探測過程慢探測參數■最小探測功率(Min Probing Power)(PPmin)■最大探測功率(Max Probing Power)(PPmax);■探測功率步長(Probing Power step)(PPstep);■探測間隔(Probing Interval)(Pint);■探測間隔標準偏移(Probing Interval std dev.)(Psdev);■每功率步長的探測間隔(Probing Intervals per power step)(nPPs);■鄰居超時間隔(Neighbor Timeout interval)(TNint)■緊靠鄰居超時間隔(Close Neighbor Timeout interval)(TCNint)(TCNint<TNint);■收集的緊靠鄰居的數量(# of neighbors to gather)(nNbrs);■包括在探測中的最大鄰居數量(Max # of neighbors to include in aprobe)(nPNbrs);■站固有噪聲電平(Station noise floor)(Nfloor);■損耗傾斜時間(Loss ramping time)(tinc);■損耗傾斜增量(Loss ramp increment)(Linc)(dB);■損耗傾斜過量(Loss ramp excess)(Lex)(dB)。
消息的類型■探測(Probe);■探測確認(Probe Ack);定義■鄰居發送了一個可以在這個站看到的Probe或ProbeAck的站;■緊靠鄰居發送了一個包含這個站的ID的Probe的鄰居。
(每個站的)協議以規則的間隔(Pint+\-Psdev),每個站發出一個Probe。最初以功率PPmin發射。在每個nPPs間隔將功率增加PPstep,直到發現至少nNbrs個緊靠鄰居(它們在它們的Probe消息中用這個站的ID作出了響應),或功率達到PPmax(在這個階段以這種功率電平繼續Probe發送)。如果可以看到nNbrs個以上的緊靠鄰居,那么開始向下傾斜功率。
一個Probe由以下信息組成a.在這個站的固有噪聲電平(Nfloor);b.這個探測消息的發射功率;c.這個站的鄰居的總數(目前未使用的);d.這個站的緊靠鄰居的總數;e.最接近nPNbrs個(或較少的)鄰居(或可能所有鄰居的,一各選項)的站ID。
(鄰居的靠近程度基于該鄰居的最近Probe消息的接收功率)當沒有探測時,站收聽來自其它站的Probe(或Probe Ack)。當收聽到另一個站的Probe時,利用Probe消息中的發射功率信息確定到該站的路徑損耗。然后使用固有噪聲電平信息確定將消息發送到該站所需的最小發射功率,并適當地更新鄰居表。
如果聽到一個站(a)以PPmax功率發送它的Probe,(b)宣稱具有少于nNBRs個緊靠鄰居,(c)不是這個站的緊靠鄰居中的一個,和(d)這個站可以與之通信,那么將這個遠端站考慮為是一個“孤立鄰居(Lonely Neighbor)”。在這種情況下,立即(+/-Psdev)用可以被該遠端站聽到的適當功率發送Probe Ack消息。
Probe Ack包含以下信息a.在這個站的固有噪聲電平,b.這個Probe Ack消息的Tx功率,
c.“孤立鄰居”的站ID。
如果這個站聽到包含這個站的ID的Probe Ack消息,那么給正在發射的站加上緊靠鄰居的標簽。
如果在時間tinc之后,沒有(通過來自該鄰居的探測)更新鄰居表條目,那么將Linc添加到條目中的報告的損耗。以tinc的間隔重復這種操作,直到條目被一個探測更新,或直到到達利用報告損耗的鄰居所需的發射功率超過最大允許功率Lex dB。在后一種情況下,將損耗設置到無窮大。應當注意,變化在這里可能會造成現有梯度凍結(見下面)。
在始發站與目的站之間的路線上的所有站都是未知的上述方法和其它向量路由方法中可能產生的一個問題是,到目的站的路線可能包括始發站,有效地在功率梯度中建立起一個環路。
如果損耗在無窮大并且梯度表中不存在涉及該鄰居的條目,那么應當刪除鄰居表條目。
如果沒有從一個鄰居收聽到Probe/Probe Ack長達TNint的時間,那么將該鄰居下線。如果沒有從一個緊靠鄰居收聽到Probe/Probe Ack長達TCNint的時間,那么將該緊靠鄰居恢復到鄰居狀態。
到一個特定鄰居的價格(cost)可以依據達到該鄰居的發射功率來計算。
例如,小于-10dBm=價格1小于0dBm=價格2小于10dBm=價格3小于17dBm=價格4。
價格是到達一個鄰居所需的功率的指示。需要的功率越大干擾越大,并且就功率(蓄電池)消耗等而言的價格越高。
如果將多跳的所有價格加在一起,那么,如果沿這些跳發送消息的話,總價格是要使用多少功率的指示,或產生多大干擾的指示。
慢探測產生了到達鄰居所需的功率的指示。
如果一個站具有不是其鄰居的目的站的消息,例如,跨越網絡的遠端站的消息,那么它開始發射快探測信號,以產生如何到達目的站的信息。該信息被稱為梯度,并且是到達目的站的累加價格的指示。當一個站開始快探測時,它指示它正在尋找一個目的站,并且收聽到快探測的鄰居進行它們自己的快探測,直到目的站收聽到它的鄰居的快探測。然后,通過相加累加價格建立梯度,直到梯度達到源站,源站可以開始將消息發送到具有相對于目的站較低梯度的鄰居,這些鄰居又可以將消息發送到它們的鄰居,直到到達目的站。
每個站保持到達它的每個鄰居的每個目的站的(累加價格)梯度,和它本身到達目的站的梯度的記錄。每個站僅把消息傳遞到具有到達目的站的較低累加價格的站。一個站可以將消息傳遞到它的鄰居中具有較低到達目的站的梯度的任何一個。經過慢探測收集鄰居和經過快探測的梯度產生使得一個站能夠產生具有到達任何能夠將消息發送到這些目的站的目的站的較低價格的站的多個選擇。鄰居經過慢探測始終被保有,而梯度僅在需要將消息發送到不是鄰居的站時的需要基礎上產生。
圖7中示意地示出的快探測過程或算法用于沿始發和目的站之間的路徑構造梯度。梯度優選以到鄰居的價格(CN)的形式表示。在以下兩種情況中任何一個出現時,過程開始■在站始發一個消息時,或■截獲來自一個鄰居的快探測時。
站停留在快探測模式,直到它保持的所有梯度被源或目的站刪除,或梯度超時。
快探測參數■以毫秒(msec)為單位的快探測速率(FPRate);■一個快探測的最大跳(maxHops);■以毫秒(msec)為單位的梯度超時(Gtimeout);■最大可接受價格(maxCost);■以毫秒(msec)為單位的凍結條目超時(Ftime);■站數據結構。
應當注意,下面的數據結構在它們中可以具有其它信息,與快探測算法不直接有關的信息。
鄰居表■每個鄰居的條目。
鄰居表條目■鄰居站ID;■到鄰居的當前價格(CN);■當前保持的每個梯度的條目。
鄰居梯度條目■目的站ID;■鄰居的到目的站的當前價格(CND)。
梯度表■當前保持的每個梯度的條目。每個目的站一個條目。
梯度表條目■目的站ID;■到目的站的當前最佳價格(CD);■當前最佳價格鄰居站ID;■凍結狀態(on或off);■凍結超時;■凍結價格(CDF);■凍結鄰居ID(NF);■梯度超時;■源站列表,包含每個具有相同目的站的源站的條目。
源站條目
■源站ID;■跳數;■保持狀態(是或否)。
快探測數據格式■發射站ID;■在站的固有噪聲電平;■發射功率;■多個梯度條目,在發射站為其保持梯度并且具有不超過maxCost的鄰居PDG梯度表中,一般為每個目的站條目保持一個梯度條目。
快探測梯度條目■目的站ID;■從發射站到目的站的最佳價格(PDG);■源站的列表。
源站條目■源站ID;■保持狀態(是或否);■跳數。
當梯度表包含一個或更多條目時,快探測開始/繼續。快探測消息以FPrate的速率產生,直到快探測停止。當沒有條目存留在梯度表中時,快探測停止。
如果通過慢探測過程添加了一個新的鄰居,那么要將梯度表中每個目的站的條目加到鄰居表。如果所有鄰居被刪除,那么也將梯度表刪除,并且站停留在快探測模式。
當源站(當前站)向一個給定目的站始發了數據消息,或從某個位置的鄰居接收到數據消息時,產生三種可能性1.梯度表包含消息的目的站的一個條目,并且到目的站的最佳價格不超過maxCost。在這種情況下,可以經過規定的鄰居發送消息。
2.梯度表不包含消息目的站的條目。在這種情況下,建立一個新的梯度表條目(同時保持“是”的狀態),和消息必須排隊以便將來發送。
在每個上述情況下,將梯度表中的跳數設置到maxHops。當一個始發站完全地結束了對目的站的數據發送時,它通過將保持狀態設置到“否”標記它的對應梯度表條目。然后,通過一個將來快探傳播測這個標簽。
如果梯度表已經不包含對應于消息目的地的條目,那么為該源/目的站增加一個條目。如果梯度表包含消息目的地的條目,但是沒有對應的源站條目,那么將該源站ID添加到條目的源站ID列表。如果一個表條目沒有被更新的時間長達Gtimeout,那么刪除該條目。刪除鄰居表中對應的條目。
梯度表中每個已知目的站的快探測消息是通過列舉該目的站的到達目的地的最佳價格(對于所有鄰居N,(CD=min(CN+CND))形成的。
如果梯度表被凍結并且CND的所有值>(所有鄰居N的)CDF,那么從梯度表發送CD的值,否則使用如上所述計算的到目的地的最佳價格,但是僅對CND<CDF的鄰居的子集。
如果梯度表條目沒有被凍結,并且經過鄰居的所有梯度具有超過maxCost的CN+CND,那么該目的站條目不包括在消息中。如果梯度表條目被凍結,那么該目的站條目總是包括在消息中。如果一個給定目的站的梯度表中的條目具有全部源條目跳計數<1,那么該目的站條目不包括在消息中。快探測消息中的源條目對應于梯度表中的。快探測消息以足以到達所有緊靠和孤立鄰居的功率發送。如果所有源站條目具有“否”的保持狀態,那么從梯度列表刪除它們。如果所有源條目被刪除,那么從梯度表中刪除對應的目的地條目。
當接收到一個快探測消息時,使用消息中的發射站ID、固有噪聲電平、和發射功率信息更新發射鄰居站的到鄰居的價格(CN)。如果沒有這樣的鄰居存在,那么用新的CND的值更新鄰居梯度表,而不管它們以前的值。
對于每個快探測梯度條目,如下更新梯度表改變梯度超時以反映當前時間。
將源站條目從探測消息表復制到梯度表中的對應條目。
將跳數減小1。
如果不是已經存在,那么添加新的條目。
更新鄰居梯度條目。
如下更新指定目的站的梯度表條目(假設快探測梯度條目來自具有CND的到目的站的最佳價格的鄰居N)如果梯度表條目沒有被凍結如果CN+CND大于或等于到目的站的當前最佳價格CD并且該價格不通過鄰居N,那么什么事情都不做。
如果CN+CND小于到目的站的當前最佳價格CD并且該價格不通過N,那么將當前最佳價格CD更新到減小的值CN+CND。
如果CN+CND小于到目的站的當前最佳價格CD并且該價格通過N,那么將當前最佳價格CD更新到減小的值CN+CND。
如果CN+CND大于到目的站的當前最佳價格CD并且該價格通過N,那么凍結梯度表條目將凍結的狀態設置到“on”并把凍結的超時設置到Ftime,和把CDF設置到CD的當前值。將CD設置到新的較高的值CN+CND,和保留經過其獲得凍結的價格CDF的鄰居站ID(NF)。
如果梯度表條目被凍結A.如果N=NF或B.如果N<>NF和如果CND小于凍結的價格CDF那么如果CN+CND大于或等于到目的站的當前最佳價格CD并且該價格不通過鄰居N,那么什么事情都不做。
如果CN+CND小于到目的站的當前最佳價格CD并且該價格不通過鄰居N,那么將當前最佳價格CD更新到減小的值CN+CND。
如果CN+CND小于到目的站的當前最佳價格CD并且該價格通過N,那么將當前最佳價格CD更新到減小的值CN+CND。
如果CN+CND大于到目的站的當前最佳價格CD并且該價格通過N,那么凍結梯度表條目將凍結狀態保留在“on”并將凍結超時重置到Ftime和把CD設置到新的更高值CN+CND。注意CDF或經過其獲得凍結價格CDF的站ID(NF)不應當改變。
如果凍結超時期滿,那么將凍結狀態設置到“off”。
現在參考圖8,進一步討論利用向量路由在本發明中使用的網絡中形成回路的問題。圖8示出了多個網絡站A至I。在保持著到一個目的站的路線的同時,每個站在以規律的間隔向它的鄰居發送探測信號,探測信號包含有關經過指出的站到目的站的價格的數據。假設所有其它站正在產生到目的站A的梯度,在每種情況下到鄰居的價格(CN)是1,和從站F至I直接到站C的價格是10。在一定時間之后,站I知道經過站H至B到站A的總價格是8。如果任何站之間的價格,例如,B與C之間的價格,增加,那么這將影響整個鏈路價格升高,并且每個站應當提高它到A的價格,因為到A的所有路線都要經過B與C之間的鏈路。
如果從B到C的價格突然升高到一個高數值(例如,由于B與C失去了相互之間的連接,而升高到無窮大),并且C聽不到來自B的任何探測或發送,那么C將它經過B到A的價格改變到無窮大。站C繼續收聽其它站的探測信號,并且收聽到,例如,來自站I的,指示到A的價格是8的探測信號。由于從C直接到I的價格是10,所以這導致C認為它能夠以10加8或18的總價格經過I到A,這比無窮大要好。但是,這當然是不真實的,仿佛傳輸路由經過站I,它返回終止在站C,并且形成了一個環路,從而消息永遠不會到達站A。
為了解決這種情況,需要有一種在實際上選定的中間站不能到達目的站時,防止一個站將另一個站識別為將消息傳輸到目的站的中間站的方法。這是通過建立中間站不能被具有高于“凍結”測試值的到達目的值的價格的站替換的預定時間周期的需要完成的。這需要保持一個足以允許線路上所有站都能用新的價格數據更新的周期。
在上述例子中,從C到A的價格的凍結測試值是2。除非站C在凍結周期中收聽到來自具有小于2的到達目的站的價格的另一個站的探測,它不用另一個站替換站B。在凍結時間中,上行線路中從站D到I的所有站把它們的價格更新到無窮大,而在這個過渡期中每個站具有其自己的凍結測試值。例如,站B具有3的到A的價格,并且如果它沒有收聽到具有小于3的到A的價格的站,它不進行更新。
重要的是凍結周期應當足夠長,以允許站C能夠直接看到的(以任何價格)上行鏈路中任何站能夠被更新。在本例中,站C能夠以10的高價格直接看到站F,G,H和I。因此,在允許C選擇它們中間的一個作為到達站A的線路中的中間站之前,凍結周期必須允許有足夠的時間使得探測過程能夠更新站F至I。
在本例中,例如,如果將凍結周期設置到10個探測間隔,那么在7個探測間隔之后,站I被更新并且顯示出無窮大的到站A的價格。如果在這點站C未凍結它的測試值2,那么它將僅接收到來自指示無窮大的到站A的價格的其它站的探測信號,并且不選擇它們中的任何一個,因為這指示這些其它站也沒有到達站A的線路。這防止了形成環路。
在下面的三個例子中更詳細地說明了凍結過程。
這一節要說明凍結和再凍結過程的兩個例子。首先說明一個最佳下一個鄰居保持不變的簡單情況。其次說明最佳下一個鄰居在其凍結時改變的情況。
例1本例基于圖9中的站(M)。它示出了每個凍結操作的超時操作。
建立從S到D的梯度。站M的梯度表(GT.)如下
假設CND從6改變到7
Ftime是表明凍結狀態將在100ms后清除的超時計數。如果在第一凍結條目超時之前CND再次改變,也就是說從7改變到9,那么這叫作再凍結。站M的GT如下。在這個時候,我們要使用保持對CDF,NF和Ftime的跟蹤的再凍結表。
第二條目的定時器(100ms)將在其建立時開始。
當第一條目超時時,我們將使用第二再凍結條目中的CDF和NF值。在我們的執行中,我們將向前復制這些條目。
再凍結可能發生數次。
例2本例基于圖10中的站(M)。
建立從S到D的梯度。在穩定之后,M的GT如下
方案1假設(3)的CND從3改變到5。從(3)接收到一個快探測。(M)中的GT更新如下
此時,由于CN+CND=8大于CD=7,所以來自(2)的快探測不會影響(M)的GT。
由于CN+CND=6小于CD=7,所以來自(1)的快探測更新(M)的GT。在更新之后,(M)的GT如下。現在假設Ftime是40ms。
方案2假設(1)的CN從2改變到3。這將造成GT條目被再凍結
當第一條目超時時,GT如下
當第二條目超時時,GT如下
例3本例說明了當凍結發生時幾個站的總操作。在圖11中,(1)和(4)之間的價格是10,從而到(D)的通信將通過(3),(2)和(1)。
假設(D)與(1)之間的價格增長,即,從1增長到20。這將造成被凍結。
下面的表示出了所有梯度表(到目的地(D))。假設快探測每10ms發生。下表示出了以ms為單位的絕對時間。
算法例子。
*1.站(1)接收來自(4)的FP。執行凍結站的算法。FP(4)中的CD是4,大于我的凍結價格CDF=1,從而不改變站1的GT。
權利要求
1.一種操作包括多個站的通信網絡的方法,每個站能夠發送和接收數據,從而使得該網絡能夠經過至少一個抓時機選定的中間站從始發站向目的站發送數據,所述方法包括a)定義與至少一個數據信道不同的至少一個探測信道;b)在每個站并且根據第一預定標準,選擇用于向其它站發送探測信號的探測信道;c)在選擇的探測信道上從每個站發送第一探測信號,接收到來自探測站的第一探測信號的其它站直接或間接地回答,由此向探測站指出它們能夠用作目的或中間站;d)在每個站,保持包括通過步驟(c)識別的其它可用站的詳細信息的鄰居表;e)從需要向不是鄰居站的目的站發送數據的站,向鄰居表中的站,發送第二探測信號,和接收來自鄰居表中的站的第二探測信號;和f)在需要時,在每個站保持一個包括有關與每個不是鄰居站的目的站通信的價格的數據的梯度表,從而使得每個站能夠選擇預定數量的,用于以最低價格從始發站向目的站前向發送數據的中間站。
2.根據權利要求1所述的方法,其中通過步驟(c)識別的其它可用站的詳細信息包括到達其它可用站所需的路徑損耗和功率。
3.根據權利要求1或2所述的方法,其中僅在所述站的鄰居表包含條目時,才從每個站發送第二探測信號。
4.根據權利要求1至3中的任何一項所述的方法,其中所述方法進一步包括計算鄰居表中每個站的用作從始發站經過鄰居表中每個這種站向目的站發送消息的價格的到目的值的價格。
5.根據權利要求1至4中的任何一項所述的方法,其中每個站也保持其本身到目的值的價格的臨時記錄。
6.根據權利要求4或5所述的方法,其中到目的值的價格是經過鄰居表中每個這種站和任何中間站,從始發站向目的站發送消息的累加價格。
7.根據權利要求4至6中的任何一項所述的方法,其中所述方法包括將每個站的計算的到目的值的價格保持恒定達一個周期,使得在所述周期期間,其它站能夠更新其本身的到目的值的價格,以防止各個站在它們本身的計算中使用其它站的到目的值的廢棄價格的步驟。
8.一種包括多個客戶站的通信網絡,每個客戶站能夠發送和接收數據,使得網絡可以經過至少一個抓時機選擇的中間客戶站從始發客戶站向目的客戶站發送包括多個數據分組的消息,并且其中所述網絡進一步包括多個網關,用作客戶站對網絡的接入點;多個客戶站能夠與之通信的種子站,每個種子站與至少一個網關通信,多個種子站擴展了客戶站的有效連接范圍;和至少一個用戶網絡管理器,用于監視客戶站;其中每個客戶站適合于a)定義與至少一個數據信息不同的至少一個探測信道;b)在每個客戶站并且根據第一預定標準,選擇用于向其它客戶站發送探測信號的探測信道;c)在選擇的探測信道上從每個客戶站發送第一探測信號,接收到來自探測客戶站的第一探測信號的其它客戶站直接或間接地回答,由此向探測客戶站指出它們可以用作目的或中間客戶站;d)在每個客戶站,保持包括通過步驟(c)識別的其它可用客戶站的詳細信息的鄰居表;e)從需要向不是鄰居客戶站的目的客戶站發送數據的客戶站,向鄰居表中的客戶站,發送第二探測信號,和接收來自鄰居表中的客戶站的第二探測信號;和f)在每個客戶站保持包括有關與每個鄰居客戶站通信的價格的數據的梯度表,從而使得每個客戶站能夠選擇預定數量的,用于以最低價格從始發客戶站向目的客戶站前向發送數據的中間客戶站。
9.根據權利要求8所述的通信網絡,其中每個客戶站進一步適合于在通過步驟(c)識別的其它可用站的詳細信息中包括到達其它可用站所需的路徑損耗和功率信息。
10.根據權利要求8或9所述的通信網絡,其中每個客戶站進一步包括僅在所述站的鄰居表包含條目時才從每個站發送第二探測信號的發射機。
11.根據權利要求8至10中的任何一項所述的通信網絡,其中每個客戶站包括為鄰居表中每個站計算用作經過鄰居表中每個這種站從始發站向目的站發送消息的價格的到目的值的價格的控制器。
12.根據權利要求8至11中的任何一項所述的通信網絡,其中每個站包括用于保持其本身到目的值的價格的臨時記錄的存儲器。
13.根據權利要求11或12所述的通信網絡,適合于將每個站的到目的值的計算的價格保持恒定達一個周期,使得在所述周期期間其它站能夠更新其本身的到目的值的價格,以防止各個站在它們本身的計算中使用其它站的到目的值的廢棄價格。
全文摘要
本發明涉及一種操作通信網絡的方法,該網絡包括多個能夠相互發送數據和接收數據的站。所述方法包括定義一個用于向其它站發送探測信號的第一探測信道。接收到來自一個探測站的第一探測信號的其它站向探測站指示它們可以用作目的或中間站。在每個站保持包括這些其它可用站的詳細信息的鄰居表。此外,從鄰居表中的站發送和接收第二探測信號,并且在每個站包括一個包括有關與每個鄰居站通信的價格的數據的梯度表,從而使得每個站能夠選擇用于以最低價格從始發站向目的站前向發送數據的預定數量的中間站。
文檔編號H04L12/28GK1938998SQ200480041945
公開日2007年3月28日 申請日期2004年12月14日 優先權日2003年12月19日
發明者詹姆斯·戴維·拉爾森, 保羅·喬納森·羅德曼 申請人:Iwics公司