專利名稱:用于線路卡冗余的分組序列號同步的制作方法
技術(shù)領(lǐng)域:
在此公開的本發(fā)明通常涉及電信網(wǎng)絡(luò)的冗余機(jī)制,更具體地,涉及網(wǎng)絡(luò)節(jié)點中活動卡與非活動卡之間的序列號的同步。
背景技術(shù):
在許多傳統(tǒng)的電信網(wǎng)絡(luò)中,網(wǎng)絡(luò)中兩個節(jié)點之間的傳輸使用時分復(fù)用(TDM)完成。TDM將多個數(shù)據(jù)流結(jié)合成一個信號,從而允許數(shù)據(jù)流共享數(shù)據(jù)路徑中的物理線路,而不相互干擾。更具體地,顧名思義,TDM將信號分成多個段,每一段構(gòu)成固定的時間長度。由于發(fā)送節(jié)點以循環(huán)重復(fù)的順序?qū)?shù)據(jù)分配給段,因此,接收節(jié)點能可靠地在傳輸介質(zhì)的另一端分離數(shù)據(jù)流。然而,隨著現(xiàn)代分組交換網(wǎng)絡(luò)的快速發(fā)展,TDM已逐漸不再成為受歡迎的最佳技術(shù)。例如,由于VoIP的靈活性、易于實現(xiàn)和成本的降低,基于因特網(wǎng)協(xié)議的語音(VoIP)服務(wù)已取代許多基于TDM的服務(wù)。不幸的是,轉(zhuǎn)換到基于IP的服務(wù)要求服務(wù)提供商在擴(kuò)展其基礎(chǔ)設(shè)施和替換用戶駐地設(shè)備方面承擔(dān)大量的費用。由于巨大的初期投資,許多服務(wù)提供商一直不愿從基于TDM的服務(wù)轉(zhuǎn)換到分組交換網(wǎng)絡(luò)中的對應(yīng)服務(wù)。TDM偽線允許服務(wù)提供商逐步轉(zhuǎn)換到分組交換網(wǎng)絡(luò),消除替換基于 TDM的設(shè)備和不支持傳統(tǒng)服務(wù)的需要。特別地,在TDM偽線的入口端上,節(jié)點將TDM信號轉(zhuǎn)換成多個分組,然后通過基于分組的路徑或偽線發(fā)送這些分組。在接收到分組后,出口端上的節(jié)點將分組轉(zhuǎn)換回TDM信號,并將TDM信號向其最終目的地轉(zhuǎn)發(fā)。如同任何連接一樣,特定TDM偽線的可靠性通常非常重要。在這些情形下,負(fù)責(zé)通過TDM偽線發(fā)送分組的源節(jié)點可包括冗余的線路卡,以致非活動卡可在活動卡故障時重新開始分組轉(zhuǎn)發(fā)。然而,現(xiàn)有的實現(xiàn)不能在與在活動卡和非活動卡中生成的分組相關(guān)聯(lián)的TDM 偽線序列號之間維持一致性。因此,當(dāng)非活動卡在活動卡故障時重新開始處理時,這些實現(xiàn)將引入序列號的“跳躍”。該序列號中的不一致性可導(dǎo)致在目的地節(jié)點的嚴(yán)重后果,包括分組的丟失和在某些情況下偽線的重啟。類似的問題在使用多鏈路點對點協(xié)議(MLPPP)時出現(xiàn),MLPPP允許節(jié)點聚合多個鏈路,以致多個鏈路作為單個更高性能的鏈路運行。MLPPP允許節(jié)點將多個連接的資源集合在一起,從而增加可用的帶寬。如同使用TDM偽線一樣,MLPPP連接也需要序列號用于正確的操作。再者,當(dāng)在MLPPP系統(tǒng)中提供冗余時,現(xiàn)有的方案不能在活動卡和非活動卡之間正確地同步序列號。由于前述原因和在閱讀和理解本說明后對本領(lǐng)域的普通技術(shù)人員顯然的其它原因,需要在用于通過TDM偽線或MLPPP捆束(MLPPP bundle)發(fā)送分組的節(jié)點中的活動線路卡和非活動線路卡之間同步分組序列號。
發(fā)明內(nèi)容
根據(jù)當(dāng)前對在TDM偽線或MLPPP節(jié)點中的冗余線路卡之間同步序列號的需要,提出了多個示例性實施例的簡要概括。在下面的概括中,可能進(jìn)行某些簡化和省略,其意在強(qiáng)調(diào)和介紹多個示例性實施例的某些方面,但并不是限定本發(fā)明的范圍。足夠允許本領(lǐng)域的普通技術(shù)人員制造和使用該創(chuàng)新性概念的優(yōu)選示例性實施例的詳細(xì)說明將在后面的部分多種示例性實施例涉及實現(xiàn)冗余卡并被配置為同步序列號的網(wǎng)絡(luò)節(jié)點和相關(guān)的方法。網(wǎng)絡(luò)節(jié)點可包括被配置為向目的地路由分組的結(jié)構(gòu)。另外,網(wǎng)絡(luò)節(jié)點可包括活動卡, 其被配置為建立去往至少一個目的地節(jié)點的至少一個鏈路,對將要發(fā)送的每個分組生成序列號,并通過結(jié)構(gòu)中的數(shù)據(jù)路徑中的通信信道將包括至少一個序列號的消息分組從活動卡發(fā)送到非活動卡。最后,網(wǎng)絡(luò)節(jié)點可包括非活動卡,其被配置為通過通信信道從活動卡接收包括至少一個序列號的消息分組,從消息分組中提取至少一個序列號,并使用至少一個序列號將非活動卡的操作同步于活動卡。因此,多個示例性實施例能夠?qū)崿F(xiàn)網(wǎng)絡(luò)節(jié)點中的非活動卡和活動卡之間的序列號的有效同步。更具體地,多個示例性實施例通過網(wǎng)絡(luò)節(jié)點中的路由或交換結(jié)構(gòu)中的數(shù)據(jù)路徑中的通信信道將包含序列號更新的消息分組從活動卡發(fā)送到非活動卡。使用交換或路由結(jié)構(gòu)而不是控制平面允許非活動卡將分組的生成緊密地同步于在活動卡中使用的序列號, 因為數(shù)據(jù)平面比控制平面快得多?;顒涌ê头腔顒涌ㄖg序列號的緊密同步最小化在發(fā)生活動切換時的延遲和數(shù)據(jù)丟失。
為了更好地理解多個示例性實施例,對附圖進(jìn)行標(biāo)記,其中圖IA是在活動卡和非活動卡之間的活動切換之前的用于模擬分組交換網(wǎng)絡(luò)上的 TDM的示例性系統(tǒng)的示意圖;圖IB是在活動卡和非活動卡之間的活動切換之后的用于模擬分組交換網(wǎng)絡(luò)上的 TDM的示例性系統(tǒng)的示意圖;圖2Α是在活動卡和非活動卡之間的活動切換之前的包括實現(xiàn)多鏈路點對點協(xié)議的節(jié)點的實例性系統(tǒng)的示意圖;圖2Β是在活動卡和非活動卡之間的活動切換之后的包括實現(xiàn)多鏈路點對點協(xié)議的節(jié)點的實例性系統(tǒng)的示意圖;圖3是在圖1Α、1Β、2Α和2Β的節(jié)點中使用的示例性卡的內(nèi)部組件的示意圖;圖4Α是由非活動卡向活動卡發(fā)送以請求與一個或多個所識別的鏈路相關(guān)聯(lián)的序列號的實例性消息的示意圖;圖4Β是用于將與單個鏈路相關(guān)聯(lián)的序列號從活動卡發(fā)送到非活動卡的示例性消息的示意圖;圖4C是用于將與多個鏈路相關(guān)聯(lián)的序列號從活動卡發(fā)送到非活動卡的示例性消息的示意圖;圖4D是用于將與多個連續(xù)的鏈路相關(guān)聯(lián)的序列號從活動線路卡發(fā)送到非活動線路卡的示例性消息的示意圖;圖5是用于在網(wǎng)絡(luò)節(jié)點中的非活動卡和活動卡之間同步序列號的示例性方法的流程圖。
具體實施例方式現(xiàn)在參照附圖,其中相同的數(shù)字表示相同的組件或步驟,公開多個示例性實施例的更多方面。圖1是在活動卡123和非活動卡124的活動切換之前的用于模擬分組交換網(wǎng)絡(luò) 130上的TDM的示例性系統(tǒng)100的示意圖。在多個示例性實施例中,系統(tǒng)100包括TDM發(fā)射機(jī)110以及包括接口 121、活動卡123、非活動卡124、交換或路由結(jié)構(gòu)127和網(wǎng)絡(luò)接口卡 128的網(wǎng)絡(luò)節(jié)點120。系統(tǒng)100還可包括分組交換網(wǎng)絡(luò)130、TDM偽線135、網(wǎng)絡(luò)節(jié)點140和 TDM接收機(jī)150。TDM發(fā)射機(jī)110可以是任何適用于生成并發(fā)送TDM信號的設(shè)備。因此,TDM發(fā)射機(jī) 110例如可以是無線基站,其包括有線線路接口以將TDM數(shù)據(jù)流轉(zhuǎn)發(fā)到節(jié)點120。例如,TDM 發(fā)射機(jī)110可以是3G網(wǎng)絡(luò)中的節(jié)點B或在全球移動通信系統(tǒng)O^SM)網(wǎng)絡(luò)、通用移動電信系統(tǒng)(UMTS)網(wǎng)絡(luò)、長期演進(jìn)(LTE)網(wǎng)絡(luò)或其它無線或非無線網(wǎng)絡(luò)中的另一個基站收發(fā)信機(jī)。 TDM發(fā)射機(jī)110還可以是用于實現(xiàn)準(zhǔn)同步數(shù)字體系(PDH)、同步數(shù)字體系(SDH)、同步光纖網(wǎng) (SONET)、T1/E1有線線路的組件,或?qū)τ诒绢I(lǐng)域的普通技術(shù)人員顯而易見的適當(dāng)替代物。節(jié)點120可以被配置為從TDM發(fā)射機(jī)110接收TDM信號,然后將信號轉(zhuǎn)換成多個分組以用于通過分組交換網(wǎng)絡(luò)130傳輸。因此,節(jié)點120可以是包括能夠通過TDM偽線135 通信的功能的網(wǎng)絡(luò)單元,諸如路由器或交換機(jī)。節(jié)點120可包括接口 121,其從TDM發(fā)射機(jī)110接收數(shù)據(jù)。更具體地,接口 121可將數(shù)據(jù)轉(zhuǎn)發(fā)到活動卡123和非活動卡124,用于處理并轉(zhuǎn)發(fā)到適當(dāng)?shù)哪康牡亍9?jié)點120還可包括活動卡123,其接收傳輸?shù)浇涌?121的數(shù)據(jù)?;顒涌?23可與節(jié)點140建立鏈路,如所示的,該鏈路可以是TDM偽線135。當(dāng)TDM發(fā)射機(jī)110發(fā)送TDM數(shù)據(jù)通過節(jié)點120時,活動卡123通過接口 121接收數(shù)據(jù)流,執(zhí)行處理以將TDM數(shù)據(jù)轉(zhuǎn)換成多個分組125a,然后,將分組12 發(fā)送到結(jié)構(gòu)127,用于路由或交換到目的地節(jié)點,其可以是節(jié)點 140。當(dāng)根據(jù)TDM數(shù)據(jù)流生成分組時,活動卡123可對每個分組12 生成序列號。更具體地,由于節(jié)點140必須對分組12 重新排序以重構(gòu)對應(yīng)的TDM數(shù)據(jù)流,因此,活動卡123 可生成表明它生成分組的順序的值。該值可以是例如表明活動卡123生成分組的順序的整數(shù),以致該整數(shù)在每次活動卡123生成新的分組時增加。每個序列號可包括在通過TDM偽線135傳輸?shù)膶?yīng)的分組中。活動卡123還可被配置為通過結(jié)構(gòu)127中的數(shù)據(jù)路徑中的通信信道向非活動卡 1 發(fā)送一個或多個消息分組126a。更具體地,分組126a可指示由活動卡123生成的一個或多個序列號的值和對應(yīng)的偽線的標(biāo)識符(例如,標(biāo)識TDM偽線135的整數(shù)),以致非活動卡134可以將其操作同步于活動卡123。這些分組126a的發(fā)送可通過初始化非活動卡134、 或在接收到來自非活動卡124的請求后、或以固定的間隔或在活動卡123所確定的某個時間觸發(fā)。非活動卡IM可被配置為與活動卡123類似。更具體地,非活動卡IM可通過接口 121接收由TDM發(fā)射機(jī)110發(fā)送的數(shù)據(jù)。在正常運行中(即,活動卡未出現(xiàn)故障),非活動卡IM生成并發(fā)送分組12 ,但這些分組在離開節(jié)點120之前在某個點終止。因此,這些分組可在結(jié)構(gòu)127處、在網(wǎng)絡(luò)接口卡1 處或在節(jié)點120中的任何其它點處終止。另外,非活動卡IM可以被配置為通過結(jié)構(gòu)127從活動卡123接收消息分組U6a。 如上所述,這些分組可指示由活動卡123生成的最新的序列號和對應(yīng)的鏈路的標(biāo)識符。可選擇地,非活動卡1 可發(fā)送向活動卡123請求更新的分組126b。這些消息的示例性分組格式將在下面參照圖4A-4D進(jìn)行詳細(xì)說明。在從活動卡123接收到消息分組126a后,非活動卡IM可提取包含在分組中的信息,以致非活動卡1 可將其操作同步于活動卡123。具體地,非活動卡IM可識別鏈路和它的對應(yīng)的序列號,然后在生成該鏈路的分組時使用這些序列號。作為例子,非活動卡IM可以接收表明與通過TDM偽線135發(fā)送的分組相關(guān)聯(lián)的序列號的消息。然后,非活動卡IM可根據(jù)該序列號生成分組。例如,非活動卡IM可生成以該序列號開始的分組、在該序列號加1處的分組、在該序列號減1處的分組或在任何其它相對于所接收的序列號的值處的分組。作為另一個例子,根據(jù)有關(guān)分組生成的速率的信息, 非活動卡1 可以使用所接收的序列號估計在活動卡123處序列號的當(dāng)前值,然后在該值處開始生成序列號。該估計將根據(jù)鏈路的類型變化,因此,合適的估計對于本領(lǐng)域的普通技術(shù)人員來說是顯而易見的。作為該同步的結(jié)果,由非活動卡124生成的隨后的分組包含基本等于活動卡IM 所發(fā)送的分組的序列號。因此,在活動卡123故障時,非活動卡124(現(xiàn)在是活動的)可以立即重新啟動活動卡123的操作,而在節(jié)點140或TDM接收機(jī)150處很少甚至沒有數(shù)據(jù)丟失。顯然,由于消息分組U6a、126b通過結(jié)構(gòu)127發(fā)送,而不使用控制平面消息發(fā)送, 因此,非活動卡1 可維持活動卡123所使用的最新序列號的較高準(zhǔn)確指示。更具體地,通過數(shù)據(jù)平面發(fā)送分組U6a、126b極大最小化了與控制平面消息發(fā)送相關(guān)的延遲,以致在非活動卡IM處接收的值緊密地對應(yīng)于活動卡123所使用的當(dāng)前序列號。特別地,由于以相對低的速率生成用于TDM偽線135的分組,因此,通過數(shù)據(jù)平面發(fā)送消息允許非活動卡IM 接收活動卡123所生成的相對新的序列號。如上所述,在分組以較高速率生成的例子中,非活動卡IM可以估計自生成序列號開始由活動卡123生成的序列號的數(shù)量,然后將該數(shù)量加到序列號上以獲得序列號的當(dāng)前估計值。使用這些過程,取決于實現(xiàn),在活動卡123中的當(dāng)前序列號和在非活動卡IM處接收的序列號的最新值之間的差小于或等于2。然而,顯然,取決于實現(xiàn),大于2的值仍可提供所要求的同步。因此,非活動卡1 在重新開始活動卡123的操作后立即開始發(fā)送分組,而在節(jié)點140和TDM接收機(jī)150處很少或沒有分組丟失。另外,顯然,活動卡123和非活動卡IM的上述說明旨在提供系統(tǒng)100中這些組件的功能的概況。示例性卡的內(nèi)部組件在下面參照圖3進(jìn)一步地描述。分組交換網(wǎng)絡(luò)130可以是任何根據(jù)基于分組的協(xié)議運行的網(wǎng)絡(luò)。因此,網(wǎng)絡(luò)130可例如根據(jù)傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)、多協(xié)議標(biāo)簽交換(MPLQ、以太網(wǎng)Ethernet、 運營商骨干網(wǎng)傳輸(PBT)或任何其它對于本領(lǐng)域的普通技術(shù)人員顯而易見的適合的基于分組的協(xié)議運行。系統(tǒng)100還可包括TDM偽線135,用于通過分組交換網(wǎng)絡(luò)130在節(jié)點120和節(jié)點 140之間傳輸數(shù)據(jù)。更具體地,TDM偽線135可包括分組交換網(wǎng)絡(luò)130中的一個鏈路,用于傳輸模擬TDM信號的多個分組。顯然,盡管描述為僅包括一個TDM偽線135,但系統(tǒng)100可包括起始于節(jié)點120并終止于節(jié)點140或某個節(jié)點的多個TDM偽線。節(jié)點140可以可變的速率通過TDM偽線135接收從節(jié)點120發(fā)送的分組。然后, 節(jié)點140可將分組轉(zhuǎn)換回TDM信號,用于將信號傳輸?shù)絋DM接收機(jī)150。系統(tǒng)100還可包括TDM接收機(jī)150,其從節(jié)點140接收所輸出的TDM信號。因此, TDM接收機(jī)150例如可以是用戶駐地設(shè)備、節(jié)點或任何其它被配置為接收和/或處理TDM信號的組件。圖IB是在活動卡123(現(xiàn)在是非活動的)和非活動卡124(現(xiàn)在是活動的)之間的活動切換之后的用于模擬分組交換網(wǎng)絡(luò)130上的TDM的實例性系統(tǒng)100的示意圖。如圖 IB中的偽線135所采用的路徑所指示的,活動切換已經(jīng)在活動卡123和非活動卡IM之間發(fā)生。該活動切換可由多個情形中的任何一個觸發(fā),包括在先活動卡123的故障和維護(hù)。如上面參照圖IA進(jìn)一步詳細(xì)說明的,在活動切換后,非活動卡124(現(xiàn)在是活動的)重新開始通過TDM偽線135的分組轉(zhuǎn)發(fā)操作。更具體地,非活動卡IM開始通過TDM偽線135向目的地節(jié)點140轉(zhuǎn)發(fā)分組12恥。由于非活動卡IM先前接收了由活動卡123 (現(xiàn)在是非活動的)最近生成的序列號的指示,因此,非活動卡1 可生成具有等于或接近本應(yīng)由活動卡123分配的值的序列號的分組12恥。因此,在成為活動的之后,非活動卡IM可在 TDM偽線135上以與如果活動卡123保持活動則本應(yīng)由活動卡123使用的基本相同的序列號重新開始數(shù)據(jù)傳送。這最小化對節(jié)點140的影響,從而減少數(shù)據(jù)丟失并降低偽線135重啟的可能性。相反,已知系統(tǒng)中的卡會使用獨立確定的序列號發(fā)送分組,從而引起在目的地節(jié)點丟失數(shù)據(jù)的可能性并可能使TDM偽線的高成本重啟成為必然。顯然,上述關(guān)于使用TDM偽線的系統(tǒng)100的操作的說明是示例性的。因此,在多個示例性實施例中,系統(tǒng)100可被修改以與任何需要序列號的系統(tǒng)一起運行。例如,如將在下面參照圖2A和2B更詳細(xì)說明的,節(jié)點120可以被修改以根據(jù)多鏈路點對點協(xié)議(MLPPP) 運行。圖2A是在活動卡223和非活動卡2 之間的活動切換之前的包括實現(xiàn)多鏈路點對點協(xié)議的節(jié)點220的示例性系統(tǒng)200的示意圖。在多個示例性實施例中,系統(tǒng)200包括發(fā)射機(jī)210、分組交換網(wǎng)絡(luò)215、接收機(jī)230以及包括接口 221、活動卡223、非活動卡224、交換或路由結(jié)構(gòu)227和網(wǎng)絡(luò)接口卡228的網(wǎng)絡(luò)節(jié)點220。以下系統(tǒng)200的描述旨在提供這種系統(tǒng)200的組件的概況。這些組件與上面參照圖IA和2B更詳細(xì)描述的對應(yīng)組件類似地實現(xiàn)。因此,通過在下面應(yīng)用圖IA和IB的描述的相關(guān)部分,可以獲得對系統(tǒng)200的進(jìn)一步理解。通常,發(fā)射機(jī)220可生成分組以用于通過分組交換網(wǎng)絡(luò)215傳輸?shù)焦?jié)點220分組。 這些分組可以在節(jié)點220處接收,并通過網(wǎng)絡(luò)接口卡2 和結(jié)構(gòu)227傳輸?shù)交顒涌?23和非活動卡224,其中,活動卡223接收分組的副本225c,非活動卡2 接收分組的副本225d。 然后,活動卡223可生成多個分組22 ,以用于在MLPPP捆束2 上通過接口 221發(fā)送到接收機(jī)230。非活動卡2 還可以生成多個分組22 ,但這些分組將在離開節(jié)點220之前的某個點被終止。活動卡223還被配置為利用多鏈路點對點協(xié)議通過多個物理鏈路(稱為捆束) 傳輸分組。因此,節(jié)點220的組件可以遵循由因特網(wǎng)工程任務(wù)組發(fā)布的請求評議1717(RFC1717) "PPP多鏈路協(xié)議”。為了標(biāo)識分組,以致接收機(jī)230可重新組合通過MLPPP捆束2 接收的數(shù)據(jù),活動卡223可對每個分組生成序列號。特別地,活動卡223可生成表明分組在給定捆束中通過多個物理鏈路發(fā)送的順序的序列號?;顒涌?23可生成包括每個MLPPP捆束2 或MLPPP捆束類(bundle class)的當(dāng)前序列號的消息分組226a。如上所述,這可由活動卡223或在從非活動卡2M接收到請求分組226b后觸發(fā)。在通過結(jié)構(gòu)227的數(shù)據(jù)平面接收到消息分組226a后,非活動卡2M 可將序列號的生成同步于活動卡223,如以上更詳細(xì)描述的。特別地,非活動卡2M可生成用于每個MLPPP捆束2 或MLPPP捆束類的分組,其以使用從活動卡223接收的序列號確定的起始序列號開始。圖2B是在活動卡223(現(xiàn)在是非活動的)和非活動卡224(現(xiàn)在是活動的)之間的活動切換之后的包括實現(xiàn)多鏈路點對點協(xié)議的節(jié)點220的示例性系統(tǒng)200的示意圖。如在節(jié)點220和接收機(jī)230之間的MLPPP捆束2 所采用的路徑所指示的,活動切換已經(jīng)在活動卡223和非活動卡2M之間發(fā)生。如上面參照圖IA更詳細(xì)描述的,在活動切換后,非活動卡224(現(xiàn)在是活動的)重新啟動節(jié)點220和接收機(jī)230之間通過MLPPP束229的分組轉(zhuǎn)發(fā)操作。由于非活動卡2 先前接收了活動卡223最近生成的序列號的指示,因此,非活動卡2M可以生成具有等于或接近本應(yīng)由活動卡223分配給對應(yīng)的MLPPP捆束2 或MLPPP捆束類的值的序列號的分組 2^b。圖3是用于在圖1A、1B、2A和2B的系統(tǒng)100、200中使用的示例性卡300的組件的示意圖???00可作為系統(tǒng)100、200中的活動卡123、223或非活動卡124、2M運行。在多個示例性實施例中,卡300包括接收機(jī)310、序列號生成模塊320、分組形成模塊330、處理器 340和發(fā)射機(jī)350。如將根據(jù)以下的說明顯而易見的,這些組件中的每一個都可以與一個或多個其它組件進(jìn)行通信以實現(xiàn)卡300的功能。接收機(jī)310可包括被配置為接收數(shù)據(jù)的硬件和/或在機(jī)器可讀存儲介質(zhì)上編碼的軟件。因此,接收機(jī)310可包括一個或多個接口以從硬件接口 121或結(jié)構(gòu)227接收分組和其它數(shù)據(jù)。當(dāng)卡300是活動卡123、223時,卡310可被配置為從非活動卡1M、2M接收包含序列號請求的消息分組126b、2^b。相反,當(dāng)卡300是非活動卡124、224時,接收機(jī)300 可被配置為從活動卡123、223接收包含序列號的消息分組126a、2^a。顯然,為了簡化起見,接收機(jī)310被表示和描述為單個模塊;在運行時,接收機(jī)310可在卡300中包括多個單獨的組件。序列號生成模塊320可包括被配置為對將要通過諸如偽線或MLPPP捆束或捆束類的通信鏈路發(fā)送的每個分組生成序列號的硬件和/或在機(jī)器可讀存儲介質(zhì)上編碼的軟件。 每個卡300可包括用于每個偽線或MLPPP捆束或捆束類的序列號生成模塊。當(dāng)卡300是活動卡123、223時,序列號生成模塊320可對每個分組生成表明分組生成的順序的序列號。例如,該序列號可以是表明卡300生成分組的順序的整數(shù),以致該整數(shù)在每次卡300生成新的分組時增加。每個序列號可以被包括在由分組形成模塊330生成的對應(yīng)的分組中。當(dāng)卡300是非活動卡1M、2M時,序列號生成模塊320可執(zhí)行類似的功能。然而, 在生成序列號時,序列號生成模塊320可在接收機(jī)310從活動卡123、223最新接收的序列號處或從中導(dǎo)出的序列號處開始分配序列號,以致非活動卡124、2M將其操作同步于活動卡123、223。該序列號的同步可對每個偽線或每個MLPPP捆束或MLPPP捆束類執(zhí)行。分組形成模塊330可包括被配置為生成并發(fā)送分組的硬件或在機(jī)器可讀存儲介質(zhì)上編碼的軟件。因此,當(dāng)卡300用于模擬分組交換網(wǎng)絡(luò)上的TDM數(shù)據(jù)流時,分組形成模塊 330可從接收機(jī)310接收數(shù)據(jù)和從序列號生成模塊320接收序列號,然后,使用該信息以生成用于使用發(fā)射機(jī)350傳輸?shù)姆纸M。分組形成模塊330還可用于生成用于在活動卡123、223和非活動卡1M、2M之間交換序列號的分組。因此,當(dāng)卡300是活動卡123、223時,分組形成模塊330可生成包括一個或多個序列號和對應(yīng)的鏈路的標(biāo)識符的消息分組。相反,當(dāng)卡300是非活動卡1M、2M 時,分組形成模塊330可生成包括向活動卡123、223請求更新后的序列號的請求的消息分組。這些消息的示例性分組格式在下面參照圖4A-4D詳細(xì)描述。處理器340可用于執(zhí)行其它實現(xiàn)卡300的功能所必需的操作。處理器340可以是網(wǎng)絡(luò)處理器、現(xiàn)場可編程門陣列(FPGA)、通用微處理器、用指令編碼的機(jī)器可讀介質(zhì)或任何類似設(shè)備。處理器240可執(zhí)行計算,控制其它組件的操作,并執(zhí)行分組處理和轉(zhuǎn)發(fā)操作。發(fā)射機(jī)350可包括被配置為接收數(shù)據(jù)的硬件和/或在機(jī)器可讀存儲介質(zhì)上編碼的軟件。因此,發(fā)射機(jī)350可包括一個或多個接口以將分組和其它數(shù)據(jù)傳輸?shù)浇粨Q或路由結(jié)構(gòu)127或接口 221。當(dāng)卡300是活動卡123、223時,發(fā)射機(jī)350可被配置為向非活動卡1M、2M發(fā)送包含序列號的消息分組126a、2^a。相反,當(dāng)卡300是非活動卡124、224時,發(fā)射機(jī)350可被配置為向活動卡123、223發(fā)送包含序列號請求的消息分組126b、2^b。將在下面詳細(xì)描述的圖4A-4D表示用于在活動卡123、223和非活動卡1M、2M之間交換序列號和序列號請求的多個消息。顯然,這些消息的結(jié)構(gòu)是示例性的,并且消息可在不同的裝置中用相同的信息形成,或者可選擇地,消息可包括不同字段以實現(xiàn)相同的目的。圖4A是由非活動卡1M、2M發(fā)送到活動卡123、223以請求與一個或多個所識別的鏈路相關(guān)聯(lián)的序列號的示例性消息400的示意圖。在多個示例性實施例中,在初始化或在非活動卡1M、2M要求更新后的序列號的任何其它時間,非活動卡124、224發(fā)送消息 400。消息400可包括報頭402,其包括將消息400從非活動卡1M、2M交換或路由到活動卡123、223所需的信息。因此,報頭402可包括目的地IP地址和端口或任何其它足夠結(jié)構(gòu)127將消息400交換或路由到活動卡123、223的信息。在報頭402中包括的合適字段對于本領(lǐng)域的普通技術(shù)人員來說是顯而易見的。消息400還可包括消息標(biāo)識符404,其表明由非活動卡124、224發(fā)送的消息的類型。因此,消息標(biāo)識符404可以是例如整數(shù)、字符串或其它任何字母數(shù)字值,假設(shè)活動卡 123、223能可靠地識別消息的類型。如圖4A所示,消息ID 404是“請求N個非連續(xù)的鏈路序列號”,表明非活動卡124、2M要求更新具有非連續(xù)的標(biāo)識符的多個鏈路。消息ID 404 也可以是“請求單個鏈路序列號”,其表明需要單個鏈路的序列號,或者也可以是“請求批量 N個鏈路序列號”,其表明需要具有連續(xù)標(biāo)識符的多個鏈路的序列號。再者,消息ID 404的適當(dāng)變形對于本領(lǐng)域的普通技術(shù)人員來說是顯而易見的。最后,消息400可包括一系列鏈路標(biāo)識符406、408、410、412。因此,當(dāng)請求是用于具有非連續(xù)的標(biāo)識符的多個鏈路時,消息400可包括具有用于要求序列號的每個鏈路的標(biāo)識符的字段??蛇x擇地,當(dāng)只要求用于一個鏈路的序列號時,消息400可包括具有一個標(biāo)識符的單個字段。作為另一個可選,當(dāng)請求是用于具有連續(xù)標(biāo)識符的多個鏈路時,消息400可包括兩個字段,一個表明最低標(biāo)識符,而另一個表明最高標(biāo)識符。圖4B是用于將與單個鏈路相關(guān)聯(lián)的序列號從活動卡123、223發(fā)送到非活動卡 124,224的示例性消息420的示意圖。在多個示例性實施例中,活動卡123、223在從非活動卡124、2M接收到請求400后、或在初始化非活動卡124、2M后、或以固定的間隔或在任何其它由活動卡123、223確定的時間發(fā)送消息420。消息420可包括消息報頭422,其包括將消息420從活動卡123、223交換或路由到非活動卡1M、2M所需的信息。因此,報頭422可包括目的地IP地址和端口或任何其它足夠結(jié)構(gòu)127將消息420交換或路由到非活動卡124、224的信息。消息420還可包括消息標(biāo)識符424,其表明消息420涉及單個鏈路的更新。標(biāo)識符 4M可以是整數(shù)、字符串或任何其它字母數(shù)字值,假設(shè)非活動卡1M、2M能可靠地將消息識別為包括與單個鏈路相關(guān)聯(lián)的序列號的更新。最后,消息420可包括三個字段,其包含關(guān)于活動卡123、223所管理的鏈路的信息。特別地,消息420可包括鏈路標(biāo)識符字段426,其可包含唯一地標(biāo)識諸如TDM虛鏈路或 MLPPP捆束或MLPPP捆束類的鏈路的字母數(shù)字值。消息420還可包括序列號字段428,其可包含用于所識別的鏈路的由活動卡123、223生成的最新序列號。最后,消息420可包括鏈路信息字段430,其可包含任何其它關(guān)于鏈路的相關(guān)信息。包含在鏈路信息字段430中的適當(dāng)信息對于本領(lǐng)域的普通技術(shù)人員來說是顯而易見的。圖4C是用于將與多個連續(xù)鏈路相關(guān)聯(lián)的序列號從活動線路卡123、223發(fā)送到非活動線路卡1M、2M的示例性消息440的示意圖。在多個示例性實施例中,活動卡123、223 在從非活動卡124、2M接收到請求400后、或在初始化非活動卡124、2M后、或以固定的間隔、或在任何其它由活動卡123、223確定的時間發(fā)送消息440。如消息420 —樣,消息440可包括消息報頭442,其包括將消息440從活動卡123、 223交換或路由到非活動卡1M、2M所需的信息。因此,報頭442可包括目的地IP地址和端口或任何其它足夠結(jié)構(gòu)127將消息440交換或路由到非活動卡124、224的信息。消息440還可包括消息標(biāo)識符444,其表明消息440涉及多個鏈路的批量更新。標(biāo)識符444可以是整數(shù)、字符串或任何其它字母數(shù)字值,假設(shè)非活動卡124、2M能可靠地將消息識別為包括與具有連續(xù)標(biāo)識符的多個鏈路相關(guān)聯(lián)的序列號的更新。最后,消息440可包括多個字段,其包含關(guān)于活動卡123、223所管理的鏈路的信息。因此,鏈路標(biāo)識符字段446、448可分別表明包括序列號更新的鏈路的第一和最后一個鏈路標(biāo)識符。序列號字段450、452、454,456可分別包含由活動卡123、223對第一、第二、第 N和最后一個鏈路生成的最新序列號。最后,鏈路信息字段456、458、460、462可分別包含第一、第二、第N和最后一個鏈路的其它信息。圖4D是用于將與多個鏈路相關(guān)聯(lián)的序列號從活動線路卡123、223發(fā)送到非活動線路卡1M、2M的示例性消息470的示意圖。在多個示例性實施例中,活動卡123、223在從非活動卡1M、2M接收到請求400后、或在初始化非活動卡1M、2M后、或以固定的間隔、 或在任何其它由活動卡123、223確定的時間發(fā)送消息470。如消息420、440 —樣,消息470可包括消息報頭472,其包括將消息470從活動卡123、223交換或路由到非活動卡1M、2M所需的信息。因此,報頭472可包括目的地IP地址和端口或任何其它足夠結(jié)構(gòu)127將消息470交換或路由到非活動卡124、224的信息。消息470還可包括消息標(biāo)識符474,其表明消息470涉及N個非連續(xù)的鏈路的更新。標(biāo)識符474可以是整數(shù)、字符串或任何其它字母數(shù)字值,假設(shè)非活動卡1M、2M能可靠地將消息識別為包括與具有非連續(xù)的標(biāo)識符的多個鏈路相關(guān)聯(lián)的序列號的更新。最后,消息470可包括多個字段,其包含關(guān)于活動卡123、223所管理的鏈路的信息。因此,鏈路標(biāo)識符字段476、480、486可分別表明包括序列號更新的鏈路的第一、第二和最后一個鏈路標(biāo)識符。序列號字段478、482、488可分別包含由活動卡123、223對第一、第二和最后一個鏈路生成的最新序列號。如字段484所指示的,消息470可包括多個其它鏈路標(biāo)識符對和對應(yīng)的序列號。最后,鏈路信息字段490、492、494可包含每個鏈路的其它信肩、ο圖5是用于在網(wǎng)絡(luò)節(jié)點120中的活動卡123、223和非活動卡1M、2M之間同步序列號的示例性方法500的流程圖。示例性方法500從步驟510開始,進(jìn)行到步驟520,在該步驟,至少一個鏈路在網(wǎng)絡(luò)節(jié)點120、220和諸如節(jié)點140或接收機(jī)230的目的地節(jié)點之間建立。鏈路例如可以是一個或多個TDM偽線或MLPPP捆束中的物理鏈路。當(dāng)在步驟520建立鏈路后,示例性方法500進(jìn)行到步驟530,在該步驟,活動卡 123,223對于將要由網(wǎng)絡(luò)節(jié)點120、220通過在步驟520建立的鏈路發(fā)送的每個分組生成序列號。該序列號例如可以是整數(shù)值,其對于由節(jié)點120、220通過指定鏈路發(fā)送的每個分組增加。然后,示例性方法500進(jìn)行到步驟M0,在該步驟,數(shù)據(jù)路徑上的通信信道通過結(jié)構(gòu)127、227在活動卡123、223和非活動卡1M、2M之間建立。如以上詳細(xì)描述的,數(shù)據(jù)路徑上的通信信道允許活動卡123、223和非活動卡1M、2M交換信息而無需使用控制平面消息傳送,控制平面消息傳送非常慢并消耗大量的資源。然后,示例性方法500進(jìn)行到步驟550,在該步驟,活動卡123、223通過在步驟540 建立的數(shù)據(jù)路徑上的通信信道發(fā)送分組,分組包括對一個或多個鏈路生成的最新序列號。 如上所述,該分組可在從非活動卡1M、2M接收到請求后、或在初始化非活動卡1M、2M 后、或以固定的間隔或在任何由活動卡123、223確定的時間發(fā)送。這些分組中的每一個可以是在圖4B、4C或4D中描述的格式之一或其某些變形。如以上詳細(xì)描述的,從活動卡123、223發(fā)送到非活動卡124、224的分組可包括序列號的值和標(biāo)識與序列號對應(yīng)的鏈路的值。另外,分組可包括關(guān)于網(wǎng)絡(luò)節(jié)點120220與一個或多個目的地節(jié)點之間的多個鏈路(例如,多個TDM偽線或一個或多個MLPPP捆束中的多個鏈路)的信息。在這些情況下,活動卡123、223可例如使用圖4B中描述的格式發(fā)送用于多個鏈路的每一個的單獨分組??蛇x擇地,活動卡123、223可使用在圖4C或圖4D中描述的格式或其某些變形發(fā)送包括用于多個鏈路的每一個的信息的單個分組。然后,示例性方法500進(jìn)行到步驟560,在該步驟,非活動卡1M、2M從由活動卡 123、223發(fā)送的分組中提取序列號。更具體地,非活動卡1M、2M可解析分組以確定消息的類型和在消息中期望什么字段。然后,非活動卡1M、2M可提取鏈路標(biāo)識符、對應(yīng)的序列號和包含在分組中的其它信息。在從分組中提取序列號之后,示例性方法500進(jìn)行到步驟570,在該步驟,非活動卡1M、2M將其操作同步于活動卡123、223。更具體地,對于每個鏈路,非活動卡1M、2M 可向分組分配以根據(jù)所接收的序列號確定的值開始的序列號,以致由非活動卡124、224生成的隨后的分組包含大致等于由活動卡123、223發(fā)送的分組的序列號。如以上詳細(xì)描述的,起始值可根據(jù)在活動卡123、223中生成分組的速率確定或估計。然后,示例性方法500進(jìn)行到步驟580,在該步驟,在活動卡123、223故障后,非活動卡1M、2M重新啟動活動卡123、223的操作。更具體地,在步驟570中生成的分組可通過結(jié)構(gòu)127或接口 221發(fā)送,并被交換或路由到適當(dāng)?shù)哪康牡?。顯然,由于非活動卡124、 2M使用從活動卡123、223接收的序列號更新生成分組,因此,非活動卡1M、2M可立即重新啟動活動卡123、223的操作,而在目的地節(jié)點很少甚至沒有數(shù)據(jù)丟失。然后,示例性方法500進(jìn)行到步驟590,在該步驟,示例性方法500結(jié)束。顯然,為了易于說明,方法500被描述為包括多個連續(xù)步驟。因此,在實施方法500中,這些步驟中的一個或多個可由不同單元并行執(zhí)行或以不同的順序執(zhí)行。根據(jù)前面的內(nèi)容,多個示例性實施例能夠?qū)崿F(xiàn)網(wǎng)絡(luò)節(jié)點中的非活動卡和活動卡之間的序列號的有效同步。更具體地,多個示例性實施例通過網(wǎng)絡(luò)節(jié)點的路由或交換結(jié)構(gòu)中的數(shù)據(jù)路徑上的通信信道將包含序列號更新的消息分組從活動卡發(fā)送到非活動卡。使用交換或路由結(jié)構(gòu)而不是控制平面允許非活動卡將分組的生成緊密地同步于在活動卡中使用的序列號,并在活動切換發(fā)生時最小化延遲和數(shù)據(jù)丟失。顯然,根據(jù)上述說明,本發(fā)明的多個示例性實施例可在硬件、固件和/或軟件中實現(xiàn)。另外,多個示例性實施例可被實現(xiàn)為在機(jī)器可讀存儲介質(zhì)上存儲的指令,其可由至少一個處理器讀取和執(zhí)行以執(zhí)行在此詳細(xì)描述的操作。機(jī)器可讀存儲介質(zhì)可包括任何用于以諸如計算機(jī)、網(wǎng)絡(luò)節(jié)點、路由器、交換機(jī)或類似設(shè)備的機(jī)器可讀的形式存儲信息的機(jī)制。因此, 機(jī)器可讀存儲介質(zhì)可包括只讀存儲器(ROM)、隨機(jī)存取存儲器(RAM)、磁盤存儲介質(zhì)、光盤存儲介質(zhì)、閃存設(shè)備和類似的存儲介質(zhì)。盡管已經(jīng)特別參照本發(fā)明的某些示例性方面詳細(xì)描述了多個示例性實施例,但應(yīng)當(dāng)理解,本發(fā)明能夠用于其它實施例,其細(xì)節(jié)能夠在多個顯然的方面修改。如對于本領(lǐng)域的普通技術(shù)人員顯而易見的,可以實現(xiàn)各種變形和修改,而處在本發(fā)明的精神和范圍內(nèi)。因此,上述公開、描述和圖僅用于說明的目的,在任何情況下都不限定本發(fā)明,本發(fā)明僅由權(quán)利要求限定。
權(quán)利要求
1.一種用于在網(wǎng)絡(luò)節(jié)點中的非活動卡與活動卡之間同步序列號的方法,包括 在所述網(wǎng)絡(luò)節(jié)點和至少一個目的地節(jié)點之間建立至少一個鏈路;在所述活動卡中生成至少一個序列號,其中,所述活動卡對將要由所述網(wǎng)絡(luò)節(jié)點通過所述至少一個鏈路發(fā)送的每個分組生成序列號;通過所述網(wǎng)絡(luò)節(jié)點的結(jié)構(gòu),在所述非活動卡與所述活動卡之間的數(shù)據(jù)路徑上建立通信信道;通過所述通信信道,從所述活動卡向所述非活動卡發(fā)送包括所述至少一個序列號的分組;在所述非活動卡處,從所述分組中提取所述至少一個序列號;以及使用從所述分組中提取的所述至少一個序列號,將所述非活動卡的操作同步于所述活動卡。
2.根據(jù)權(quán)利要求1所述的用于同步序列號的方法,還包括在故障時,通過使用所述非活動卡向所述至少一個目的地節(jié)點發(fā)送分組來重新啟動所述活動卡的操作,其中,所述分組包括根據(jù)從所述活動卡接收的所述至少一個序列號生成的序列號。
3.根據(jù)權(quán)利要求1所述的用于同步序列號的方法,其中,從所述活動卡向所述非活動卡發(fā)送的分組包括所述至少一個序列號的值和標(biāo)識與所述至少一個序列號對應(yīng)的至少一個鏈路的值。
4.根據(jù)權(quán)利要求1所述的用于同步序列號的方法,其中,所述至少一個鏈路是所述網(wǎng)絡(luò)節(jié)點與對應(yīng)的多個目的地節(jié)點之間的多個鏈路,對于所述多個鏈路的每一個,所述活動卡向所述非活動卡發(fā)送單個分組,所述單個分組包括用于所述多個鏈路的每一個的至少一個序列號。
5.根據(jù)權(quán)利要求1所述的用于同步序列號的方法,其中,所述活動卡以固定的間隔和在初始化所述非活動卡后向所述非活動卡發(fā)送包括所述至少一個序列號的分組。
6.一種網(wǎng)絡(luò)節(jié)點,其實現(xiàn)冗余卡并被配置為同步序列號,所述節(jié)點包括 結(jié)構(gòu),其被配置為向目的地路由分組;活動卡,其被配置為在所述網(wǎng)絡(luò)節(jié)點與至少一個目的地節(jié)點之間建立至少一個鏈路; 生成至少一個序列號,其中,所述活動卡對于將要由所述網(wǎng)絡(luò)節(jié)點通過所述至少一個鏈路發(fā)送的每個分組生成序列號;以及通過所述結(jié)構(gòu)中的數(shù)據(jù)路徑上的通信信道,從所述活動卡向非活動卡發(fā)送包括所述至少一個序列號的分組;以及非活動卡,其連接到所述結(jié)構(gòu)和所述活動卡,并被配置為 通過所述結(jié)構(gòu)中的通信信道從所述活動卡接收所述分組; 從所述分組中提取所述至少一個序列號;以及使用從所述分組中提取的所述至少一個序列號,將所述非活動卡的操作同步于所述活動卡。
7.根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)節(jié)點,其中,所述非活動卡還被配置為在故障時,通過向所述至少一個目的地節(jié)點發(fā)送分組來重新啟動所述活動卡的操作,其中,所述分組包括根據(jù)從所述活動卡接收的所述至少一個序列號生成的序列號。
8.根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)節(jié)點,其中,從所述活動卡向所述非活動卡發(fā)送的分組包括所述至少一個序列號的值和標(biāo)識與所述至少一個序列號對應(yīng)的鏈路的值。
9.根據(jù)權(quán)利要求6所述的網(wǎng)絡(luò)節(jié)點,其中,所述至少一個鏈路是所述網(wǎng)絡(luò)節(jié)點與對應(yīng)的多個目的地節(jié)點之間的多個鏈路,對于所述多個鏈路的每一個,所述活動卡向所述非活動卡發(fā)送單個分組,所述單個分組包括用于所述多個鏈路的每一個的至少一個序列號。
10.一種線路卡,其用在網(wǎng)絡(luò)節(jié)點中并與所述網(wǎng)絡(luò)節(jié)點中的非活動卡進(jìn)行通信以提供序列號同步,所述線路卡包括序列號生成模塊,其被配置為生成至少一個序列號,其中,所述序列號生成模塊對于將要由所述網(wǎng)絡(luò)節(jié)點通過至少一個鏈路發(fā)送的每個分組生成序列號;以及通信模塊,其被配置為通過所述網(wǎng)絡(luò)節(jié)點的結(jié)構(gòu),在去往所述非活動卡的數(shù)據(jù)路徑上建立通信信道;以及通過所述通信信道向所述非活動卡發(fā)送包括所述至少一個序列號的分組,由此,所述非活動卡通過從所述分組中提取所述至少一個序列號而將操作同步于活動卡。
全文摘要
示意性實施例涉及一種實現(xiàn)冗余卡并被配置為同步序列號的網(wǎng)絡(luò)節(jié)點及相關(guān)方法。網(wǎng)絡(luò)節(jié)點可包括被配置為向目的地路由分組的結(jié)構(gòu)。另外,網(wǎng)絡(luò)節(jié)點可包括活動卡,其被配置為建立至少一個去往目的地節(jié)點的鏈路,對每個將要發(fā)送的分組生成序列號,并通過在結(jié)構(gòu)中的數(shù)據(jù)路徑上的通信信道,從活動卡向非活動卡發(fā)送包括至少一個序列號的消息分組。最后,網(wǎng)絡(luò)節(jié)點可包括非活動卡,其被配置為通過通信信道從活動卡接收包括至少一個序列號的消息分組,提取至少一個序列號,并使用該至少一個序列號將非活動卡的操作同步于活動卡。
文檔編號H04L12/56GK102318324SQ201080007666
公開日2012年1月11日 申請日期2010年2月10日 優(yōu)先權(quán)日2009年2月13日
發(fā)明者A·波林 申請人:阿爾卡特朗訊公司