一種網(wǎng)絡(luò)通信冗余方法
【專利摘要】本發(fā)明提供了一種改進(jìn)的用于通信網(wǎng)絡(luò)的冗余方法。用于節(jié)點(diǎn)到節(jié)點(diǎn)通信的方法包括:為待傳送的數(shù)據(jù)流(11)中的每個數(shù)據(jù)包提供各自的標(biāo)識符;然后,至少兩條鏈路(A、B)上將該數(shù)據(jù)流中的經(jīng)復(fù)制的數(shù)據(jù)從發(fā)送節(jié)點(diǎn)(N0)傳遞到接收節(jié)點(diǎn)(N1);在該接收節(jié)點(diǎn)處,接收并且緩沖來自至少兩條鏈路的數(shù)據(jù)包,以便后續(xù)對數(shù)據(jù)流進(jìn)行轉(zhuǎn)發(fā)。標(biāo)識符對應(yīng)于數(shù)據(jù)包在數(shù)據(jù)流中的相對位置,并且緩沖的步驟包括:使用從至少兩條鏈路中的至少一條鏈路接收的數(shù)據(jù)包,在公用索引緩沖區(qū)中重構(gòu)數(shù)據(jù)流的預(yù)定部分。本發(fā)明是建立在以下的基礎(chǔ)上:通過在接收節(jié)點(diǎn)處使用單個公用索引播放緩沖區(qū)來進(jìn)行無中斷故障切換,在索引播放緩沖區(qū)中,利用在多條鏈路上接收到的數(shù)據(jù)流中的單獨(dú)的塊(即,幀或數(shù)據(jù)包),來選擇性地重構(gòu)已傳遞的數(shù)據(jù)流。
【專利說明】一種網(wǎng)絡(luò)通信冗余方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及用于網(wǎng)絡(luò)通信的冗余方法的領(lǐng)域,并且更具體地,涉及一種基于在至少兩條鏈路上進(jìn)行的數(shù)據(jù)流的節(jié)點(diǎn)到節(jié)點(diǎn)傳送的通信方法。
【背景技術(shù)】
[0002]一種用以針對通信網(wǎng)絡(luò)中的連接(例如,異步串行接口(ASI)連接或以太網(wǎng)連接)增加節(jié)點(diǎn)至節(jié)點(diǎn)通信中的冗余的標(biāo)準(zhǔn)方法是在通信節(jié)點(diǎn)之間使用經(jīng)復(fù)制的傳輸路徑、信道或鏈路,這在下文中被稱為1+1連接。典型地,接收節(jié)點(diǎn)被布置成從發(fā)送節(jié)點(diǎn)接收數(shù)據(jù)流的副本和一連串的數(shù)據(jù)包。經(jīng)復(fù)制的數(shù)據(jù)流經(jīng)由一條主鏈路和一條備份鏈路被輸送到該接收節(jié)點(diǎn)。要注意的是,一條鏈路可以是指一系列的中間的節(jié)點(diǎn)到節(jié)點(diǎn)通信。基于各自鏈路上通信的質(zhì)量或狀況,接收節(jié)點(diǎn)中的選擇機(jī)制確定哪一條鏈路應(yīng)當(dāng)被選為主鏈路,該節(jié)點(diǎn)的輸出數(shù)據(jù)流從該主鏈路被轉(zhuǎn)發(fā)到與該節(jié)點(diǎn)相關(guān)聯(lián)的另一節(jié)點(diǎn)或一個應(yīng)用。因此,這種1+1連接的總體思路是這樣的:如果主鏈路遭遇故障,能夠向備份鏈路執(zhí)行故障切換。然而,由于例如主鏈路和備份鏈路上的通信的不同的時間延遲,如果主鏈路突然發(fā)生故障,經(jīng)轉(zhuǎn)發(fā)的數(shù)據(jù)流中的數(shù)據(jù)丟失或復(fù)制數(shù)據(jù)形式的中斷通常發(fā)生在故障切換時。
[0003]作為對發(fā)生故障時切換整個通信鏈路的替代,已經(jīng)表明能夠基于包含在數(shù)據(jù)流的各個數(shù)據(jù)包中的標(biāo)識符來選擇哪些重復(fù)數(shù)據(jù)被轉(zhuǎn)發(fā)。歐洲專利申請公布N0.EP0854610A2公開了一種用于通過第一獨(dú)立的以太網(wǎng)通信線路和第二獨(dú)立的以太網(wǎng)通信線路彼此連接的多個節(jié)點(diǎn)之間的以太網(wǎng)通信的冗余方法。相同的數(shù)據(jù)包在兩條通信線路上從發(fā)送節(jié)點(diǎn)被傳送到接收節(jié)點(diǎn),每個數(shù)據(jù)包都已經(jīng)添加了用于識別數(shù)據(jù)內(nèi)容的數(shù)據(jù)標(biāo)識符。在接收處,在第一鏈路和第二鏈路上傳送的數(shù)據(jù)被臨時到存儲到各自的緩沖區(qū)中,并且在接收節(jié)點(diǎn)中,根據(jù)數(shù)據(jù)標(biāo)識符來確定在兩條各自的通信線路上傳送的哪些數(shù)據(jù)已經(jīng)首先到達(dá),以及哪些數(shù)據(jù)被接收為第一接收數(shù)據(jù),以供后續(xù)使用。在保持連接中的冗余的同時,這提供了一種針對各自的數(shù)據(jù)部分具有最小引入延遲的冗余方法。
【發(fā)明內(nèi)容】
[0004]鑒于以上內(nèi)容,本發(fā)明的一個目標(biāo)是提供一種改進(jìn)的用于通信網(wǎng)絡(luò)的冗余方法。特別地,一個目標(biāo)是提供在多條鏈路上的無中斷的節(jié)點(diǎn)到節(jié)點(diǎn)通信,就去往一個節(jié)點(diǎn)的傳入鏈路的數(shù)量而言,多個鏈路是可擴(kuò)展的,也就是說,在功能或者對該節(jié)點(diǎn)的實(shí)質(zhì)性重建的需求沒有損失的情況下,能夠增加或者移除去往該節(jié)點(diǎn)的鏈路。
[0005]這個目標(biāo)是通過權(quán)利要求1中所限定的根據(jù)本發(fā)明的一種用于節(jié)點(diǎn)到節(jié)點(diǎn)通信的方法來實(shí)現(xiàn)的。本發(fā)明建立在以下基礎(chǔ)上:通過在接收節(jié)點(diǎn)處使用單個的公用索引播放緩沖區(qū),能夠以精確方式執(zhí)行無中斷的故障切換,使得在節(jié)點(diǎn)到節(jié)點(diǎn)傳送期間中沒有數(shù)據(jù)被復(fù)制或丟失,在索引播放緩沖區(qū)中,利用在多條鏈路上接收到的數(shù)據(jù)流中的單獨(dú)的塊(即,幀或數(shù)據(jù)包),來選擇性地重構(gòu)已傳遞的數(shù)據(jù)流。
[0006]因此,根據(jù)本發(fā)明的一個方面,提供了一種用于節(jié)點(diǎn)到節(jié)點(diǎn)通信的方法。本方法包括:為待傳送的數(shù)據(jù)流中的每個數(shù)據(jù)包提供各自的標(biāo)識符;并且在至少兩條鏈路上將所述數(shù)據(jù)流的經(jīng)復(fù)制的數(shù)據(jù)從發(fā)送節(jié)點(diǎn)傳遞到接收節(jié)點(diǎn)。進(jìn)一步地,本方法包括:在接收節(jié)點(diǎn)處,選擇性地接收并且緩沖來自所述至少兩條鏈路的數(shù)據(jù)包,以便后續(xù)對所述數(shù)據(jù)流進(jìn)行轉(zhuǎn)發(fā)。所述標(biāo)識符對應(yīng)于數(shù)據(jù)包在所述數(shù)據(jù)流中的相對位置,并且所述緩沖的步驟包括:使用從所述至少兩條鏈路中的至少一條鏈路接收的數(shù)據(jù)包,在公用索引緩沖區(qū)中重構(gòu)所述數(shù)據(jù)流的預(yù)定部分。
[0007]本方法的優(yōu)點(diǎn)在于,本方法能夠在相對不穩(wěn)定的網(wǎng)絡(luò)中實(shí)現(xiàn),例如,包含較差性能鏈路的有數(shù)據(jù)包丟失的以太網(wǎng)網(wǎng)絡(luò)。由于數(shù)據(jù)流在多條鏈路上的節(jié)點(diǎn)之間進(jìn)行傳遞,并且通過從并行的鏈路中的一條鏈路增加一條鏈路的數(shù)據(jù)流中的丟失數(shù)據(jù)包來在每個接收節(jié)點(diǎn)中的公用緩沖器中進(jìn)行重建,因此對每條單獨(dú)的鏈路的質(zhì)量要求得以降低。要注意的是,歸因于鏈路租賃價格,在三條以上不穩(wěn)定的鏈路上輸送數(shù)據(jù)比在兩條或一條不穩(wěn)定的鏈路上輸送數(shù)據(jù)可能更劃算。進(jìn)一步地,利用公用緩沖區(qū)來重新創(chuàng)建已傳送的數(shù)據(jù)流有利地提供了一種易于擴(kuò)展的系統(tǒng),在這種系統(tǒng)中,到一個接收節(jié)點(diǎn)的傳入鏈路的數(shù)量能夠在不需要對該接收節(jié)點(diǎn)進(jìn)行重新配置的情況下改變。
[0008]針對已傳送的數(shù)據(jù)流的重構(gòu)使用公用索引緩沖區(qū)的另一個優(yōu)勢在于:接收節(jié)點(diǎn)中所需的已分配的緩沖區(qū)空間被顯著地減小。與已知的系統(tǒng)相比,對于具有兩條傳入鏈路的示例,當(dāng)利用公用共享緩沖區(qū)時,數(shù)據(jù)流的重構(gòu)所需的最低要求的緩沖區(qū)容量是其大小的一半。進(jìn)一步地,所需的緩沖容量通常由傳入鏈路的實(shí)際或估計的差分延遲(即,至少兩條鏈路上的不同的經(jīng)復(fù)制的數(shù)據(jù)流之間的時間偏移量)來確定。例如,如果具有特定標(biāo)識符的數(shù)據(jù)包到達(dá)一條鏈路的時間比到達(dá)一條并行的鏈路的時間晚5毫秒,那么該連接就被稱為具有5毫秒的差分延遲。這必須通過緩沖數(shù)據(jù)流的相應(yīng)的時間部分來進(jìn)行補(bǔ)償,以提供無中斷的連接。與對所有鏈路上所接收到的所有數(shù)據(jù)包進(jìn)行緩沖的已知系統(tǒng)相比,對于以上具有兩條傳入鏈路的示例,當(dāng)接收節(jié)點(diǎn)具有有限的總的緩沖區(qū)空間時,能夠?qū)崿F(xiàn)相對于用于補(bǔ)償差分延遲的緩沖的兩倍的無中斷的容忍度。
[0009]根據(jù)本方法的一個實(shí)施例,重構(gòu)所述數(shù)據(jù)流的至少一部分的步驟包括:僅選擇所接收的具有特定標(biāo)識符的一個數(shù)據(jù)包,以用于寫入所述緩沖區(qū)中的每個索引位置。具有特定標(biāo)識符的多個數(shù)據(jù)包可以到達(dá)不同鏈路上的節(jié)點(diǎn)。然而,由于數(shù)據(jù)流的重構(gòu)僅要求具有該特定標(biāo)識符的數(shù)據(jù)包的一個副本,當(dāng)一個副本已經(jīng)被寫入公用緩沖區(qū)時,該數(shù)據(jù)包的其他副本能夠被丟棄。選擇哪一個副本可以基于當(dāng)前的選擇策略來確定,例如,最先到達(dá)、最可靠的鏈路等。
[0010]進(jìn)一步地,這為多條鏈路上的無中斷的節(jié)點(diǎn)到節(jié)點(diǎn)通信提供了傳入鏈路之間具有接近于零的差分延遲的改進(jìn)處理,以上描述的現(xiàn)有技術(shù)的解決方案在以無中斷的方式處理差分延遲上可能具有困難。這是由于以下原因:當(dāng)多條傳入鏈路之間的差分延遲較小時,實(shí)際首先到達(dá)的鏈路可能在時間方面變化,這繼而在確定哪一條鏈路是最先到達(dá)的(主鏈路)、必須完成多少緩沖來提供無中斷的故障切換以及節(jié)點(diǎn)到節(jié)點(diǎn)通信在什么時候處于無中斷的狀態(tài)方面提供了難度。
[0011]根據(jù)本方法的一個實(shí)施例,本方法包括:針對每個所接收到的數(shù)據(jù)包,基于所接收到的數(shù)據(jù)包的標(biāo)識符來確定相應(yīng)的緩沖區(qū)索引;基于所確定的緩沖區(qū)索引來檢驗數(shù)據(jù)是否已經(jīng)被寫入所述相應(yīng)的緩沖區(qū)索引的位置,并且如果數(shù)據(jù)沒有被寫入所述相應(yīng)的緩沖區(qū)索引的位置,則將所接收到的數(shù)據(jù)包或者與所接收到的數(shù)據(jù)包相對應(yīng)的指針寫入所確定的緩沖區(qū)索引的位置。這使得即便傳入的數(shù)據(jù)包以混亂的順序到達(dá),也能夠?qū)哂刑囟?biāo)識符并且到達(dá)傳入鏈路上的數(shù)據(jù)包進(jìn)行有效地排序,進(jìn)入緩沖區(qū)中的正確緩沖區(qū)索引位置。僅那些仍然還沒有被寫入緩沖區(qū)的數(shù)據(jù)包被選擇用于寫入。
[0012]根據(jù)本方法的一個實(shí)施例,本方法進(jìn)一步包括:將在所接收的一數(shù)據(jù)包被記錄之后到達(dá)的具有相同標(biāo)識符的任何所接收到的數(shù)據(jù)包丟棄,以便恢復(fù)存儲器。
[0013]根據(jù)本方法的一個實(shí)施例,支持同時選擇所接收到的數(shù)據(jù)包并寫入所述緩沖區(qū),所接收到的數(shù)據(jù)包具有不同的標(biāo)識符并且在不同的鏈路上被接收。這種同時地寫入公用緩沖區(qū)有利地增加了數(shù)據(jù)寫入緩沖區(qū)的速度,并且因此減少了執(zhí)行數(shù)據(jù)流部分的重構(gòu)所需要的時間。
[0014]根據(jù)本方法的一個實(shí)施例,本方法進(jìn)一步包括:針對每個所接收到的數(shù)據(jù)包,設(shè)置與經(jīng)確定的緩沖區(qū)索引和鏈路相對應(yīng)的有效位條目。這提供了一種監(jiān)視哪些數(shù)據(jù)包已經(jīng)在哪一條鏈路上被接收到的有效方式,這可以例如被用于傳入鏈路的質(zhì)量監(jiān)視和無中斷的故障切換能力的檢測。
[0015]根據(jù)本方法的一個實(shí)施例,本方法進(jìn)一步包括:基于這些有效位條目來監(jiān)視節(jié)點(diǎn)到節(jié)點(diǎn)通信的當(dāng)前冗余,由于復(fù)雜的原因,這樣做是有利的。這些有效位條目可以進(jìn)一步被用于監(jiān)視公用緩沖區(qū)是否被充分地填充,使得當(dāng)一條或多條鏈路出現(xiàn)故障時,無中斷的故障切換能夠得以執(zhí)行。
[0016]根據(jù)本方法的一個實(shí)施例,本方法進(jìn)一步包括:在接收節(jié)點(diǎn)處,針對每個所接收到的數(shù)據(jù)包,記錄數(shù)據(jù)包間到達(dá)時間。數(shù)據(jù)流的轉(zhuǎn)發(fā)是以一輸出速率來進(jìn)行的,所述輸出速率基于所記錄的數(shù)據(jù)包間到達(dá)時間數(shù)據(jù)確定,這對于最小化已傳送的數(shù)據(jù)流中的抖動/漂移效應(yīng)的引入是有利的。例如,在以太網(wǎng)傳輸格式以及去往一節(jié)點(diǎn)的數(shù)據(jù)包到達(dá)速率不固定的其他格式或服務(wù)(例如,以太網(wǎng)網(wǎng)絡(luò)上的視頻業(yè)務(wù))中實(shí)現(xiàn)本方法時,這是具有重要意義的。
[0017]根據(jù)本方法的一個實(shí)施例,輸出速率是逐個數(shù)據(jù)包來確定的,使得對于特定緩沖區(qū)索引的數(shù)據(jù)包,所述輸出速率是基于所接收到的數(shù)據(jù)包中具有與所述特定緩沖區(qū)索引相對應(yīng)的標(biāo)識符的那個數(shù)據(jù)包的所記錄的數(shù)據(jù)包間到達(dá)時間來選擇的,這對于確保這些數(shù)據(jù)包以確保與始發(fā)的數(shù)據(jù)流具有相同的抖動/漂移特性的方式進(jìn)行轉(zhuǎn)發(fā)是有利的。
[0018]根據(jù)本方法的一個實(shí)施例,轉(zhuǎn)發(fā)數(shù)據(jù)流時的輸出速率是基于來自所述至少兩條鏈路中的其中一條鏈路的所記錄的數(shù)據(jù)包間到達(dá)時間來選擇的,這在需要強(qiáng)迫主定時鏈路來達(dá)到轉(zhuǎn)發(fā)的數(shù)據(jù)流的特定的輸出速率是有利的。這確保了轉(zhuǎn)發(fā)的數(shù)據(jù)流的發(fā)出定時變成與傳入的至少兩個數(shù)據(jù)流的發(fā)出定時相同,而不是隨意的混合。
[0019]根據(jù)本方法的一個實(shí)施例,數(shù)據(jù)流的轉(zhuǎn)發(fā)是從已經(jīng)在至少兩條鏈路上被接收到所述數(shù)據(jù)流中的第一數(shù)據(jù)包之后的一段預(yù)定時間開始的。
[0020]根據(jù)本方法的一個實(shí)施例,本方法可以被用于實(shí)現(xiàn)布置在至少兩條鏈路中的一條鏈路中的中間節(jié)點(diǎn)的無中斷節(jié)點(diǎn)升級,從而使該中間節(jié)點(diǎn)能夠在不中斷業(yè)務(wù)的情況下進(jìn)行無中斷的拆卸以用于維護(hù)。
[0021]根據(jù)本方法的一個實(shí)施例,本方法有利地被實(shí)現(xiàn)為軟件模塊,該軟件模塊用于在被計算機(jī)處理器執(zhí)行時,實(shí)施如以上所描述的方法。[0022]當(dāng)對以下詳細(xì)的說明書、附圖和所附的權(quán)利要求書進(jìn)行研究時,本發(fā)明的其他目的、特征和優(yōu)點(diǎn)將變得明顯。本領(lǐng)域技術(shù)人員意識到本發(fā)明的不同特征能夠被組合以創(chuàng)建出與在下文中所描述的實(shí)施例不相同的實(shí)施例。
【專利附圖】
【附圖說明】
[0023]通過參照附圖對本發(fā)明的優(yōu)選實(shí)施例的以下說明性并且非限制性的詳細(xì)描述,本發(fā)明的以上以及額外的目標(biāo)、特征和優(yōu)點(diǎn)將被更好地理解,其中,相同的附圖標(biāo)記將被用于相似的元素,其中:
[0024]圖1是根據(jù)本發(fā)明的一種節(jié)點(diǎn)到節(jié)點(diǎn)通信系統(tǒng)的示意性的概觀;
[0025]圖2至圖6是根據(jù)本發(fā)明的實(shí)施例的功能結(jié)構(gòu)的示意圖;
[0026]圖7和圖8是通過利用本發(fā)明的方法對網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行無中斷的斷開的示意圖。
[0027]所有的附圖都是示意性的,不一定是按照比例繪出的,并且大體上僅示出了必要的部分,以便闡明本發(fā)明,其中,其他部分可以被省略或僅僅是建議的。
【具體實(shí)施方式】
[0028]現(xiàn)在參照附圖對根據(jù)本發(fā)明的用于節(jié)點(diǎn)到節(jié)點(diǎn)通信的方法的示例性的實(shí)施例進(jìn)行描述。在這些示例性的實(shí)施例中的大多數(shù)中,對1+1連接進(jìn)行了闡述。然而,應(yīng)當(dāng)注意的是,所描述的機(jī)制也適用于1+1+1連接以及諸如此類的連接。雖然本方法的步驟被顯示成一個數(shù)字序列,但是這些步驟中的一些步驟可以按照另一種順序來執(zhí)行。貫穿該文檔,術(shù)語“數(shù)據(jù)包”或“幀”被用作數(shù)據(jù)粒度,盡管在所有的情況中數(shù)據(jù)可以不按照自身已分成包的格式被輸送。
[0029]圖1是概括了根據(jù)本發(fā)明的構(gòu)思的一種節(jié)點(diǎn)到節(jié)點(diǎn)通信系統(tǒng)10的示意圖。這里,該通信系統(tǒng)10包括了使用根據(jù)本發(fā)明的用于節(jié)點(diǎn)到節(jié)點(diǎn)通信的方法的一個無中斷的1+1以太網(wǎng)連接。該節(jié)點(diǎn)到節(jié)點(diǎn)通信系統(tǒng)10包括第一節(jié)點(diǎn)NO和第二節(jié)點(diǎn)NI,第一節(jié)點(diǎn)NO和第二節(jié)點(diǎn)NI經(jīng)由兩條并行的鏈路A和B相互連接。每個節(jié)點(diǎn)均包括用于接收、處理和發(fā)送數(shù)據(jù)流的模塊。然而,為了簡化的目的,僅在本文中顯示和描述了對理解本發(fā)明是必要的這些功能部件。
[0030]在第一節(jié)點(diǎn)NO和第二節(jié)點(diǎn)NI之間待傳送的數(shù)據(jù)流11包含一系列的數(shù)據(jù)包。數(shù)據(jù)流11中的每個數(shù)據(jù)包在第一節(jié)點(diǎn)NO中均被提供有與該數(shù)據(jù)包在數(shù)據(jù)流11中的相對位置相對應(yīng)的標(biāo)識符。該標(biāo)識符可以是在一個預(yù)定間隔內(nèi)選擇出的一個序號。然而,根據(jù)本方法的實(shí)施例,標(biāo)識符可以被實(shí)現(xiàn)為在數(shù)據(jù)流傳送的出口方向上的任何形式的時間戳。
[0031]進(jìn)一步地,在提供有標(biāo)識符η之后,每個有索引的數(shù)據(jù)包隨后在第一節(jié)點(diǎn)NO中被復(fù)制,使得相同的數(shù)據(jù)(即,包含針對該數(shù)據(jù)包的相同的序號η的經(jīng)復(fù)制的數(shù)據(jù)包)從第一節(jié)點(diǎn)NO分別越過第一鏈路A和第二鏈路B被傳送到第二節(jié)點(diǎn)NI,即,從發(fā)送節(jié)點(diǎn)到接收節(jié)點(diǎn)。在第二節(jié)點(diǎn)NI處,來自鏈路A和B的數(shù)據(jù)流中的數(shù)據(jù)包的經(jīng)傳送的副本被接收到,并且被選擇性地拒絕或緩沖在公用緩沖區(qū)(在圖1中未示出,參見例如在圖2中示意性地圖示為表120的公用緩沖區(qū))內(nèi),用于該數(shù)據(jù)流隨后在(外向的)鏈路C上的轉(zhuǎn)發(fā)。公用緩沖區(qū)120,單個的共享的播放緩沖區(qū),這里使用序號比來進(jìn)行索引并且能夠由鏈路A和B同時寫入。
[0032]現(xiàn)在參照示出本發(fā)明的方法的基本的功能結(jié)構(gòu)(如圖2中示意性示出的),對本文中描述的本方法的實(shí)施例進(jìn)行更詳細(xì)的說明。這里,該基本的功能結(jié)構(gòu)100由傳入鏈路A和B(盡管本方法支持任何合適數(shù)據(jù)的鏈路A、B、…、Z)、選擇單元110(從性能監(jiān)視的觀點(diǎn)來看,每條傳入鏈路均終止于該選擇單元110)以及播放緩沖區(qū)120 (與參照圖1所描述的布置在接收節(jié)點(diǎn)NI中的公用的索引緩沖區(qū)相對應(yīng))。鏈路A和B上傳輸?shù)臄?shù)據(jù)中的每個數(shù)據(jù)包均包含各自的序號,該序號在發(fā)送節(jié)點(diǎn)中被寫入數(shù)據(jù)流中的數(shù)據(jù)包內(nèi)。這里,每個序號的每個數(shù)據(jù)包針對鏈路A被稱為A (η),并且針對鏈路B被稱為B (η)。
[0033]播放緩沖區(qū)120是編入索引的循環(huán)數(shù)組。播放緩沖區(qū)120進(jìn)一步包括每一條鏈路的每個條目的有效位VA和VB、以及播放緩沖區(qū)索引bn。選擇單元110包括用于基于每個接收到的數(shù)據(jù)包的標(biāo)識符(即,數(shù)據(jù)包的序號)來確定針對該數(shù)據(jù)包的相應(yīng)播放緩沖區(qū)索引比的模塊。這通過選擇單元110從鏈路A或B檢測條目(例如,接收到的數(shù)據(jù)包或數(shù)據(jù)包),并且通過將從播放緩沖區(qū)頭條目的數(shù)據(jù)包的序號的偏移量和接收到的序號進(jìn)行比較來計算出相應(yīng)播放緩沖區(qū)索引bn來得以實(shí)現(xiàn)。進(jìn)一步地,針對每個條目,如果每一條鏈路的每一個條目的有效位VA和VB都被清除,那么該數(shù)據(jù)包被寫入播放緩沖區(qū)(未示出),并且針對播放緩沖區(qū)索引bn的鏈路的有效位VA或VB被設(shè)置。如果對于一條鏈路的一個特定的條目,另一條鏈路的針對播放緩沖區(qū)索引比的有效位已經(jīng)被設(shè)置,即另一條鏈路已經(jīng)填滿條目并且數(shù)據(jù)包已經(jīng)被寫入播放緩沖區(qū),那么該特定的條目的數(shù)據(jù)包在設(shè)置其有效位之后被丟棄。在圖2中,顯示了當(dāng)將數(shù)據(jù)流轉(zhuǎn)發(fā)到鏈路C時播放緩沖區(qū)讀取順序BR0。
[0034]現(xiàn)在考慮圖3中示例的播放緩沖區(qū)填充的一個示例。鏈路A超前于鏈路B,即,由選擇單元I1所檢測到的來自鏈路A的數(shù)據(jù)包的序號大于來自鏈路B的數(shù)據(jù)包的序號。來自鏈路A的數(shù)據(jù)包一個接一個地被寫入播放緩沖區(qū)。在h時刻,A(n+3)到達(dá)選擇單元110,A(n+3)的數(shù)據(jù)包被寫入播 放緩沖區(qū)120,并且針對鏈路A,設(shè)置與序號(n+3)相對應(yīng)的播放緩沖區(qū)索引bn的有效位(對于bn = n+3, VA = I)。在t2時刻,播放緩沖區(qū)120已經(jīng)被寫到A (n+4),然而正如能夠在針對鏈路B的有效位VB中看到的,在鏈路B上僅僅收到了 B (η)、B (η+1)和B (η+2),在鏈路B上,相應(yīng)的有效位被設(shè)置,并且相應(yīng)的數(shù)據(jù)包被丟棄,因為它們已經(jīng)被鏈路A接收到了。如圖3中所示,播放緩沖區(qū)寫入順序BWO于是變成了 Α(η)、Α(η+1)、A (η+2)、A (n+3)、A (n+4)。
[0035]在1+1連接中,差分延遲Λ是在不同鏈路上發(fā)送的經(jīng)復(fù)制數(shù)據(jù)包的兩個副本之間測量到的到達(dá)時間的差。關(guān)鍵在于播放緩沖區(qū)是足夠大的,使得不同鏈路之間的差分延遲Δ能夠被覆蓋。再次參照圖3,來自鏈路B的數(shù)據(jù)包B (n+3)在t3 = 時刻到達(dá)選擇單元110,并且由于播放緩沖區(qū)已經(jīng)由鏈路A寫入了,因此在針對與序號(n+3)相對應(yīng)的播放緩沖區(qū)索引bn,設(shè)置了播放緩沖區(qū)索引的有效位VB之后(在時間H3時,對于bn = n+3,VB=I), B (n+3)的數(shù)據(jù)包將會被丟棄。在前的鏈路A由于某種原因出現(xiàn)故障,并且不能傳送A (n+3)的情況下,播放緩沖區(qū)中的緩沖必須被布置成覆蓋鏈路A和鏈路B之間的差分延遲Δ,使得當(dāng)B(n+3)到達(dá)時,B (n+3)能夠被用于替代丟失的數(shù)據(jù)包并且恢復(fù)數(shù)據(jù)流,參見下面的例子。
[0036]在圖4中,著重示出了無中斷的故障切換的例子。如圖4所示,這里鏈路A超前于鏈路B,即,由選擇單元110所接收到的來自鏈路A的數(shù)據(jù)包的序號大于來自鏈路B的數(shù)據(jù)包的序號。這里,鏈路A出現(xiàn)了故障,即,在A(n+2)之后沒有從鏈路A接收到有效數(shù)據(jù)包,但是,由于鏈路A超前于鏈路B,選擇單元110將數(shù)據(jù)包A (n)、A (n+1)和A (η+2)寫入播放緩沖區(qū)。如圖4所示,鏈路B將最終趕上并且開始填充播放緩沖區(qū)條目,從序號(n+3)開始填充。由此,鏈路到鏈路通信的無中斷的故障切換得以實(shí)現(xiàn)。如圖4中所示,播放緩沖區(qū)寫入順序 BffO 于是變成 T A (n)、A (n+1)、A (η+2)、B (n+3)、B (η+4)。
[0037]現(xiàn)在參照圖5,圖5圖示了同時寫入播放緩沖區(qū),鏈路A和鏈路B可以同時寫到播放緩沖區(qū)。也就是說,選擇單元110被布置為支持所接收到的數(shù)據(jù)包或者具有不同標(biāo)識符(例如,序號)的數(shù)據(jù)包的同時選擇和寫入,所接收到的數(shù)據(jù)包或具有不同標(biāo)識符的數(shù)據(jù)包是在不同的鏈路(這里指鏈路A和鏈路B)上接收到的。在該例子中,鏈路A超前于鏈路B,但是由于某些以前的故障,存在數(shù)據(jù)包丟失的情況。當(dāng)具有序號(n+3)的數(shù)據(jù)包從鏈路A被寫入時,具有序號(η)的數(shù)據(jù)包同時地從鏈路B被寫入。此后,根據(jù)播放緩沖區(qū)寫入順序BW0,隨著具有序號(n+4)的數(shù)據(jù)包由鏈路A寫入,具有序號(n+1)的數(shù)據(jù)包同時由B寫入,依次類推。如圖5所示,播放緩沖區(qū)寫入順序BWO于是對于某些時間實(shí)例具有多個條目。在t5時刻,僅鏈路B已經(jīng)傳送了具有序號η至(η+2)的數(shù)據(jù)包,因此對于這些數(shù)據(jù)包,針對鏈路A的有效位VA沒有被設(shè)置,而針對鏈路B的有效位VB被設(shè)置了。正如能夠從圖5推斷出的,將設(shè)置有效位VA和有效位VB的第一數(shù)據(jù)包將是具有序號(n+3)的數(shù)據(jù)包。
[0038]根據(jù)本方法的一個實(shí)施例,在針對不同的鏈路A、B、…、Z的公用緩沖區(qū)中所記錄的有效位VA、VB、…、VZ被用于控制數(shù)據(jù)流向外向鏈路C中的轉(zhuǎn)發(fā)。在該實(shí)施例中,數(shù)據(jù)流的轉(zhuǎn)發(fā)是從該數(shù)據(jù)流中的第一幀或數(shù)據(jù)包已經(jīng)在至少兩條鏈路上被接收到之后的一段預(yù)定時間開始的。該預(yù)定時間被選擇成提供一個足夠大的緩沖區(qū),該緩沖區(qū)覆蓋網(wǎng)絡(luò)所支持的最大差分延遲。
[0039]根據(jù)本方法的一個實(shí)施例,在針對不同的鏈路A、B、…、Z的公用緩沖區(qū)中所記錄的有效位VA、VB、…、VZ被用于基于有效位條目來監(jiān)視節(jié)點(diǎn)到節(jié)點(diǎn)通信的當(dāng)前冗余。緩沖區(qū)監(jiān)視是通過這樣的方式來執(zhí)行的,當(dāng)隨后從第二節(jié)點(diǎn)(參見例如圖1中的節(jié)點(diǎn)NI)轉(zhuǎn)發(fā)數(shù)據(jù)流時,針對來自播放緩沖區(qū)(或播放隊列)的每個經(jīng)轉(zhuǎn)發(fā)的數(shù)據(jù)包,檢查針對鏈路A和B的有效位。如果針對特定序號的數(shù)據(jù)包,有效位VA和VB均被設(shè)置,那么這意味著鏈路A和B在該數(shù)據(jù)包從播放緩沖區(qū)被轉(zhuǎn)發(fā)之前到達(dá)了該序號,這因此表明了緩沖的水平足以處理無中斷的故障切換。相反地,如果只有一個位被設(shè)置,那么緩沖量是不充分的,并且連接因此不能夠被認(rèn)為處于無中斷的狀態(tài),即處于無中斷的故障切換能夠被提供的狀態(tài)。對于多條鏈路上的節(jié)點(diǎn)到節(jié)點(diǎn)通信,上文所描述的緩沖區(qū)監(jiān)視能夠被用于確定連接的單倍冗余、雙倍冗余、三倍冗余,等等。
[0040]根據(jù)本發(fā)明的一個實(shí)施例,當(dāng)啟動節(jié)點(diǎn)到節(jié)點(diǎn)通信時,以參照圖1和圖2所描述的節(jié)點(diǎn)到節(jié)點(diǎn)的通信系統(tǒng)作為一個示例性的系統(tǒng),啟動條件按照以下方式進(jìn)行處理:最初鏈路A和鏈路B均未建立,并且連接狀態(tài)被稱為是非無中斷的狀態(tài)。隨后,鏈路A或鏈路B已建立。然而,這兩條鏈路的差分延遲被測量為在所支持的無中斷的界限以下,直到鏈路A和鏈路B都已建立,并且正如前面提到的,如果從播放隊列被轉(zhuǎn)發(fā)的數(shù)據(jù)包已經(jīng)設(shè)置了兩個有效位,那么連接狀態(tài)轉(zhuǎn)換到無中斷的狀態(tài)。
[0041]在一個實(shí)施例中,一旦第一鏈路出現(xiàn),該第一鏈路就開始寫入播放緩沖區(qū)。當(dāng)該播放緩沖區(qū) 達(dá)到預(yù)定的占用(例如,50%)時,數(shù)據(jù)包開始被轉(zhuǎn)發(fā)?;蛘?,在針對鏈路A和B已經(jīng)對頭條目的數(shù)據(jù)進(jìn)行驗證(即,VA和VB已經(jīng)被設(shè)置)之后的一段預(yù)定時間,開始數(shù)據(jù)流的轉(zhuǎn)發(fā)。優(yōu)選地,數(shù)據(jù)流的轉(zhuǎn)發(fā)是受到在下文中的本發(fā)明的實(shí)施例中描述的預(yù)定的發(fā)送速率機(jī)制的支配來執(zhí)行的。優(yōu)選地,對該發(fā)送速率機(jī)制進(jìn)行選擇,以便維持?jǐn)?shù)據(jù)流的最初的發(fā)送速率。當(dāng)?shù)诙溌愤_(dá)成時,第二鏈路要么超前于現(xiàn)存的鏈路,要么滯后于現(xiàn)存的鏈路。如果第二鏈路超前,則在前的鏈路將會趕上并且開始填充條目。如果該第二鏈路滯后,則差分延遲被建立。在一個實(shí)施例中,如果差分延遲小于所支持的最大延遲,并且在從第一連接被建立的一段預(yù)定的時間范圍(例如,10秒)內(nèi)進(jìn)入該條件,那么引入自動中斷,以迫使連接進(jìn)入無中斷的狀態(tài)。然而,如果該差分延遲小于所支持的最大延遲,并且在一段預(yù)定的時間段(例如,10秒)之后進(jìn)入該條件,那么需要手動強(qiáng)制執(zhí)行無中斷的操作,以觸發(fā)中斷并且使連接進(jìn)入無中斷的狀態(tài)。
[0042]在一個實(shí)施例中,在已經(jīng)引入中斷之后,兩條鏈路都是可用的。在這種情況下,對各自鏈路的序號進(jìn)行比較,并且選擇具有最小的序號的鏈路作為開始寫入播放緩沖區(qū)的鏈路,并且因此建立播放緩沖區(qū)頭條目。在另一個實(shí)施例中,采用隨機(jī)鏈路選擇機(jī)制。
[0043]要注意的是,通過在將數(shù)據(jù)包轉(zhuǎn)發(fā)到播放緩沖鏈路中之前等待緩沖區(qū)占用達(dá)到50 %,會引入一定的延遲。如果差分延遲小于50 %的緩沖區(qū)占用對應(yīng)的業(yè)務(wù)量,則該延遲可能是大于提供無中斷的故障切換所需要的延遲。對于延遲敏感的應(yīng)用,因此總是推薦在連接建立之后強(qiáng)行中斷,使得緩沖量能夠得以最佳化,并且因此延遲能夠得以最優(yōu)化。
[0044]正如上面所提到的,為了減小節(jié)點(diǎn)到節(jié)點(diǎn)通信中的抖動/漂移,可以采用不同的發(fā)送速率機(jī)制,這將在本文下方針對本發(fā)明的方法的實(shí)施例進(jìn)行描述。
[0045]根據(jù)本方法的一個實(shí)施例,為了減小節(jié)點(diǎn)到節(jié)點(diǎn)通信中的抖動/漂移,對播放緩沖區(qū)的數(shù)據(jù)包發(fā)送速率進(jìn)行控制,以便維持在與數(shù)據(jù)包到達(dá)接收節(jié)點(diǎn)的速率相同的播放緩沖區(qū)發(fā)送速率?,F(xiàn)在參 照圖6,本方法進(jìn)一步包括:在接收節(jié)點(diǎn)NI處并且針對每個接收到的數(shù)據(jù)包,記錄數(shù)據(jù)包間的到達(dá)時間。每當(dāng)數(shù)據(jù)包到達(dá)鏈路A或B,選擇單元110中的循環(huán)計數(shù)器60將被啟動,并且當(dāng)下一個數(shù)據(jù)包到達(dá)時,該循環(huán)計數(shù)器的值被記錄并且與該到達(dá)的數(shù)據(jù)包相關(guān)聯(lián)。也就是說,在接收節(jié)點(diǎn)NI處,每條鏈路上到達(dá)的數(shù)據(jù)包之間的循環(huán)次數(shù)被記錄。進(jìn)一步地,基于所記錄的數(shù)據(jù)包間的到達(dá)時間數(shù)據(jù),轉(zhuǎn)發(fā)數(shù)據(jù)流時的輸出速率是例如通過針對具有某一序號的首先接收到的數(shù)據(jù)包,選擇數(shù)據(jù)包間的到達(dá)時間數(shù)據(jù)來確定的,參見下面的例子。所確定的時間被稱為發(fā)送延遲d。一旦一個數(shù)據(jù)包變成了隊列的頭(如圖6中的頭ptr所表示)并且準(zhǔn)備被發(fā)出,在該數(shù)據(jù)包被發(fā)出之前,在由發(fā)送延遲d所指示的循環(huán)次數(shù)內(nèi)保持該數(shù)據(jù)包。該機(jī)制確保了數(shù)據(jù)包以與它們到達(dá)時的速率相同的速率被發(fā)出。發(fā)送延遲序列Ta能夠被用來描述一條鏈路的數(shù)據(jù)包的發(fā)送延遲特性:
[0046]Ta鏈路=[d鏈路(n), d鏈路(n+1),…d鏈路(N)]。
[0047]根據(jù)本方法的實(shí)施例,輸出速率是逐個數(shù)據(jù)包來確定的,使得對于特定緩沖區(qū)索引bn的數(shù)據(jù)包,輸出速率是基于接收到的數(shù)據(jù)包中具有與該特定緩沖區(qū)索引相對應(yīng)的標(biāo)識符的那個數(shù)據(jù)包的發(fā)送延遲d來選擇的??紤]三條傳入鏈路A、B、D (未示出)。對于具有序號n+3的數(shù)據(jù)包,至多確定三個發(fā)送延遲
(n+3)、(n+3)、(n+3), 并且在該數(shù)據(jù)包被發(fā)送到
外向鏈路C上時,dB(n+3)被選為針對該數(shù)據(jù)包的發(fā)送延遲。對于具有序號n+4的下一個數(shù)據(jù)包,至多確定三個發(fā)送延遲dA(n+4)、dB(n+4)、dD(n+4),并且在該數(shù)據(jù)包被發(fā)送到外向鏈路C上時,dD(n+4)被選為針對該數(shù)據(jù)包的發(fā)送延遲。對于具有序號n+5的下一個數(shù)據(jù)包,至多確定三個發(fā)送延遲dA(n+5)、
(n+5)、dD (n+5), 并且這里的dA(n+5)被選擇。針對這三個數(shù)據(jù)包所導(dǎo)致的播放緩沖區(qū)的發(fā)送延遲序列因此對應(yīng)于:
[0048]Tac — [..dB(n+3)], dD(n+4), dA(n+5)...]。
[0049]根據(jù)本方法的一個實(shí)施例,轉(zhuǎn)發(fā)來自接收節(jié)點(diǎn)的數(shù)據(jù)流時的輸出速率是基于來自這些傳入鏈路中的其中一條的所記錄的數(shù)據(jù)包間到達(dá)時間來選擇的??紤]幾乎同步的兩條鏈路A和B,即這兩條鏈路A和B上到達(dá)的數(shù)據(jù)包的序號彼此非常接近,但是在到達(dá)率方面,這些鏈路包含一定的可變性。如果在逐個數(shù)據(jù)包的基礎(chǔ)上確定發(fā)送延遲,那么這種情況的結(jié)果可以是在這兩條鏈路之間高度交叉的一個播放緩沖區(qū)。因此,鏈路C的發(fā)送速率特性可以很明顯地不同于各自的鏈路A和B上到達(dá)的數(shù)據(jù)流中的任一個數(shù)據(jù)包的發(fā)送速率。例如,來自鏈路A的數(shù)據(jù)包到達(dá)選擇單元110,產(chǎn)生一個確定的發(fā)送延遲序列=T3a =[15,2,15,2,15]。進(jìn)一步地,來自鏈路B的數(shù)據(jù)包到達(dá),產(chǎn)生一個確定的發(fā)送延遲序列:TaB=[2,15,2,15,2]。讓我們假設(shè)這些鏈路都是幾乎同步的,并且我們得到一個播放緩沖鏈路,在該播放緩沖鏈路中,每隔一個數(shù)據(jù)包是從交替的鏈路中挑選出的。針對該播放緩沖區(qū)的發(fā)送延遲序列于是變成了 TaB= [15,15,15,15,15],這產(chǎn)生了針對鏈路C中轉(zhuǎn)發(fā)的數(shù)據(jù)流的發(fā)送速率,該發(fā)送速率非常不同于鏈路A或B中的數(shù)據(jù)流中的數(shù)據(jù)包的到達(dá)速率。這可能是不期望的。這里,這是通過允許這些鏈路中的其中一條鏈路稱為主定時鏈路來解決的。例如,滯后的鏈路被選為主定時鏈路。該主定時鏈路然后重寫有效播放緩沖區(qū)條目的發(fā)送延遲。由于緩沖,這將允許播放緩沖鏈路得到與該滯后的鏈路相同的延遲序列。發(fā)送延遲序列于是變成了 Tac = [15,2,15,2,15]或[2,15,2,15,2],這導(dǎo)致了數(shù)據(jù)流在鏈路C中被轉(zhuǎn)發(fā)的發(fā)送速率與鏈路A或B中的數(shù)據(jù)流中的數(shù)據(jù)包的到達(dá)速率對應(yīng)相同。將哪條鏈路作為主定時鏈路可以基于例如下面的標(biāo)準(zhǔn)來進(jìn)行選擇:出現(xiàn)的第一條鏈路、超前于其他鏈路的鏈路、基于鏈路穩(wěn)定性的歷史信息的鏈路、或者是基于上述標(biāo)準(zhǔn)的任意組合的鏈路。
[0050] 進(jìn)一步有利地,本發(fā)明的方法能夠被用于實(shí)現(xiàn)網(wǎng)絡(luò)中的中間節(jié)點(diǎn)的無中斷節(jié)點(diǎn)升級?,F(xiàn)在參照圖7,其示出了當(dāng)本方法被用于在無中斷方式中斷開網(wǎng)絡(luò)中的一個節(jié)點(diǎn)時(例如,為了升級該節(jié)點(diǎn)),根據(jù)本發(fā)明的節(jié)點(diǎn)到節(jié)點(diǎn)通信系統(tǒng)700的一個實(shí)施例。在正常業(yè)務(wù)期間,第一節(jié)點(diǎn)NO經(jīng)由中間節(jié)點(diǎn)NI被連接到第二節(jié)點(diǎn)NI?,F(xiàn)在,節(jié)點(diǎn)NI需要在不中斷業(yè)務(wù)的情況下臨時地從網(wǎng)絡(luò)中斷開。這通過下面的方式來實(shí)現(xiàn):從第一節(jié)點(diǎn)NO增加一條冗余鏈路NS到第二節(jié)點(diǎn)NI,從而對節(jié)點(diǎn)NI進(jìn)行旁路,以便進(jìn)行升級。正如前面所描述的,數(shù)據(jù)流11在第一節(jié)點(diǎn)NO被復(fù)制,并且現(xiàn)在經(jīng)由該中間節(jié)點(diǎn)NI和該冗余鏈路NS被發(fā)送到第二節(jié)點(diǎn)NI。一旦連接被確認(rèn)是無中斷的,中間節(jié)點(diǎn)NI上的原始連接就能夠被拆除,并且中間節(jié)點(diǎn)NI就能夠被升級了。一旦被升級完,NI上的原始連接就被恢復(fù),并且一旦被確認(rèn)是無中斷的,該冗余的旁路連接NS就能夠被移除。該機(jī)制提供了在不中斷業(yè)務(wù)的情況下拆除需要維護(hù)的節(jié)點(diǎn)的能力。
[0051]如圖8所示,本方法和系統(tǒng)可以有利地被用于多播系統(tǒng)中連接的無中斷的斷開。首先參見圖8a,多播節(jié)點(diǎn)NM的分支遍布多播節(jié)點(diǎn)到節(jié)點(diǎn)通信網(wǎng)絡(luò),并且這里被連接到第一節(jié)點(diǎn)NO、第二節(jié)點(diǎn)NI和第三節(jié)點(diǎn)N2。為了提供該多播節(jié)點(diǎn)NM的無中斷的連接,例如為了升級該節(jié)點(diǎn),現(xiàn)在參見圖8b,—條冗余鏈路NS被增加在該第一節(jié)點(diǎn)和該第三節(jié)點(diǎn)之間。隨后,多播從第一節(jié)點(diǎn)NO到第二節(jié)點(diǎn)NI并且從第一節(jié)點(diǎn)NO到第三節(jié)點(diǎn)N2 (在冗余鏈路NS)被建立。一旦兩條連接都被確認(rèn)是無中斷的,則該多播節(jié)點(diǎn)NM能夠被拆除并且被升級。一旦被升級完,匪上的原始連接被恢復(fù),并且一旦被確認(rèn)是無中斷的,該冗余的旁路連接NS就能夠被移除,并且來自第一節(jié)點(diǎn)NO的多播信道被拆除。
[0052]通過適于執(zhí)行本發(fā)明的本方法的軟件模塊(未示出),本發(fā)明的方法的實(shí)施例優(yōu)選地被實(shí)施在節(jié)點(diǎn)到節(jié)點(diǎn)通信中。該軟件模塊可以被集成在一個包括適當(dāng)?shù)奶幚砟K和存儲器模塊的節(jié)點(diǎn)內(nèi),或者可以被實(shí)施在一個包括適當(dāng)?shù)奶幚砟K和存儲器模塊外部設(shè)備中,并且該外部設(shè)備被布置成與現(xiàn)有節(jié)點(diǎn)互連。
[0053]本領(lǐng)域技術(shù)人員意識到本發(fā)明決不被局限于以上描述的實(shí)施例。相反地,在所附的權(quán)利要求書的范圍內(nèi),很多修改和變型都是可能的。進(jìn)一步地,必須要注意的是,本發(fā)明的方法適用于節(jié)點(diǎn)到節(jié)點(diǎn)通信和任何適當(dāng)網(wǎng)絡(luò)中的無中斷的節(jié)點(diǎn)升級,同樣適用在同步網(wǎng)絡(luò)中。
【權(quán)利要求】
1.一種用于節(jié)點(diǎn)到節(jié)點(diǎn)通信的方法,包括: 為待傳送的數(shù)據(jù)流(11)中的每個數(shù)據(jù)包提供各自的標(biāo)識符; 在至少兩條鏈路(A、B)上將所述數(shù)據(jù)流的經(jīng)復(fù)制的數(shù)據(jù)從發(fā)送節(jié)點(diǎn)(NO)傳遞到接收節(jié)點(diǎn)(NI);在所述接收節(jié)點(diǎn)處: 接收并且緩沖來自所述至少兩條鏈路的數(shù)據(jù)包,以便后續(xù)對所述數(shù)據(jù)流進(jìn)行轉(zhuǎn)發(fā); 其中,所述標(biāo)識符對應(yīng)于數(shù)據(jù)包在所述數(shù)據(jù)流中的相對位置,并且其中,所述緩沖的步驟包括:使用從所述至少兩條鏈路中的至少一條鏈路接收的數(shù)據(jù)包,在公用索引緩沖區(qū)中重構(gòu)所述數(shù)據(jù)流的預(yù)定部分。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述重構(gòu)的步驟包括: 僅選擇所接收到的具有特定標(biāo)識符的一個數(shù)據(jù)包,以用于寫入所述緩沖區(qū)中的每個索引位置。
3.根據(jù)權(quán)利要求1或2所述的方法,進(jìn)一步包括: 針對每個所接收到的數(shù)據(jù)包, 基于所接收到的數(shù)據(jù)包的標(biāo)識符來確定相應(yīng)的緩沖區(qū)索引; 基于所確定的緩沖區(qū)索引來檢驗數(shù)據(jù)是否已經(jīng)被寫入所述相應(yīng)的緩沖區(qū)索引的位置,并且如果數(shù)據(jù)沒有被寫入所 述相應(yīng)的緩沖區(qū)索引的位置,則將所接收到的數(shù)據(jù)包或者與所接收到的數(shù)據(jù)包相對應(yīng)的指針寫入所確定的緩沖區(qū)索引的位置。
4.根據(jù)權(quán)利要求2或3所述的方法,其中,支持同時選擇所接收到的數(shù)據(jù)包并寫入所述緩沖區(qū),所接收到的數(shù)據(jù)包具有不同的標(biāo)識符并且在不同的鏈路上被接收。
5.根據(jù)權(quán)利要求2至4中任一項所述的方法,進(jìn)一步包括:針對每個所接收到的數(shù)據(jù)包,設(shè)置與經(jīng)確定的緩沖區(qū)索引(bn)和鏈路(Α、Β、...、Ν)相對應(yīng)的有效位條目(VA、VB、...、VN)。
6.根據(jù)權(quán)利要求5所述的方法,進(jìn)一步包括:基于所述有效位條目來監(jiān)視所述節(jié)點(diǎn)到節(jié)點(diǎn)通信的當(dāng)前冗余。
7.根據(jù)權(quán)利要求5或6所述的方法,進(jìn)一步包括:將在一所接收到的數(shù)據(jù)包被記錄之后到達(dá)的具有相同標(biāo)識符的任何所接收到的數(shù)據(jù)包丟棄。
8.根據(jù)前述權(quán)利要求中任一項所述的方法,進(jìn)一步包括: 在所述接收節(jié)點(diǎn)處,針對每個所接收到的數(shù)據(jù)包: 記錄數(shù)據(jù)包間到達(dá)時間; 其中,所述數(shù)據(jù)流的轉(zhuǎn)發(fā)是以一輸出速率來進(jìn)行的,所述輸出速率基于所記錄的數(shù)據(jù)包間到達(dá)時間數(shù)據(jù)來確定。
9.根據(jù)權(quán)利要求8所述的方法,其中,所述輸出速率是逐個數(shù)據(jù)包來確定的,使得對于特定緩沖區(qū)索引的數(shù)據(jù)包,所述輸出速率是基于所接收到的數(shù)據(jù)包中具有與所述特定緩沖區(qū)索引相對應(yīng)的標(biāo)識符的那個數(shù)據(jù)包的所記錄的數(shù)據(jù)包間到達(dá)時間來選擇的。
10.根據(jù)權(quán)利要求8所述的方法,其中,轉(zhuǎn)發(fā)所述數(shù)據(jù)流時的所述輸出速率是基于來自所述至少兩條鏈路中的其中一條鏈路的所記錄的數(shù)據(jù)包間到達(dá)時間來選擇的。
11.根據(jù)前述權(quán)利要求中任一項所述的方法,其中,所述數(shù)據(jù)流的轉(zhuǎn)發(fā)是從已經(jīng)在至少兩條鏈路上接收到所述數(shù)據(jù)流中的第一數(shù)據(jù)包之后的一段預(yù)定時間開始的。
12.根據(jù)前述權(quán)利要求中任一項所述的方法,其中,所述方法被用于中間節(jié)點(diǎn)的無中斷的斷開,所述中間節(jié)點(diǎn)布置在所述至少兩條鏈路的其中一條鏈路中。
13.—種通信網(wǎng)絡(luò)中的節(jié)點(diǎn),其包括用以執(zhí)行根據(jù)前述權(quán)利要求中任一項所述的用于節(jié)點(diǎn)到節(jié)點(diǎn)通信的方法的裝置。
14.一種軟件模塊,其用于在被計算機(jī)處理器執(zhí)行時,實(shí)施根據(jù)前述權(quán)利要求中的其中一項所述 的方法。
【文檔編號】H04L1/22GK104040932SQ201380004762
【公開日】2014年9月10日 申請日期:2013年1月16日 優(yōu)先權(quán)日:2012年1月17日
【發(fā)明者】G·讓格, 馬丁·卡爾森 申請人:網(wǎng)絡(luò)洞察力知識產(chǎn)權(quán)公司