專利名稱:響應(yīng)路由選擇控制的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通過網(wǎng)絡(luò)傳送通信數(shù)據(jù),具體涉及根據(jù)網(wǎng)絡(luò)鏈路故障或其它的異常來調(diào)節(jié)路由選擇。
在具有經(jīng)過鏈路互相通信的多個路由接點的通信系統(tǒng)中,預(yù)定從信源終端傳送到目的地終端的數(shù)據(jù)所用系統(tǒng)使用存儲在每個節(jié)點的路由表來定路由。有時,節(jié)點使用的通信鏈路變得不能保持通信消息。這樣的鏈路稱為“故障的鏈路”,而支持故障鏈路的節(jié)點稱為“故障鏈路節(jié)點”。雖然故障鏈路是因某個不可預(yù)見的事件而造成的,但是為了說明的目的有計劃的鏈路中斷也可構(gòu)成故障鏈路。
故障鏈路對于由通信系統(tǒng)提供的服務(wù)質(zhì)量有相當(dāng)大的影響。如果該故障鏈路節(jié)點好象通過該鏈路沒有故障那樣繼續(xù)發(fā)送(即,該故障鏈路節(jié)點試圖跨過該故障鏈路發(fā)送消息),則會漏失(dropped)數(shù)據(jù)分組而且最后將導(dǎo)致漏失呼叫。
在避免漏失分組的方法中,故障鏈路節(jié)點修改它自己的路由表以超越當(dāng)前的路由方案。該故障的鏈路節(jié)點把分組重新分配到可工作的鏈路(即迂回路由)。該故障鏈路節(jié)點例如可以把該數(shù)據(jù)分組送回給原先發(fā)送該數(shù)據(jù)分組的節(jié)點(在這里稱為“發(fā)送節(jié)點”)在這個路由方案下,可產(chǎn)生稱為“連續(xù)再循環(huán)”的條件。在收到該數(shù)據(jù)分組之后,發(fā)送節(jié)點可再次嘗試通過該故障鏈路節(jié)點發(fā)送該數(shù)據(jù)分組。該故障鏈路節(jié)點發(fā)送該數(shù)據(jù)分組回到發(fā)送節(jié)點,而且可以繼續(xù)數(shù)據(jù)分組的再循環(huán)直到該分組漏失為止。該故障鏈路節(jié)點在與其相鄰節(jié)點隔離的情況下不能解決漏失分組的狀態(tài)。
現(xiàn)在需要一種以快速的方式響應(yīng)故障鏈路、可使漏失的分組數(shù)量最少化的方法和設(shè)備。還需要一種在出現(xiàn)鏈路故障時防止在該系統(tǒng)內(nèi)連續(xù)再循環(huán)以保持連接的方法和設(shè)備。
圖1示出根據(jù)本發(fā)明的優(yōu)選實施例的多節(jié)點通信系統(tǒng);圖2示出根據(jù)本發(fā)明的優(yōu)選實施例在節(jié)點之間的多個節(jié)點和通信鏈路;圖3示出根據(jù)本發(fā)明的優(yōu)選實施例的通信節(jié)點;圖4示出根據(jù)本發(fā)明的優(yōu)選實施例的路由表配置;圖5示出根據(jù)本發(fā)明的優(yōu)選實施例在正常工作期間用于通信節(jié)點更新節(jié)點路由表的方法;圖6示出根據(jù)本發(fā)明的優(yōu)選實施例的示例節(jié)點路由表;圖7舉例示出根據(jù)本發(fā)明的優(yōu)選實施例在修改后避免潛在的U形轉(zhuǎn)彎條件固定端口路由表;圖8示出根據(jù)本發(fā)明的優(yōu)選實施例在故障鏈路的條件下用于通信節(jié)點更新表的方法;圖9舉例示出根據(jù)本發(fā)明的優(yōu)選實施例在響應(yīng)故障鏈路修改之后的固定端口路由表;和圖10示出根據(jù)本發(fā)明的優(yōu)選實施例在鏈路故障出現(xiàn)之后用于控制設(shè)施更新系統(tǒng)操作的方法。
本發(fā)明提供一種以快速的方式響應(yīng)故障鏈路使漏失的分組數(shù)據(jù)數(shù)量最小化的方法和設(shè)備,還提供一種防止數(shù)據(jù)分組連續(xù)再循環(huán)的方法和設(shè)備。
圖1示出根據(jù)本發(fā)明的優(yōu)選實施例的多節(jié)點通信系統(tǒng)。通信系統(tǒng)10通過使用軌道衛(wèi)星12在地球上和圍繞地球分布。衛(wèi)星12占用軌道14,軌道可以是低地球軌道、中地球軌道和地球同步軌道,或者其組合。低地球軌道一般在約600km至2000km高度,中地球軌道在約2000km至20000km,而地球同步軌道在約42165km,但是其它的高度也可使用。在所示的例子中,通信系統(tǒng)10使用六個極點軌道平面,每個軌道平面保持總共六十六個衛(wèi)星12的十一個衛(wèi)星。但是,六十六個衛(wèi)星不是必須的,可使用多些或少些衛(wèi)星12,或者多些或少些軌道平面,或者軌道的組合,和地球同步衛(wèi)星。為了清楚起見,圖1只示出幾個衛(wèi)星。
衛(wèi)星12作為通信系統(tǒng)10的路由節(jié)點工作,并與地面設(shè)備相通信,地面設(shè)備可以是任何數(shù)量的無線通信用戶單元26、一個系統(tǒng)控制站或其它的通信設(shè)備。衛(wèi)星12也通過“交叉鏈路”與其它的衛(wèi)星12通信。
每個衛(wèi)星12希望具有至少一個駐留路由表使用更新命令可以更新該表,或者從系統(tǒng)控制站(SCS)28接收的新路由表。在優(yōu)選實施例中,衛(wèi)星12修改其路由表,以防止U字形轉(zhuǎn)彎條件(下面說明)和在故障鏈路檢測時。在另一個實施例中,這些功能的一些或全部可由系統(tǒng)控制站28執(zhí)行。在檢測到故障鏈路之后,衛(wèi)星12最好向SCS28發(fā)送一個故障鏈路消息。衛(wèi)星12的功能結(jié)合圖2-10詳細(xì)說明。
圖1所示的用戶單元26(SU)是一個通信終端。SU26例如可以是手持的、便攜的蜂窩電話機(jī),適合于往和從衛(wèi)星12發(fā)送數(shù)據(jù)和接收數(shù)據(jù)。SU26也可以是傳真設(shè)備、尋呼機(jī)、數(shù)據(jù)終端或任何其他類型的通信設(shè)備。硬接線的(hard-wired)電話單元(未示出)也可用作通信系統(tǒng)10中的通信終端。這些單元可以使用中間“網(wǎng)關(guān)”(gateway)(未示出)與衛(wèi)星網(wǎng)相通信。網(wǎng)關(guān)是設(shè)備設(shè)施,典型地是地面的,能使衛(wèi)星12與地面的設(shè)備,例如公共交換電話網(wǎng)(PSTN)(未示出)相接口。
“系統(tǒng)控制站”(SCS)28是一個控制設(shè)施,典型地是地面的,它控制通信系統(tǒng)10的一些操作。SCS28可直接與衛(wèi)星12通信,或者可經(jīng)過遠(yuǎn)端或共同設(shè)置的地面基站(未示出)通信。
在優(yōu)選實施例中,SCS28產(chǎn)生路由更新命令并把它們發(fā)送到衛(wèi)星12。衛(wèi)星12使用這些更新命令修改它們的駐留路由表。SCS28也接收故障鏈路的通知,產(chǎn)生和發(fā)送新的更新命令,補(bǔ)償該故障鏈路。在另一個實施例中,SCS28執(zhí)行附加的功能,諸如修改更新命令,防止U字形轉(zhuǎn)彎條件。在優(yōu)選的實施例中SCS28的功能結(jié)合圖10詳細(xì)說明。
為清楚和便于理解起見,圖1中只示出一個SCS28和一個SU26。根據(jù)該敘述本領(lǐng)域的技術(shù)人員懂得,根據(jù)通信系統(tǒng)的要求,可要求附加系統(tǒng)設(shè)施。
圖2示出根據(jù)本發(fā)明的優(yōu)選實施例在節(jié)點之間的多個路由節(jié)點和通信鏈路。如在這里所用的,“交叉鏈路”是兩個節(jié)點之間的通信鏈路。衛(wèi)星90、94、96、98、102是路由節(jié)點,它們在軌道路徑104、106、108中運行并且經(jīng)過交叉鏈路112、114、116、120互相發(fā)送數(shù)據(jù)分組。在不同軌道路徑104、106、108中的衛(wèi)星90、94、96、98、102可在相同的或不同的軌道方向中運行。在優(yōu)選的實施例中,鏈路112、114、116、120是雙向射頻(RF)鏈路。但是,對于本領(lǐng)域的技術(shù)人員顯而易見的是,也可使用其它類型的傳輸鏈路。衛(wèi)星90、96、98在相同的軌道路徑106中運行。在軌道路徑106中衛(wèi)星90跟著衛(wèi)星96。因此,對于衛(wèi)星90,衛(wèi)星96是在“前面方向”,衛(wèi)星98是在“后面”,衛(wèi)星94是“左”而衛(wèi)星102是“右”(在這里分別縮寫為“F”、“A”、“L”和“R”)。一個節(jié)點諸如衛(wèi)星90可在左112、右120、前114或后116通信鏈路上發(fā)送和接收數(shù)據(jù)。如在這里所用的,“交叉鏈路端口”或“端口”指定是那些與交叉鏈路方向(前、左、后或右)有關(guān)的通信設(shè)備。因此,衛(wèi)星96的后端口與衛(wèi)星90的前端口在鏈路114上通信。雖然本實施例表示衛(wèi)星90與四個相鄰的衛(wèi)星94、96、98、102通信,本領(lǐng)域的技術(shù)人員根據(jù)情況顯然可以使用多些或少些的相鄰衛(wèi)星。
駐留在每個衛(wèi)星(或“節(jié)點”)內(nèi)的是至少一個路由表,它命令該節(jié)點發(fā)送數(shù)據(jù)分組到哪個通信鏈路。通過使包含在數(shù)據(jù)分組中的消息與該路由表相關(guān),該節(jié)點可確定在哪條鏈路上發(fā)送該數(shù)據(jù)分組,如在這里所用的,目的地節(jié)點識別碼(DN-ID)最好與數(shù)據(jù)分組的每個目的地設(shè)備相關(guān)聯(lián)。例如,圖1的系統(tǒng)的每個衛(wèi)星和地面站可具有一個獨特DN-ID的。根據(jù)一個特定系統(tǒng)考慮的目的地的設(shè)備的數(shù)量和型號,可使用任何數(shù)量DN-ID的。每個數(shù)據(jù)分組包含一個DN-ID,路由節(jié)點利用它來確定把該數(shù)據(jù)分組傳送到哪里。當(dāng)該節(jié)點使該DN-ID與該節(jié)點的路由表相關(guān)時,這些路由表指示該節(jié)點在哪條鏈路上發(fā)送該數(shù)據(jù)分組。
圖3示出根據(jù)本發(fā)明的優(yōu)選實施例的通信節(jié)點150。通信節(jié)點150例如可以是一個衛(wèi)星,諸如結(jié)合圖1所敘述的那些衛(wèi)星。但也可采用其它的通信設(shè)備作為通信節(jié)點(例如,地面的路由選擇設(shè)備),這對于所描述的本領(lǐng)域的技術(shù)人員是顯而易見的。
在優(yōu)選的實施例中,通信節(jié)點150具有與每個交叉鏈路端口有關(guān)的一個“端口計算機(jī)”前計算機(jī)160、左計算機(jī)162、后計算機(jī)164和右計算機(jī)166。在一個星載通信節(jié)點上可存在更多或更少的計算機(jī),這對于所描述的本領(lǐng)域的技術(shù)人員也是顯而易見的。在優(yōu)選的實施例中,計算機(jī)的數(shù)量至少是由該節(jié)點支持的交叉鏈路的數(shù)量。圖3示出通信節(jié)點的簡化表示,只示出用于交叉鏈路的計算機(jī)。在優(yōu)選的實施例中,可使用單個計算機(jī)執(zhí)行所有的路由功能,而且每個節(jié)點計算機(jī)可只包含一個發(fā)送設(shè)備170、172、174、176和一個接收設(shè)備180、182、184、186。
在優(yōu)選的實施例中,每個端口計算機(jī)160、162、164、166具有一個發(fā)送設(shè)備170、172、174、176;一個接收設(shè)備180、182、184、186;以及一個處理器190、192、194、196,該處理器連接該發(fā)送設(shè)備170、172、174、176和該接收設(shè)備180、182、184、186。發(fā)送設(shè)備170、172、174、176和接收設(shè)備180、182、184、186可支持RF、光的或電的通信,這對于所描述的本領(lǐng)域的技術(shù)人員是顯而易見的。如在這里所用的一些詞,例如每個發(fā)送設(shè)備、接收設(shè)備和處理器使用與該設(shè)備有關(guān)的術(shù)語“前”、“左”、“后”、和“右”與其響應(yīng)的端口有關(guān)。
每個處理器190、192、194、196連接到其有關(guān)的接收設(shè)備180、182、184、186。在優(yōu)選的實施例中,每個接收設(shè)備主要專用于從交叉鏈路接收數(shù)據(jù)分組(輸入數(shù)據(jù)分組)。在替代的實施例中,每個接收設(shè)備180、182、184、186也可以從其它的信源(例如一個中央處理器(未示出,SU26(圖1),SCS28(圖1)等)也接收分組數(shù)據(jù)。
每個發(fā)送設(shè)備主要專用于在交叉鏈路上發(fā)送數(shù)據(jù)分組(輸出數(shù)據(jù)分組)。每個處理器190。192、194、196連接到每個發(fā)送設(shè)備170、172、174、176,如圖3所示的。例如前處理器190連接到發(fā)送設(shè)備170、172、174、176。這個連接使端口計算機(jī)160、162、164、166能夠發(fā)送由特定接收設(shè)備180、182、184、186接收的數(shù)據(jù)分組到一個適當(dāng)?shù)陌l(fā)送設(shè)備170、172、174、176,以便進(jìn)一步發(fā)送到另一個通信節(jié)點。
在優(yōu)選的實施例中,每個處理器190、192、194、196能夠確定它支持的通信鏈路是否已發(fā)生故障。在一個替代的實施例中,每個處理器190、192、194、196連接到一個故障鏈路檢測設(shè)備(未示出),該故障鏈路檢測設(shè)備確定鏈路已故障并報告該鏈路故障給處理器190、192、194、196。
每個處理器190、192、194、196最好還連接到一個中央處理器(未示出)或一個中央交換機(jī),從源信號而不是交叉鏈路把分組數(shù)據(jù)發(fā)送到該處理器190、192、194、196。例如,分組數(shù)據(jù)可在內(nèi)部產(chǎn)生(例如,由中央處理器),它包括遙測信息。另外,數(shù)據(jù)分組從SU26(圖1)和從其它的地面設(shè)備諸如SCS28(圖1)接收。在一個替代的實施例中,從其它信息源來的這些數(shù)據(jù)分組由一個或多個端口計算機(jī)接收并且根據(jù)其相關(guān)的端口路由表發(fā)送。輸入200-211代表來自信號源而不是接收設(shè)備180、182、184、186來的輸入。按照特定系統(tǒng)配置的要求可使用任何數(shù)量的輸入200-211。
在優(yōu)選的實施例中,每個端口包含一個“端口路由表”或“端口表”,它由每個處理器190、192、194、196用于確定一個特定的數(shù)據(jù)分組應(yīng)發(fā)送到哪個發(fā)送設(shè)備170、172、174、176。在優(yōu)選的實施例中,端口路由表存儲在連接到該處理器190、192、194、196的存儲設(shè)備中。在一個替代的實施例中,端口路由表可存儲在該處理器內(nèi)部的存儲設(shè)備中。圖4表示根據(jù)本發(fā)明的優(yōu)選實施例的路由表配置?!肮?jié)點路由表”220用于更新端口路由表230、232、234、236和控制從信號源而不是從交叉鏈路發(fā)送分組數(shù)據(jù)。
在優(yōu)選的實施例中,存在四個端口路由表前路由表230、左路由表232、后路由表234和右路由表236??纱嬖诟嗷蚋俣丝诼酚杀?。這是所述的本領(lǐng)域的技術(shù)人員顯而易見的。最好每個端口存在一個路由表。但是,這不是必要的限制。例如,在一個替代的實施例中,單個路由表可由所有的端口訪問。
在優(yōu)選的實施例中,在周其性的或非周期性的基礎(chǔ)上從SCS28(圖1)接收路由表更新命令。該更新命令包含更新或代替節(jié)點路由表220和/或端口路由表230、232、234、236的一個或多個入口。一個更新命令可代替一個或多個入口直到整個路由表。使用只代替一個或幾個入口的更新命令希望使帶寬、存儲器和/或更新時間最小化,因為一般地不是路由表中的每個入口將從一個更新為下一個。在優(yōu)選的實施例中,每個更新命令具有與其相關(guān)的“更新時間”。該更新時間指示與剛更新命令有關(guān)的一個新路由表入口(或者多個入口)應(yīng)該代替該節(jié)點路由表到220和/或端口路由表230、232、234、236中的舊路由表入口時的時間。在替代的實施例中,在由該節(jié)點收到時每個更新命令可用于更改路由表。在本說明書中使用的術(shù)語敘述新的更新命令為“收到”意味著該命令實際上由該通信節(jié)點收到,或者意味著該命令的更新時間已到和正是更新該表的入口或該更新命令相關(guān)的入口的時間。
在優(yōu)選的實施例中,在收到更新命令之后,一個中央處理器(未示出)更新該節(jié)點路由表并且分配已改變的路由入口給它們相應(yīng)的端口。在一個替代的實施例中,每個節(jié)點接收更新命令并直接地更新它們節(jié)點路由表。
圖5示出根據(jù)本發(fā)明的優(yōu)選實施例在正常工作期間用于通信節(jié)點更新節(jié)點路由表的方法。在步驟250,該方法開始,在步驟252,由一個通信節(jié)點收到一個或多個更新命令。在步驟254,該更新表命令被用于更新該節(jié)點路由表。在步驟256,新的路由表入口被分配給適當(dāng)?shù)亩丝谟嬎銠C(jī)。在一個替代的實施例中,該更新命令直接地發(fā)送到相關(guān)的端口,該端口直接地更新其端口路由表。在步驟258,每個端口使用“迂回表”(例如,ALT-292和ALT-294,見圖6)更改新的端口表入口以避免潛在的U形轉(zhuǎn)彎條件(或“返回條件”)。在通過經(jīng)它接收的相同端口,一個端口發(fā)送出數(shù)據(jù)分組時出現(xiàn)U字形轉(zhuǎn)彎條件。如前所述,U字形轉(zhuǎn)彎條件可導(dǎo)致連續(xù)再循環(huán)。結(jié)合圖6-7更詳細(xì)地敘述修改該表的入口以避免潛在的U字形轉(zhuǎn)彎條件。在一個替代的實施例中,在發(fā)送該更新命令到該端口之前,中央處理器(未示出)或SCS28(圖1)可修改個更新命令以避免U字形轉(zhuǎn)彎條件。然后在步驟260該通信節(jié)點根據(jù)該修改的路由表發(fā)送數(shù)據(jù)分組。數(shù)據(jù)分組的發(fā)送可與該方法的其它步驟同時發(fā)生。然后該方法在步驟270結(jié)束。
圖6示出根據(jù)本發(fā)明的優(yōu)選實施例的示例節(jié)點路由表。節(jié)點路由表具有列DN-ID282,F(xiàn)ORE(前)284,AFT(后)286,LEFT(左)288,RIGHT(右)290,ALT-1 292和ALT-2 294。在優(yōu)選的實施例中,端口路由表類似于節(jié)點路由表280,除了每個端口路由表只有一個FORE 284、AFT 286、LEFT 288或RIGHT 290。每個端口表最好具有ALT-1和ALT-2兩列。圖6示出單頁的路由表,代表一個路由迂回方案。根據(jù)該敘述,該節(jié)點路由表和該端口路由表可具有多頁,根據(jù)分組的類型或其它分組獨特標(biāo)準(zhǔn)平衡分組負(fù)荷,這結(jié)于本領(lǐng)域的技術(shù)人員是顯而易見的。
如前所述,DN-ID最好與通信系統(tǒng)中的每個可能的目的地有關(guān)。根據(jù)該敘述,對于一個特定的通信系統(tǒng)可使用任何數(shù)量的DN-ID,這對于本領(lǐng)域的技術(shù)人員是顯而易見的。每個數(shù)據(jù)分組使用一個與路由表相關(guān)的DN-IN表示其預(yù)定的目的地,以確定是否發(fā)送該數(shù)據(jù)分組。
FORE 284、AFT 286、LEFT 288和RIGHT 290各列包含了用于發(fā)送由每個端口接收的數(shù)據(jù)分組。在FORE 284、AFT286、LEFT 288和RIGHT 290各列中的每個入口指示具有特定的DN-ID的數(shù)據(jù)分組應(yīng)該發(fā)送到哪個端口以便進(jìn)一步發(fā)送。在優(yōu)選的實施例中,對于特定的DN-IN(如下所述的進(jìn)行必要的修改),在FORE 284、AFT 286、LEFT 288和RIGHT 290各列中的每個入口在開始是相同的。在優(yōu)選的實施例中,對于不同的列這些入口可變化。因此,如在圖6所示的,由FORE端口接收的并具有DN-ID為1的數(shù)據(jù)分組將送到LEFT(L)端口以便進(jìn)一步發(fā)送。參見圖3,由前接收設(shè)備180接收的具有DN-ID等于1的數(shù)據(jù)分組由前處理器190估計并發(fā)送到發(fā)送設(shè)備172。預(yù)定給接收該數(shù)據(jù)分組的路由節(jié)點的數(shù)據(jù)分組最好發(fā)送到中央處理器。根據(jù)該敘述對于本領(lǐng)域的技術(shù)人員是顯而易見的,圖6的入口只是為了說明的目的。
ALT-292和ALT-294列代表‘迂回表”入口,在原始的入口產(chǎn)生“U字形轉(zhuǎn)彎條件”時或者在檢測到鏈路故障時,該迂回表入口用于代替在FORE 284、AFT 286、LEFT 288和RIGHT 290各列的表入口。對于每個DN-ID,在ALT-1 292和ALT-2 294列中的入口一定彼此不同。可使用更多或更少的迂回表列。例如,在替代的實施例中,每個端口可具有一個或多個迂回表,這些迂回表不同于其它端口的迂回表。但是,這個迂回表不是希望的,因為修改多個,不同的迂回表要求更多的帶寬、費用和/或時間。
圖7舉例說明根據(jù)本發(fā)明的優(yōu)選實施例在修改后避免潛在的U字形轉(zhuǎn)彎條件“固定”端口路由表300。固定端口路由表300包含列DN-ID302,F(xiàn)ORE304、AFT 306、LEFT 308和RIGHT 310,ALT-1312和ALT-2314。雖然每個端口表最好只有FORE304、AFT 306、LEFT 308和RIGHT 310列之一,為了說明起見,所有四列都示出了。在敘述一個表如何修改以避免潛在的U形轉(zhuǎn)彎條件,圖6和圖7用于作為例子。圖6代表在端口路由表中的原始入口,而圖7代表修改的入口。
對于每個特定的端口,對在未修改的表280中(圖6)的表入口進(jìn)行估計,以確定該端口是否接收數(shù)據(jù)分組和從相同的端口發(fā)送出。例如,參見圖6中的原始路由配置,在FORE列284中,具有DN-ID為3的數(shù)據(jù)分組將送到該FORE(“F”)傳輸設(shè)備。這將導(dǎo)致U字形轉(zhuǎn)彎條件,因此,U字形轉(zhuǎn)彎條件導(dǎo)致任何時候該表入口都符合該列標(biāo)題。如圖6中所示,這種潛在的U字形轉(zhuǎn)彎條件提供給表280中的每個端口。
表300(圖7)表示在所有潛在的U字形轉(zhuǎn)彎條件之后的修改路由表已從表280(圖6中)消除了。為了去除潛在U字形轉(zhuǎn)彎條件,該端口處理器(或者中央處理器或SCS 28(圖1))以在ALT-1 292(圖6)中的入口代替每個U字形轉(zhuǎn)彎入口。如果該端口處理器確定ALT-1替代入口也導(dǎo)致U字形轉(zhuǎn)彎條件,使用ALT-2 294列(圖6)中的入口。兩個例子將澄清這個概念。在第一個例子中,在與DN-ID為3相關(guān)的FORE列284(圖6)的表入口原始是“F”。這個入口以在ALT-1列292(圖6)中相應(yīng)入口“L”代替。因為“L”不產(chǎn)生U字形轉(zhuǎn)彎條件,這個入口是可接受的。在第二個例子中,在與DN-ID為1相關(guān)的LEFT列288中的表入口原始是“L”。這個入口首先以在ALT-1列(圖6)中的相應(yīng)入口“L”代替。因為“L”仍然導(dǎo)致U字形轉(zhuǎn)彎條件,該入口以在ALT-2列294(圖6)中的相應(yīng)入口“A”代替。因為“A”不導(dǎo)致U字形轉(zhuǎn)彎條件,這個入口是可接受的。根據(jù)以上敘述,如果確定在ALT-1列292(圖6)中的入口是不可接受的,該入口不必準(zhǔn)確地以ALT-1列292(圖6)中的入口代替,這對本領(lǐng)域的技術(shù)人員是顯而易見的。本領(lǐng)域的技術(shù)人員還顯而易見的是,圖7中的入口只是為了說明的目的。圖7反應(yīng)黑體方框中的所有修改的入口。如在這里所用的,當(dāng)節(jié)點路由表不包含潛在的U字形轉(zhuǎn)彎條件時,U字形轉(zhuǎn)彎條件避免是“有效的”。
圖8表示根據(jù)本發(fā)明的優(yōu)選實施例在故障鏈路條件下通信節(jié)點更新這些表的方法。在步驟350,該方法開始,在步驟352,由一個節(jié)點(故障鏈路節(jié)點)檢測到故障鏈路。例如,在沒有進(jìn)行初始鏈路捕獲時或在捕獲的鏈路失去鎖定時,故障的鏈路可被檢測。例如,在使用RF鏈路的系統(tǒng)中,已捕獲一條RF鏈路的節(jié)點可檢測從另一個節(jié)點來的RF信號已下降到不可接受的電平。當(dāng)檢測到一條故障鏈路時,該故障鏈路被報告給每個端口計算機(jī)(例如,中央處理器指示哪個端口已故障和/或給每個端口計算機(jī)有關(guān)任何處理該故障的指令)。
接著,在步驟354,修改每個有效端口的端口表以避免故障的鏈路。迂回表(例如,圖6的ALT-1 292和ALT-2 294)最好用于修改表的入口。在優(yōu)選的實施例中,修改可使U字形轉(zhuǎn)彎條件無效。連續(xù)再循環(huán)仍然被避免,因為雖然該數(shù)據(jù)分組被發(fā)送回到該發(fā)送節(jié)點(即,該數(shù)據(jù)分組的始點),該發(fā)送節(jié)點仍然應(yīng)使其U字形轉(zhuǎn)彎避免有效。因此,發(fā)送節(jié)點將不返回該數(shù)據(jù)分組給該故障鏈路節(jié)點。避免故障鏈路的修改將結(jié)合圖8詳細(xì)地敘述。
在步驟354之后,在步驟356最好發(fā)送“故障鏈路消息”給SCS 28,以便該系統(tǒng)可以完全地響應(yīng)檢測的故障。在一個替代的實施例中,SCS 28(圖1)可從一個信源而不是故障的節(jié)點接收故障節(jié)點的通知。正如根據(jù)該敘述對本領(lǐng)域的技術(shù)人員是顯而易見的,步驟354和356可以相反的順序執(zhí)行。
接著,在步驟358,由這些節(jié)點接收更新表命令。根據(jù)SCS 28(圖1)是否已有時間來響應(yīng)該故障通知,該新的更新表命令可反應(yīng)或不反應(yīng)系統(tǒng)對該故障鏈路的響應(yīng)。在步驟360,使用更新表命令更新該節(jié)點路由表。步驟362,新的路由表入口分配給適當(dāng)?shù)亩丝凇T谝粋€替代的實施例中,該更新命令直接發(fā)送給有關(guān)的端口,而且該端口直接更新其端口路由表。在步驟364,每個端口使用迂回表(例如,圖5的ALT-1292和ALT-2294)修改新的端口入口以避免潛在的U字形轉(zhuǎn)彎條件。修改該表入口以避免潛在的U字形轉(zhuǎn)彎條件結(jié)合圖5-7更全面的敘述。如果需要,在步驟366再次修改這些表以避免故障鏈路,如結(jié)合圖5-7所敘述。在一個替代的實施例中,中央處理器(未示出)或者SCS 28(圖1)可修改更新命令,在發(fā)送更新命令到這些端口之前避免U字形轉(zhuǎn)彎條件和/或避免故障鏈路。然后,在步驟368,通信節(jié)點根據(jù)修改的路由表發(fā)送數(shù)據(jù)分組。數(shù)據(jù)分組的發(fā)送與該方法的其它步驟同時發(fā)生。
然后該方法重復(fù),如圖8中所示。這個方法最好一直保持有效,直到一個恢復(fù)事件出現(xiàn)該故障鏈路被恢復(fù)或者SCS 28(圖1)命令通信節(jié)點反向正常操作或作出一個使該方法的步驟不需要的響應(yīng)。
圖9舉例說明根據(jù)本發(fā)明的優(yōu)選實施例在端口路由表300(圖7)修改之后的固定端口路由表380對故障鏈路的響應(yīng)。固定端口路由表380包含DN-ID382、FORE384、AFT 386、LEFT 388和RIGHT 390,ALT-1 392和ALT-2 394。在敘述修改一個表以便對故障鏈路響應(yīng)中,圖7和9用于說明的目的。圖7代表在U字形轉(zhuǎn)彎避免有效的端口路由表300(圖7)(稱為“工作表”300)中的入口,而圖9代表被修改以便避免故障鏈路的入口。正如根據(jù)該敘述對本領(lǐng)域的技術(shù)人員是顯而易見的,圖9中的入口是為了說明的目的。
表380(圖9)表示在所有入口已修改以避免故障鏈路之后的修改的路由表。為了消除使用故障鏈路的入口,每個端口估計每個端口表入口,確定該端口是否發(fā)送數(shù)據(jù)到與該故障鏈路相關(guān)的端口。端口處理器(或中央處理器或SCS 28(TU 1))以在ALT-1列312(圖7)中的入口代替在表300(圖7)中的每個故障鏈路入口。如果ALT-1代替入口也使用該故障鏈路,則使用在ALT-2列314(圖7)中的入口一個例子將澄清這個概念。假定該節(jié)點檢測與該前端口相關(guān)的故障鏈路。因此使用ALT-1312(圖7)或ALT-2 314列入口修改該端口路由表。FORE列384以“X”或“不管”入口表示,因為這是故障鏈路。例如,如圖7所示,與DN-ID為8相關(guān)的LEFT 308列的入口是“F”(故障節(jié)點)。這個入口首先使用“F”的相應(yīng)ALT-1312(圖7)入口修改。但是,因為該前端口是故障鏈路,而使用來自ALT-2314(圖7)的入口“R”。對R入口的修改避免發(fā)送數(shù)據(jù)分組到該故障的前端口。因此,該修改是可接受的。根據(jù)該說明對本領(lǐng)域的技術(shù)人員是顯而易見的如果確定在ALT-1列312(圖7)中的入口是不可接受的,該入口實際上不必用ALT-1列312(圖7)中的入口代替。圖9反應(yīng)在黑體方框中的所有修改的入口。
根據(jù)該說明對本領(lǐng)域的技術(shù)人員顯而易見的是在故障鏈路上鏈路故障不可能禁止雙方向的通信。例如,一個端口接收設(shè)備可能變?yōu)椴还ぷ?,但是,其傳輸設(shè)備可能仍然能夠起作用。在這種情況下,不需要修改端口路由表。但是,如果一個端口傳輸設(shè)備變?yōu)椴还ぷ?,則必須修改其它端口的路由表,無效該不工作的端口傳輸設(shè)備,但是具有不工作的傳輸設(shè)備的端口應(yīng)仍然保持其原始的路由表,以便它仍可以發(fā)送它接收的數(shù)據(jù)分組。
圖10表示根據(jù)本發(fā)明的優(yōu)選實施例在鏈路故障出現(xiàn)之后一個控制設(shè)施更新系統(tǒng)操作的方法。在步驟400該方法開始,在步驟402由SCS 28(圖1)接收故障鏈路消息。在優(yōu)選的實施例中,如在圖8中所途述的,在步驟356從故障鏈路節(jié)點始發(fā)該故障鏈路消息。根據(jù)該說明對本領(lǐng)域的技術(shù)人員是顯而易見的故障鏈路的通知可以另外得到。在步驟404,SCS 28(圖1)則產(chǎn)生更新表命令補(bǔ)償該故障鏈路。然后SCS 28(圖1)發(fā)送更新表命令到一些或全部受影響的節(jié)點。然后在步驟410該方法結(jié)束。
在一個替代的實施例中,SCS 28可預(yù)計算和存儲迂回表,在SCS28接收故障鏈路消息時可以快速地發(fā)送到節(jié)點。在這個實施例中,節(jié)點不需要存儲迂回表。迂回表最好計算每個節(jié)點的故障鏈路的每個可能性。
總之,已經(jīng)敘述了用于響應(yīng)故障鏈路調(diào)節(jié)路由選擇的方法和裝置,其中該方法和裝置減少了漏失分組的數(shù)量和減少了經(jīng)受再循環(huán)的分組數(shù)。
前面具體實施例的敘述如此充分地顯示本發(fā)明的一般特性,應(yīng)用目前的知識,在不脫離一般概念情況下其它人可以容易地修改這些具體的實施例或用于各種應(yīng)用,因此,這些適應(yīng)和修改應(yīng)該和預(yù)計包含在所公開實施例的含義和等效的的范圍內(nèi)。特別是,雖然依據(jù)衛(wèi)星通信系統(tǒng)已敘述了優(yōu)選的實施例,本發(fā)明的方法和裝置可用于具有多個節(jié)點在它們之間使用多條通信鏈路的任何類型的通信系統(tǒng)中。
應(yīng)該懂得,這里所用的詞組或術(shù)語是為說明起見而不是限定。因此,本發(fā)明包含所有這些替代、修改、等效和變化,因為它們都落入所附權(quán)利要求書的精神和廣義范圍內(nèi)。
權(quán)利要求
1.一種控制通過通信系統(tǒng)發(fā)送消息的方法,該通信系統(tǒng)具有通過通信鏈路通信的多個節(jié)點,其特征在于,該方法包括以下步驟a)根據(jù)可由一個節(jié)點訪問的至少一個當(dāng)前路由表發(fā)送數(shù)據(jù)分組;b)對該至少一個當(dāng)前路由表的入口進(jìn)行修改,以便該節(jié)點不直接發(fā)送回數(shù)據(jù)分組回到發(fā)送該數(shù)據(jù)分組的發(fā)送節(jié)點,該修改得到至少一個修改的路由表;和c)根據(jù)該至少一個修改的路由表發(fā)送該數(shù)據(jù)分組。
2.一種控制通過通信系統(tǒng)發(fā)送消息的方法,該通信系統(tǒng)具有通過通信鏈路通信的多個節(jié)點,其特征在于,該方法包括以下步驟a)由一個節(jié)點根據(jù)可由一個節(jié)點訪問的至少一個當(dāng)前路由表發(fā)送數(shù)據(jù)分組;b)執(zhí)行至少一個更新命令,該命令具有要求該節(jié)點改變該至少一個當(dāng)前路由表的信息,該信息已產(chǎn)生,以便在該節(jié)點已改變該至少一個當(dāng)前路由表之后,該節(jié)點不發(fā)送數(shù)據(jù)分組回到發(fā)送該數(shù)據(jù)分組的發(fā)送節(jié)點;c)根據(jù)該至少一個更新命令改變該至少一個當(dāng)前路由表,產(chǎn)生至少一個修改的路由表;和d)根據(jù)該至少一個修改的路由表發(fā)送該數(shù)據(jù)分組。
3.一種控制通過通信系統(tǒng)發(fā)送消息的方法,該通信系統(tǒng)具有通過通信鏈路通信的多個節(jié)點,其特征在于,該方法包括以下步驟a)由一個節(jié)點檢測由該節(jié)點支持的故障鏈路;b)對該至少一個當(dāng)前路由表的入口進(jìn)行修改,使得該節(jié)點避免發(fā)送輸入數(shù)據(jù)分組到故障鏈路,該修改產(chǎn)生至少一個修改的路由表;和c)根據(jù)該至少一個修改的路由表發(fā)送該輸入數(shù)據(jù)分組。
4.一種控制通過通信系統(tǒng)發(fā)送消息的方法,該通信系統(tǒng)具有通過通信鏈路通信的多個節(jié)點,其特征在于,該方法包括以下步驟a)由一個控制設(shè)施產(chǎn)生路由更新命令,該命令具有要求一節(jié)點更新該節(jié)點訪問的至少一個當(dāng)前路由表的信息,該節(jié)點根據(jù)該至少一個當(dāng)前路由表確定是否發(fā)送輸入數(shù)據(jù)分組;b)發(fā)送該路由表更新命令到該節(jié)點;c)接收該節(jié)點在支持故障鏈路的指示;d)產(chǎn)生補(bǔ)償該故障鏈路的新的路由更新命令;和e)發(fā)送該新的路由更新命令到支持該故障鏈路的至少一個節(jié)點。
5.根據(jù)權(quán)利要求4的方法,其特征在于,步驟d)包括以下步驟d1)訪問支持該故障鏈路的該節(jié)點的預(yù)計算迂回表,其中該預(yù)計算迂回表包括該節(jié)點的迂回路由指令;和d2)產(chǎn)生具有該預(yù)計算迂回表的新的路由更新命令。
6.一種控制通過通信系統(tǒng)發(fā)送消息的方法,該通信系統(tǒng)具有通過通信鏈路通信的多個節(jié)點,其特征在于,該方法包括以下步驟a)產(chǎn)生由一個節(jié)點使用的至少一個路由表,確定是否發(fā)送由該節(jié)點接收的輸入數(shù)據(jù)分組,該至少一個路由表具有禁止該節(jié)點直接發(fā)送數(shù)據(jù)分組回到原始發(fā)送該數(shù)據(jù)分組到該節(jié)點的發(fā)送節(jié)點的入口;b)發(fā)送該至少一個路由表的至少一部分到該節(jié)點;和c)由該節(jié)點根據(jù)該至少一個路由表發(fā)送該輸入數(shù)據(jù)分組。
7.一種控制通過通信系統(tǒng)發(fā)送消息的方法,該通信系統(tǒng)具有通過通信鏈路通信的多個節(jié)點,其特征在于,該方法包括以下步驟a)由一個節(jié)點檢測由該節(jié)點支持的故障鏈路;b)對至少一個當(dāng)前路由表的第一組入口進(jìn)行修改,使得該節(jié)點避免發(fā)送輸入數(shù)據(jù)分組到故障鏈路,該修改產(chǎn)生至少一個修改的的路由表;和c)根據(jù)該至少一個修改的路由表發(fā)送該個輸入數(shù)據(jù)分組;d)發(fā)送故障鏈路消息到控制設(shè)施;e)從該控制設(shè)施接收路由更新命令,包括該節(jié)點需要更新至少一個修改的路由表以補(bǔ)償該故障鏈路的信息;f)根據(jù)該路由更新命令對該至少一個修改的路由表的第二組入口進(jìn)一步修改,進(jìn)一步的修改產(chǎn)生至少一個進(jìn)一步修改的路由表;和g)根據(jù)該至少一個進(jìn)一步修改的路由表發(fā)送該輸入數(shù)據(jù)分組。
8.一種通過通信系統(tǒng)發(fā)送數(shù)據(jù)分組的發(fā)送裝置,其特征在于,該發(fā)送裝置包括一個中央處理器,用于控制由該發(fā)送裝置接收的輸入數(shù)據(jù)分組和發(fā)送的輸出數(shù)據(jù)分組的發(fā)送,用于修改一個節(jié)點路由表,以避免發(fā)送該輸入數(shù)據(jù)分組直接地回到發(fā)送該輸入數(shù)據(jù)分組的發(fā)送節(jié)點,和用于進(jìn)一步修改該節(jié)點路由表,以避免故障通信鏈路;至少一個端口,連接到該中央處理器,一個支持通信鏈路的端口并包括一個端口處理器,用于控制接收設(shè)備和發(fā)送設(shè)備;連接到該端口處理器的接收設(shè)備,用于從通信鏈路接收輸入的數(shù)據(jù)分組;和連接到該端口處理器的發(fā)送設(shè)備,用于在該通信鏈路上發(fā)送輸出數(shù)據(jù)分組。
9.一種通過通信系統(tǒng)發(fā)送數(shù)據(jù)分組的發(fā)送裝置,其特征在于,該發(fā)送裝置包括至少一個端口,一個支持通信鏈路的端口并具有一個處理器,用于控制由該端口接收的輸入數(shù)據(jù)分組和發(fā)送的輸出數(shù)據(jù)分組的發(fā)送,和用于修改一個端口路由表,以避免發(fā)送該輸入數(shù)據(jù)分組直接地回到發(fā)送該輸入數(shù)據(jù)分組的發(fā)送節(jié)點,一個接收設(shè)備,連接到該處理器,用于從該通信鏈路接收該輸入數(shù)據(jù)分組,和一個發(fā)送設(shè)備,連接到該處理器,用于在該通信鏈路上發(fā)送該輸出數(shù)據(jù)分組。
10.一種通過通信系統(tǒng)發(fā)送數(shù)據(jù)分組的發(fā)送裝置,其特征在于,該發(fā)送裝置包括至少一個端口,一個支持通信鏈路的端口并具有一個處理器,用于控制由該端口接收的輸入數(shù)據(jù)分組和發(fā)送的輸出數(shù)據(jù)分組的發(fā)送,和用于修改一個端口路由表,以避免故障通信鏈路,一個節(jié)點故障檢測設(shè)備,連接到該處理器,用于確定何時該通信鏈路不能傳送該數(shù)據(jù)分組;一個接收設(shè)備,連接到該處理器,用于從該通信鏈路接收該輸入數(shù)據(jù)分組,和一個發(fā)送設(shè)備,連接到處理器,用于在該通信鏈路上發(fā)送該輸出數(shù)據(jù)分組。
全文摘要
通信系統(tǒng)(10)控制路由選擇的方法和裝置修改(258)節(jié)點(150)的路由表,以接收數(shù)據(jù)分組和不直接返回其發(fā)送節(jié)點。響應(yīng)故障鏈的檢測(352),該節(jié)點修改(354)其路由表以避免故障鏈路。在通知(402)故障鏈路后,控制設(shè)施(28)產(chǎn)生(404)補(bǔ)償該故障鏈路的命令響應(yīng)。該控制設(shè)施發(fā)送(404)命令到檢測該故障鏈路的至少一個節(jié)點。如果該控制設(shè)施還未執(zhí)行,則該節(jié)點修改其路由表,以使數(shù)據(jù)分組不回到其發(fā)送節(jié)點以避免該故障鏈路。
文檔編號H04B7/15GK1139865SQ96105078
公開日1997年1月8日 申請日期1996年4月22日 優(yōu)先權(quán)日1995年4月24日
發(fā)明者杜那爾德·約翰·薩博林, 杰弗里·斯杜特·都林, 汗里·喬瑟夫·哈潑三世 申請人:摩托羅拉公司