專利名稱:處理傳輸分組的制作方法
處理傳輸分組發(fā)明領(lǐng)域本發(fā)明涉及對傳輸分組的處理。特別地,本發(fā)明涉及在中繼節(jié)點上處理運送(i)形成數(shù)據(jù)流的數(shù)據(jù)流單元以及(ii)與數(shù)據(jù)流單元相關(guān)的校正數(shù)據(jù)單元的傳輸分組。
背景技術(shù):
當(dāng)在兩個節(jié)點之間傳送由數(shù)據(jù)流單元形成的數(shù)據(jù)流時,所述數(shù)據(jù)流可作為多個傳輸分組來傳送。在傳輸分組中可以包含冗余的校正數(shù)據(jù),以使目的地節(jié)點校正在傳送所述傳輸分組的過程中出現(xiàn)的差錯。例如,前向糾錯(FEC)數(shù)據(jù)可以與數(shù)據(jù)單元一起包含在傳輸分組中。所述FEC數(shù)據(jù)是允許在一定程度上恢復(fù)丟失的傳輸分組中的數(shù)據(jù)單元的冗余數(shù)據(jù)。FEC數(shù)據(jù)可以在單獨的傳輸分組中傳送,其中所述單獨的傳輸分組被交織在數(shù)據(jù)流中或是添加至包含數(shù)據(jù)單元本身的傳輸分組凈荷之中。與媒體無關(guān)的FEC是通過在兩個或更多凈荷的比特中添加冗余度來發(fā)揮作用的。它的一個示例是僅僅通過對數(shù)據(jù)流中的多個數(shù)據(jù)單元執(zhí)行異或(XOR)運算來創(chuàng)建冗余信息。如果在向目的地的傳送過程中丟失了凈荷,那么 可以在目的地節(jié)點上一起使用經(jīng)過異或的信息(即FEC數(shù)據(jù))以及其他傳輸分組的凈荷(即未丟失的傳輸分組)來重新創(chuàng)建丟失的凈荷。在因特網(wǎng)之類的公眾網(wǎng)絡(luò)上,數(shù)據(jù)傳輸?shù)膹V度正在快速增長。由此,為了確??煽康臄?shù)據(jù)傳送,糾錯機制變得越發(fā)重要。本發(fā)明試圖改善用于在傳送節(jié)點與目的地節(jié)點之間的數(shù)據(jù)傳送的糾錯。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的第一個方面,提供了一種用于處理傳輸分組的方法,其中該傳輸分組運送(i)形成數(shù)據(jù)流的數(shù)據(jù)流單元以及(ii)與數(shù)據(jù)流單元相關(guān)的校正數(shù)據(jù)單元,每一個傳輸分組都包含用于識別傳輸分組中的單元的內(nèi)容的信息,所述方法包括在中繼節(jié)點上接收傳輸分組,其中在中繼節(jié)點上接收的傳輸分組中的數(shù)據(jù)流單元不足以構(gòu)成數(shù)據(jù)流;使用接收到的傳輸分組中的校正數(shù)據(jù)單元以及數(shù)據(jù)流單元中的至少一些來產(chǎn)生替換數(shù)據(jù)流單元,以便在中繼節(jié)點上基本恢復(fù)數(shù)據(jù)流;在中繼節(jié)點上,將已被基本恢復(fù)的數(shù)據(jù)流中的數(shù)據(jù)流單元與校正數(shù)據(jù)單元一起分組化,以便形成從中繼節(jié)點傳送的輸出傳輸分組;以及從中繼節(jié)點傳送所述輸出傳輸分組。根據(jù)本發(fā)明的第二個方面,提供了一種用于處理傳輸分組的中繼節(jié)點,其中該傳輸分組運送(i)形成數(shù)據(jù)流的數(shù)據(jù)流單元以及(ii)與數(shù)據(jù)流單元相關(guān)的校正數(shù)據(jù)單元,每一個傳輸分組都包含用于識別傳輸分組中的單元的內(nèi)容的信息,所述中繼節(jié)點包括接收裝置,用于接收傳輸分組,其中在中繼節(jié)點上接收的傳輸分組中的數(shù)據(jù)流單元不足以構(gòu)成數(shù)據(jù)流;生成裝置,用于使用接收到的傳輸分組中的校正數(shù)據(jù)單元和數(shù)據(jù)流單元中的至少一些來產(chǎn)生替換數(shù)據(jù)流單元,以便在中繼節(jié)點上基本恢復(fù)所述數(shù)據(jù)流;分組化裝置,用于在中繼節(jié)點上將已被基本恢復(fù)的數(shù)據(jù)流中的數(shù)據(jù)流單元與校正數(shù)據(jù)單元一起分組化,以便形成從中繼節(jié)點傳送的輸出傳輸分組;以及傳送裝置,用于從中繼節(jié)點傳送所述輸出傳輸分組。根據(jù)本發(fā)明的第三個方面,提供了一種計算機程序產(chǎn)品,包括可供中繼節(jié)點上的計算機處理裝置運行以處理傳輸分組的計算機可讀指令,其中該傳輸分組運送(i)形成數(shù)據(jù)流的數(shù)據(jù)流單元以及(ii )與數(shù)據(jù)流單元相關(guān)的校正數(shù)據(jù)單元,每一個傳輸分組都包含用于識別傳輸分組中的單元的內(nèi)容的信息,所述指令包括用于實施以下處理的指令在中繼節(jié)點上接收傳輸分組,其中在中繼節(jié)點上接收的傳輸分組中的數(shù)據(jù)流單元不足以構(gòu)成數(shù)據(jù)流;使用接收到的傳輸分組中的校正數(shù)據(jù)單元以及數(shù)據(jù)流單元中的至少一些來產(chǎn)生替換數(shù)據(jù)流單元,以便在中繼節(jié)點上基本恢復(fù)數(shù)據(jù)流;在中繼節(jié)點上,將已被基本恢復(fù)的數(shù)據(jù)流中的數(shù)據(jù)流單元與校正數(shù)據(jù)單元一起分組化,以便形成從中繼節(jié)點傳送的輸出傳輸分組;以及從中繼節(jié)點傳送所述輸出傳輸分組?!ぴ趦?yōu)選實施例中,數(shù)據(jù)流單元是加密的數(shù)據(jù)流單元。此外,在優(yōu)選實施例中,中繼節(jié)點不對所接收的傳輸分組的單元執(zhí)行任何解密。優(yōu)選地,校正數(shù)據(jù)單元是前向糾錯(FEC)數(shù)據(jù)單元。所述FEC數(shù)據(jù)單元優(yōu)選是與媒體無關(guān)的FEC數(shù)據(jù)單元。出于眾多原因,加密那些在兩個節(jié)點之間的傳輸分組中發(fā)送的數(shù)據(jù)單元,以使所述數(shù)據(jù)只能被一個或多個預(yù)定目的地節(jié)點重現(xiàn)(retrieve),那么將會是非常有利的。舉例來說,這可能是因為所述數(shù)據(jù)是敏感數(shù)據(jù)和/或因為所述數(shù)據(jù)是在兩個節(jié)點之間的不安全網(wǎng)絡(luò)上傳送的。在現(xiàn)有技術(shù)的系統(tǒng)中,在兩個節(jié)點之間發(fā)送傳輸分組之前,所述傳輸分組的凈荷可被加密。對于數(shù)據(jù)傳送領(lǐng)域的技術(shù)人員而言,加密機制是已知的。正如本領(lǐng)域已知的那樣,在目的地節(jié)點上將會使用與傳送節(jié)點上用以加密凈荷的加密機制相對應(yīng)的解密機制來解密傳輸分組凈荷。由此,在這些現(xiàn)有技術(shù)的系統(tǒng)中,為了使用FEC數(shù)據(jù)來實現(xiàn)糾錯,在目的地節(jié)點上將會解密傳輸分組凈荷,以便重現(xiàn)加密的數(shù)據(jù)以及FEC數(shù)據(jù)。如果在傳送節(jié)點與目的地節(jié)點之間傳送傳輸分組的過程中丟失了傳輸分組,那么目的地節(jié)點可以使用FEC數(shù)據(jù)來實現(xiàn)糾錯,以便恢復(fù)傳輸分組中的丟失數(shù)據(jù)。在目的地節(jié)點上可以組合使用FEC數(shù)據(jù)以及所接收的至少一個傳輸分組中的數(shù)據(jù),以便恢復(fù)丟失數(shù)據(jù)分組中的數(shù)據(jù)單元。發(fā)明人認(rèn)識到,傳送節(jié)點與目的地節(jié)點之間的數(shù)據(jù)傳送路由也行不是直接的。通常,有必要經(jīng)由一個或多個中繼節(jié)點來傳送數(shù)據(jù)。從這個意義上講,數(shù)據(jù)傳送可以包括網(wǎng)絡(luò)中的多“跳”。每一跳都有可能在數(shù)據(jù)流中引入差錯。然而,在現(xiàn)有技術(shù)的系統(tǒng)中,F(xiàn)EC僅僅是在目的地節(jié)點上實現(xiàn)(舉例來說,其原因在于傳輸分組的凈荷是經(jīng)過加密的,由此使得所述FEC數(shù)據(jù)在執(zhí)行了傳輸分組的解密之后才可用)。發(fā)明人認(rèn)識到,以這種方式加密傳輸分組凈荷意味著必須解密傳輸分組凈荷,以便使用FEC數(shù)據(jù)來恢復(fù)包含數(shù)據(jù)流的數(shù)據(jù)單元的任何丟失傳輸分組。傳送節(jié)點和目的地節(jié)點必須能夠解密傳輸分組凈荷。然而,中繼節(jié)點可能不能解密傳輸分組的凈荷,其原因在于這需要中繼節(jié)點上具有解密機制的開銷,而這有可能被認(rèn)為是過度的。此外,中繼節(jié)點操作的一個重要目標(biāo)是減少可能在數(shù)據(jù)傳送中引入的任何延遲,因此,可能不希望中繼節(jié)點對傳輸分組執(zhí)行任何解密操作。中繼節(jié)點可能不能解密傳輸分組的另一個原因在于中繼節(jié)點通常是不受信任的。因此,在現(xiàn)有技術(shù)的系統(tǒng)中,中繼節(jié)點不會解密傳輸分組來重現(xiàn)FEC數(shù)據(jù)。這樣一來,在現(xiàn)有技術(shù)的系統(tǒng)中,中繼節(jié)點不會實現(xiàn)任何糾錯。發(fā)明人認(rèn)識到,由于傳輸分組可能會在每一跳的數(shù)據(jù)傳送中丟失(例如在傳送節(jié)點-中繼節(jié)點這一跳;在中繼節(jié)點-中繼節(jié)點這一跳;或者在中繼節(jié)點-目的地節(jié)點這一跳),因此,在數(shù)據(jù)傳送的中繼節(jié)點上實現(xiàn)糾錯可能是有利的。這可以成為在目的地節(jié)點上實現(xiàn)的糾錯的補充。對于傳輸分組中的數(shù)據(jù)流單元來說,保持加密來確保數(shù)據(jù)在數(shù)據(jù)傳送過程中的安全可能是非常重要的。然而,發(fā)明人認(rèn)識到,為了使中繼節(jié)點執(zhí)行糾錯,可以使用傳輸分組中的校正數(shù)據(jù)單元來恢復(fù)丟失的數(shù)據(jù)流單元,而不用在中繼節(jié)點上執(zhí)行任何解LU O
非常有利的是,根據(jù)本發(fā)明的實施例,丟失數(shù)據(jù)流單元的恢復(fù)在中繼節(jié)點上執(zhí)行, 而不僅僅是在數(shù)據(jù)傳送的目的地節(jié)點上執(zhí)行。由此,在經(jīng)由網(wǎng)絡(luò)進行的數(shù)據(jù)傳送的每一跳之后,丟失的數(shù)據(jù)流單元都可以得以恢復(fù)。這樣一來,所述恢復(fù)只需要恢復(fù)那些在前一跳中丟失的傳輸分組。這樣做會導(dǎo)致多跳數(shù)據(jù)傳送中丟失傳輸分組的比率降低。這與現(xiàn)有技術(shù)形成了對比,在現(xiàn)有技術(shù)中,僅僅在目的地節(jié)點上執(zhí)行恢復(fù),并且所述目的地節(jié)點嘗試恢復(fù)那些在經(jīng)由網(wǎng)絡(luò)的多跳中的任一跳上丟失的傳輸分組。與現(xiàn)有技術(shù)的系統(tǒng)相比,本發(fā)明的實施例能夠恢復(fù)更多的丟失傳輸分組。例如,在第一跳(例如傳送節(jié)點-中繼節(jié)點這一跳) 丟失的傳輸分組可以在中繼節(jié)點上得到恢復(fù),并且被恢復(fù)的這些傳輸分組可以用于在第二跳(例如中繼節(jié)點-目的地節(jié)點這一跳)之后恢復(fù)在第二跳上丟失的傳輸分組。如果沒有在中繼節(jié)點上恢復(fù)第一跳丟失的傳輸分組,那么在目的地節(jié)點上可能將無法恢復(fù)第二跳丟失的諸多傳輸分組。
為了更好地理解本發(fā)明以及顯示如何實施本發(fā)明,現(xiàn)在將通過舉例的方式參考以下附圖,其中圖I是根據(jù)優(yōu)選實施例的數(shù)據(jù)傳送系統(tǒng)的示意圖;圖2是表示根據(jù)優(yōu)選實施例的傳送節(jié)點的框圖;圖3是根據(jù)優(yōu)選實施例的數(shù)據(jù)分組的示意表示;圖4是表示根據(jù)優(yōu)選實施例的中繼節(jié)點的框圖; 圖5顯示了根據(jù)優(yōu)選實施例來處理數(shù)據(jù)流的數(shù)據(jù)分組的過程的流程圖;以及圖6是表示根據(jù)優(yōu)選實施例的目的地節(jié)點的框圖。
具體實施方式
首先參考圖1,該圖示出了通信系統(tǒng)100。通信系統(tǒng)100可以是對等(P2P)通信系統(tǒng)。作為替換,其他類型的通信系統(tǒng)也是可以使用的,例如非P2P系統(tǒng)。通信系統(tǒng)100包括傳送節(jié)點102、中繼節(jié)點108以及目的地節(jié)點114。傳送節(jié)點102可以將數(shù)據(jù)傳送至中繼節(jié)點108,例如經(jīng)由因特網(wǎng)之類的網(wǎng)絡(luò)來傳送。中繼節(jié)點108可以例如經(jīng)由因特網(wǎng)之類的網(wǎng)絡(luò)來將數(shù)據(jù)傳送到目的地節(jié)點114。由此,傳送節(jié)點102可以經(jīng)由中繼節(jié)點108來將數(shù)據(jù)傳送至目的地節(jié)點114。應(yīng)該指出的是,雖然圖I只顯示了一個中繼節(jié)點108,但在其他實施例中也可以存在一個以上的中繼節(jié)點,并且傳送節(jié)點102可以經(jīng)由一個以上的中繼節(jié)點來將數(shù)據(jù)傳送至目的地節(jié)點114。例如,傳送節(jié)點102、中繼節(jié)點108和目的地節(jié)點114中的每一個可以是移動電話、個人數(shù)字助理(“PDA”)、個人計算機(“PC”)(例如包括WindoWSTM、Mac OS 以及Linux PC)、游戲設(shè)備或是其他那些能與系統(tǒng)100中的其他節(jié)點通信的嵌入式設(shè)備。
傳送節(jié)點102包括本領(lǐng)域已知的用于處理數(shù)據(jù)的中央處理單元(“CPU”)104以及用于傳送和接收往來于網(wǎng)絡(luò)的數(shù)據(jù)的網(wǎng)絡(luò)接口 106,例如將數(shù)據(jù)傳送至中繼節(jié)點108。中繼節(jié)點108包括本領(lǐng)域已知的用于處理數(shù)據(jù)的CPU 110以及用于傳送和接收往來于網(wǎng)絡(luò)的數(shù)據(jù)的網(wǎng)絡(luò)接口 112,例如將數(shù)據(jù)傳送至目的地節(jié)點114以及接收來自傳送節(jié)點102的數(shù)據(jù)。 目的地節(jié)點114包括本領(lǐng)域已知的用于處理數(shù)據(jù)的CPU 116以及用于傳送和接收往來于網(wǎng)絡(luò)的數(shù)據(jù)的網(wǎng)絡(luò)接口 118,例如接收來自中繼節(jié)點108的數(shù)據(jù)。
圖2顯示了傳送節(jié)點102內(nèi)部的部件。如圖2所示,傳送節(jié)點102包括編碼器202、 加密部件204、數(shù)據(jù)流分組化器206、FEC部件208以及傳輸分組化器210。編碼器202的輸出耦合至加密部件204的輸入。加密部件204的輸出耦合至數(shù)據(jù)流分組化器206的輸入。 數(shù)據(jù)流分組化器206的輸出耦合至FEC部件208的輸入。FEC部件208的輸出以及數(shù)據(jù)流分組化器的輸出耦合至傳輸分組化器210的輸入。圖2所示的部件202-210可以通過軟件實現(xiàn)并由傳送節(jié)點102的CPU 104運行。作為替換,圖2所示的部件202-210可以被實現(xiàn)為傳送節(jié)點102上的硬件部件。
在操作中,傳送節(jié)點102有數(shù)據(jù)要經(jīng)由中繼節(jié)點108傳送至目的地節(jié)點114。如圖 2所示,所述數(shù)據(jù)被輸入編碼器202。正如本領(lǐng)域已知的那樣,編碼器202對數(shù)據(jù)(例如采樣的音頻數(shù)據(jù))執(zhí)行編碼。不同類型的數(shù)據(jù)可以用不同方式編碼。例如,當(dāng)所要傳送的數(shù)據(jù)是語音數(shù)據(jù)時,在編碼器202中可以使用特定的語音編碼算法。同樣,如果所要傳送的數(shù)據(jù)是視頻數(shù)據(jù),那么編碼器202可以用特定的視頻編碼算法來編碼視頻數(shù)據(jù)。在編碼器202中實現(xiàn)的確切編碼機制在本領(lǐng)域是已知的,并且對本發(fā)明而言并不重要。編碼器202的輸出是經(jīng)過編碼的比特流(或“數(shù)據(jù)流”),并且所述比特流將被輸入至加密部件204。
在加密部件204中,數(shù)據(jù)流被加密。正如本領(lǐng)域已知的那樣,在加密部件204中可以實現(xiàn)多種不同加密機制之一來加密數(shù)據(jù)。一旦將加密數(shù)據(jù)傳送至目的地節(jié)點114,則目的地節(jié)點114能夠解密所述加密數(shù)據(jù)。為此目的,加密部件204可以使用一種約定用于在傳送節(jié)點102與目的地節(jié)點114之間傳送數(shù)據(jù)的加密機制。一種可以在加密部件204上使用的可能加密機制是共享私鑰(對稱)加密,其中加密數(shù)據(jù)只能用正確密鑰解密。公鑰 密碼術(shù)可用于將共享密鑰傳送至目的地節(jié)點。優(yōu)選地,只有目的地節(jié)點114可以訪問用于解密數(shù)據(jù)的正確密鑰。這樣一來,只有在預(yù)定的目的地節(jié)點114上才能恢復(fù)數(shù)據(jù)。當(dāng)在傳送節(jié)點102 與目的地節(jié)點114之間傳送數(shù)據(jù)時,這樣做可以確保數(shù)據(jù)是安全的。即使有人攔截了數(shù)據(jù)傳送,他們也不能在不能訪問正確密鑰的情況下解密那些經(jīng)過加密的數(shù)據(jù)。應(yīng)該指出的是, 如果數(shù)據(jù)傳送是多播數(shù)據(jù)傳送(也就是有一個以上的目的地節(jié)點),那么每一個目的地節(jié)點 114均可訪問用于解密數(shù)據(jù)的適當(dāng)密鑰。
經(jīng)過加密的數(shù)據(jù)流從加密部件204輸出并輸入至數(shù)據(jù)流分組化器206。數(shù)據(jù)流分組化器206將經(jīng)過加密的數(shù)據(jù)流拆分成數(shù)據(jù)流單元。所述數(shù)據(jù)流單元則構(gòu)成了數(shù)據(jù)流。數(shù)據(jù)流單元在數(shù)據(jù)流中具有序列號,由此可以通過依照數(shù)據(jù)流單元的序列號來組織所述數(shù)據(jù)流單元,從而用數(shù)據(jù)流單元來形成數(shù)據(jù)流。
數(shù)據(jù)流單元從數(shù)據(jù)流分組化器206輸出并輸入至FEC部件208。FEC部件208產(chǎn)生用于數(shù)據(jù)流單元的FEC數(shù)據(jù)單元。一種用于產(chǎn)生FEC數(shù)據(jù)單元的方法是對接收自數(shù)據(jù)流分組化器206的加密數(shù)據(jù)流單元執(zhí)行異或(XOR)運算,從而創(chuàng)建冗余的FEC數(shù)據(jù)。所述FEC數(shù)據(jù)單元則會從FEC部件208輸出。
從數(shù)據(jù)流分組化器206輸出的數(shù)據(jù)流單元以及從FEC部件208輸出的FEC數(shù)據(jù)單元將被輸入至傳輸分組化器210。傳輸分組化器210將數(shù)據(jù)流單元和FEC數(shù)據(jù)單元分組化成傳輸分組,以便將其傳送至中繼節(jié)點108。這些單元可以用多種方式排列到傳輸分組中。 例如,傳輸分組化器210可以排列這些單元,以使每一個傳輸分組都包括一個數(shù)據(jù)流單元和一個FEC數(shù)據(jù)單元。作為替換,傳輸分組化器210可以對這些單元進行排列,以使一些傳輸分組包括數(shù)據(jù)流單元,同時其他單獨的傳輸分組包括FEC數(shù)據(jù)單元。傳輸分組化器210可以對這些單元進行排列,以使一些傳輸分組包含多個數(shù)據(jù)流單元。傳輸分組化器210還可以對這些單元進行排列,以使一些傳輸分組包含多個FEC數(shù)據(jù)單元。所述單元在傳輸分組中的確切排列并不重要。然而,每一個傳輸分組都包括用于識別該傳輸分組中的單元的內(nèi)容的信息。中繼節(jié)點108可以使用該信息來確定在每一個傳輸分組中存在哪些單元。例如, 該信息可以包含在傳輸分組的報頭部分中,而所述單元則包含在傳輸分組的凈荷部分中。
如圖2所示,傳輸分組從傳輸分組化器210輸出,然后可以經(jīng)由網(wǎng)絡(luò)接口 106傳送至中繼節(jié)點108。有利的是,F(xiàn)EC數(shù)據(jù)單元是在加密了數(shù)據(jù)流之后產(chǎn)生的,因此,F(xiàn)EC數(shù)據(jù)是基于經(jīng)過加密的數(shù)據(jù)的。由此,不需要執(zhí)行解密來使用FEC數(shù)據(jù),以便恢復(fù)加密的數(shù)據(jù)流單元。發(fā)明人認(rèn)識到,由于FEC數(shù)據(jù)單元與經(jīng)過加密的數(shù)據(jù)流單元相關(guān),因此,以這種方式使用FEC數(shù)據(jù)是不存在安全風(fēng)險的。舉例來說,如果FEC數(shù)據(jù)單元是對兩個加密數(shù)據(jù)流單元執(zhí)行異或運算的結(jié)果,那么,倘若非授權(quán)人員攔截了 FEC數(shù)據(jù)單元,則他們只能恢復(fù)與FEC 數(shù)據(jù)單元相關(guān)的加密數(shù)據(jù)流單元,由此,數(shù)據(jù)流單元仍舊是加密的,并且數(shù)據(jù)傳送的安全性不會受到損害。
圖3顯不了從傳送節(jié)點102傳送時的傳輸分組300的不意表不。傳輸分組300包括報頭302和凈荷304。報頭302包括 指示306,并且凈荷包括數(shù)據(jù)流單元308以及FEC數(shù)據(jù)單元310。圖3的例示傳輸分組包括數(shù)據(jù)流單元308,所述數(shù)據(jù)流單元是經(jīng)過加密的數(shù)據(jù)流單元B以及FEC數(shù)據(jù)單元310,其中所述FEC數(shù)據(jù)單元是對加密數(shù)據(jù)流單元A和B執(zhí)行 XOR運算的結(jié)果。XOR運算被認(rèn)為是一個多自變量函數(shù)(它是單個自變量的恒等函數(shù),例如 XOR(A) =A)ο在本示例中,F(xiàn)EC數(shù)據(jù)單元310是對數(shù)據(jù)流單元A和B執(zhí)行XOR運算的結(jié)果。 數(shù)據(jù)流單元A可以在與圖3所示的傳輸分組不同的傳輸分組中傳送。應(yīng)該指出的是,由于 FEC數(shù)據(jù)單元310是由FEC部件208產(chǎn)生的,因此將FEC數(shù)據(jù)單元310認(rèn)為是FEC數(shù)據(jù)單元。指示306指示凈荷304包含數(shù)據(jù)流單元B 308以及FEC數(shù)據(jù)單元XOR (A,B) 310。這樣一來,所述指示306指示與FEC數(shù)據(jù)單元310相關(guān)的數(shù)據(jù)流中的數(shù)據(jù)流單元(A和B)。所述指示306是以未加密的形式傳送的。如圖3所示,所述指示306是在數(shù)據(jù)分組的未加密報頭302中傳送的。作為替換,指不306可以在凈荷304的未加密部分中傳送。
圖4顯示了中繼節(jié)點108內(nèi)的部件。如圖4所示,中繼節(jié)點108包括緩存器402、 替換數(shù)據(jù)單元生成裝置404、FEC部件406以及傳輸分組化器408。替換數(shù)據(jù)單元生成裝置 404與緩存器402耦合。緩存器402的輸出以及替換數(shù)據(jù)單元生成裝置404的輸出與FEC 部件406的輸入相耦合,并且與傳輸分組化器408的輸入耦合。FEC部件406的輸出耦合至傳輸分組化器408的輸入。圖4所示的部件402-408可以用軟件實現(xiàn)并由中繼節(jié)點108 的CPU 110運行。作為替換,圖4所示的部件402到408可以被實現(xiàn)為中繼節(jié)點108上的硬件部件。
中繼節(jié)點108的操作被參考圖4以及圖5所示的流程圖來描述。在步驟S502,在中繼節(jié)點108上接收從傳送節(jié)點102傳送的傳輸分組。所述傳輸分組是經(jīng)由網(wǎng)絡(luò)接口 112 而在緩存器402上接收的。接收到的傳輸分組被存儲在緩存器402中。
在步驟S504,中繼節(jié)點確定有哪些單元在接收到的傳輸分組中。這可以通過使用傳輸分組300中的指示306實現(xiàn),其中如上所述,所述指示識別傳輸分組中的單元。通過確定中繼節(jié)點已在傳輸分組中接收到哪些單元,所述中繼節(jié)點能夠確定數(shù)據(jù)流中有哪些數(shù)據(jù)流單元(如果有的話)缺失。在確定所接收的傳輸分組中是否丟失了數(shù)據(jù)流的數(shù)據(jù)流單元的過程中,數(shù)據(jù)流單元的序列號可被使用。
在步驟S506,替換數(shù)據(jù)單元生成裝置404產(chǎn)生可用于形成數(shù)據(jù)流的替換數(shù)據(jù)流單元。在步驟S506,使用接收到的傳輸分組中的FEC數(shù)據(jù)單元(結(jié)合接收到的數(shù)據(jù)流單元或是接收到的其他FEC數(shù)據(jù)單元)來產(chǎn)生數(shù)據(jù)流單元。特別地,在替換數(shù)據(jù)單元生成裝置404 中可以使用接收到的FEC數(shù)據(jù)單元來產(chǎn)生沒有在中繼節(jié)點上接收到的數(shù)據(jù)流單元。這樣一來,替換數(shù)據(jù)單元生成裝置404將會導(dǎo)出已在丟失的傳輸分組中丟失的數(shù)據(jù)流單元。通過在替換數(shù)據(jù)單元生成裝置404中產(chǎn)生數(shù)據(jù)流單元,中繼節(jié)點能在該中繼節(jié)點中基本恢復(fù)數(shù)據(jù)流,盡管在中繼節(jié)點108上接收的傳輸分組中的數(shù)據(jù)流單元因為丟失的傳輸分組而不足以構(gòu)成數(shù)據(jù)流。在替換數(shù)據(jù)單元生成裝置404中產(chǎn)生的替換數(shù)據(jù)流單元可以替換已在丟失的傳輸分組中丟失的數(shù)據(jù)流中的數(shù)據(jù)流單元。如果在中繼節(jié)點上接收到足夠的數(shù)據(jù)流單元,那么基本恢復(fù)的數(shù)據(jù)流將會包含數(shù)據(jù)流中的所有數(shù)據(jù)流單元,以使基本恢復(fù)的數(shù)據(jù)流重新構(gòu)成所述數(shù)據(jù)流。然而,如果丟失了過多傳輸分組,那么在中繼節(jié)點108上有可能無法完整地重新構(gòu)造數(shù)據(jù)流。
作為示例,作為對存在于第一傳輸分組之中的數(shù)據(jù)流單元以及丟失傳輸分組的數(shù)據(jù)流單元執(zhí)行XOR運算的結(jié)果,可能已經(jīng)產(chǎn)生第一傳輸分組的FEC數(shù)據(jù)單元。由此,為了恢復(fù)丟失的傳輸分組的數(shù)據(jù)流單元,替換數(shù)據(jù)單元生成裝置404會對第一傳輸分組的FEC數(shù)據(jù)單元以及數(shù)據(jù)流單元執(zhí)行XOR運算,其結(jié)果得到丟失傳輸分組的數(shù)據(jù)流單元。這樣一來, 中繼節(jié)點108已恢復(fù)了丟失傳輸分組的數(shù)據(jù)流單元。應(yīng)該指出的是,即便數(shù)據(jù)流單元是加密的,也可以在中繼節(jié)點上執(zhí)行這種恢復(fù),而不需要中繼節(jié)點執(zhí)行任何解密操作。由此,在中繼節(jié)點108上不會解密那些加密數(shù)據(jù),從而保持了數(shù)據(jù)傳·送的安全性。然而,中繼節(jié)點 108能夠?qū)С鰜G失傳輸分組的加密數(shù)據(jù)流單元,以便減少在目的地節(jié)點114上接收的數(shù)據(jù)流中的差錯的數(shù)量。
作為步驟S504的結(jié)果,由于沒有在所接收的傳輸分組中接收到數(shù)據(jù)流單元,因此,中繼節(jié)點108既可以確定也可以不確定數(shù)據(jù)流中的哪些數(shù)據(jù)流單元丟失。在一些實施例中,替換數(shù)據(jù)單元生成裝置404可以僅僅產(chǎn)生那些已被確定在數(shù)據(jù)流中缺失的數(shù)據(jù)流單元。為了確定數(shù)據(jù)流中的數(shù)據(jù)流單元是否丟失,中繼節(jié)點108可以監(jiān)視所接收的數(shù)據(jù)流單元的序列號。對本領(lǐng)域技術(shù)人員來說,很明顯,用于確定數(shù)據(jù)流單元丟失的其他方式也是可以使用的。根據(jù)所接收的數(shù)據(jù)流單元的序列號,如果存在缺失的數(shù)據(jù)流單元,則表明在數(shù)據(jù)流中有數(shù)據(jù)流單元丟失。接收到的傳輸分組會在緩存器402中保存有限的時間,例如保存預(yù)定時間或者一直保存直到超出存儲器容量。在中繼節(jié)點108上有可能會以失序的方式接收所接收的傳輸分組中的數(shù)據(jù)流單元,舉例來說,這其中的原因有可能是因為傳送節(jié)點102 與中繼節(jié)點108之間的鏈路上的條件,或者因為用以在傳送節(jié)點102的傳輸分組化器1210中將數(shù)據(jù)流單元分組化成傳輸分組的方式。在優(yōu)選實施例中,如果失序接收的數(shù)據(jù)流單元在其預(yù)計到達(dá)中繼節(jié)點的時間的預(yù)定時段以內(nèi)在緩存器402中被接收到(由于其在數(shù)據(jù)流中的位置),那么不會認(rèn)為所述數(shù)據(jù)流單元丟失。而在替換實施例中,失序接收的所有數(shù)據(jù)流單兀都被認(rèn)為是丟失的。在其他實施例中,替換數(shù)據(jù)單元生成裝置404可以產(chǎn)生能夠從接收到的傳輸分組中的單元中確定的所有數(shù)據(jù)流單元。這可以導(dǎo)致替換數(shù)據(jù)單元生成裝置404產(chǎn)生實際也已經(jīng)在中繼節(jié)點上接收的數(shù)據(jù)流單元,然而,具有重復(fù)的數(shù)據(jù)流單元是不存在問題的。在步驟S508,已被基本恢復(fù)的數(shù)據(jù)流中的數(shù)據(jù)流單元(也就是接收到的數(shù)據(jù)流單元以及在步驟S506中在替換數(shù)據(jù)單元生成裝置404中產(chǎn)生的數(shù)據(jù)流單元)會在傳輸分組化器408中與校正數(shù)據(jù)單元一起分組化,以便形成用于從中繼節(jié)點傳送的輸出傳輸分組。包含在輸出傳輸分組中的校正數(shù)據(jù)單元可以是在所接收的傳輸分組中存在的校正數(shù)據(jù)單元。在這種情況下,在中繼節(jié)點108上不需要產(chǎn)生FEC,并且如圖4所示,這些單元(也就是已被基本恢復(fù)的數(shù)據(jù)流中的數(shù)據(jù)流單元以及接收到的FEC數(shù)據(jù)單元)可被傳遞至傳輸分組化器408,從而繞過FEC部件406。 然而,中繼節(jié)點108可以使用FEC部件406來產(chǎn)生新的FEC數(shù)據(jù)單元。所述新的FEC數(shù)據(jù)單元可以包含在由傳輸分組化器408形成的輸出傳輸分組中。為了讓這種情況發(fā)生,已被基本恢復(fù)的數(shù)據(jù)流中的數(shù)據(jù)流單元被傳遞至FEC部件406 (從緩存器402以及替換數(shù)據(jù)單元生成裝置404),并且FEC部件406會采用與傳送節(jié)點102的FEC部件208中使用的方式相同的方式來為這些數(shù)據(jù)流單元產(chǎn)生新的FEC數(shù)據(jù)。這允許在傳送節(jié)點102與目的地節(jié)點114之間的不同跳上實現(xiàn)的FEC根據(jù)不同跳的不同損耗特性而不同。新的FEC數(shù)據(jù)單元可以替換在中繼節(jié)點108上接收的傳輸分組中的初始FEC數(shù)據(jù)單元。由于FEC生成是一個簡單的過程,因此,F(xiàn)EC部件406中的FEC生成不會在數(shù)據(jù)傳送中引入顯著延遲。在步驟S510,在步驟S508中在傳輸分組化器408內(nèi)形成的輸出傳輸分組將會從中繼節(jié)點108經(jīng)由中繼節(jié)點108的網(wǎng)絡(luò)接口 112傳送至目的地節(jié)點114。輸出傳輸分組包括由替換數(shù)據(jù)單元生成裝置404生成的替換數(shù)據(jù)流單元,以便替換來自丟失傳輸分組的數(shù)據(jù)流單元。目的地節(jié)點114會以與它處理數(shù)據(jù)流中的其他數(shù)據(jù)流單元的方式相同的方式來處理替換數(shù)據(jù)流單元,就好像它們是從傳送節(jié)點102傳送的一樣。圖6顯示了目的地節(jié)點114內(nèi)的部件。如圖6所示,目的地節(jié)點114包括緩存器601、替換數(shù)據(jù)單元生成裝置602、數(shù)據(jù)流去分組化器604、解密部件606以及解碼器608。替換數(shù)據(jù)單元生成裝置602與緩存器601耦合。緩存器601的輸出耦合至數(shù)據(jù)流去分組化器604的輸入。替換數(shù)據(jù)單元生成裝置602的輸出耦合至數(shù)據(jù)流去分組化器604的輸入。數(shù)據(jù)流去分組化器604的輸出耦合至解密部件606的輸入。解密部件606的輸出耦合至解碼器608的輸入。圖6顯示的部件601-608可以用軟件實現(xiàn)并由目的地節(jié)點114的CPU 116運行。作為替換,圖6顯示的部件601-608也可以實現(xiàn)為目的地節(jié)點114上的硬件部件。在操作中,在目的地節(jié)點在網(wǎng)絡(luò)接口 118上接收從中繼節(jié)點108傳送的傳輸分組。接收到的傳輸分組被保存在緩存器601中。目的地節(jié)點114確定接收到的傳輸分組中有哪些單元。這可以通過使用傳輸分組中的指示306來實現(xiàn),其中如上所述,所述指示識別傳輸分組中的單元。通過確定目的地節(jié)點114在傳輸分組中接收了哪些單元,所述目的地節(jié)點114能夠確定數(shù)據(jù)流中的哪些數(shù)據(jù)流單元缺失(如果存在的話)。在確定所接收的傳輸分組中是否缺失數(shù)據(jù)流的數(shù)據(jù)流單元的過程中,數(shù)據(jù)流單元的序列號可被使用。以與上文中結(jié)合中繼節(jié)點108描述的替換數(shù)據(jù)單元生成裝置404中相同的方式,目的地節(jié)點114的替換數(shù)據(jù)單元生成裝置602產(chǎn)生可用于形成數(shù)據(jù)流的替換數(shù)據(jù)流單元。這樣一來,目的地節(jié)點114采用與如上所述在中繼節(jié)點108上實施的方式相類似的方式來使用傳輸分組中的F EC數(shù)據(jù)單元恢復(fù)數(shù)據(jù)流中的丟失數(shù)據(jù)流單元。然后,數(shù)據(jù)流單元被傳遞至數(shù)據(jù)流去分組化器604(從緩存器601以及替換數(shù)據(jù)單元生成裝置602)。所述數(shù)據(jù)流去分組化器604從數(shù)據(jù)流單元中提取加密數(shù)據(jù),以便產(chǎn)生加密數(shù)據(jù)的未分組化的數(shù)據(jù)流。該數(shù)據(jù)流從數(shù)據(jù)流去分組化器604傳遞至解密部件606,并且在那里將會解密所述加密數(shù)據(jù)。解密機制與用以在傳送節(jié)點102上加密數(shù)據(jù)的加密機制是匹配的。舉例來說,目的地節(jié)點114可以使用與在傳送節(jié)點102上用以加密數(shù)據(jù)的密鑰相對應(yīng)的密鑰來解密數(shù)據(jù)。經(jīng)過解密的數(shù)據(jù)被從解密部件606輸出至解碼器608。解碼器608則會使用與在傳送節(jié)點102的編碼器202上用來編碼數(shù)據(jù)的編碼算法相匹配的解碼算法來解碼數(shù)據(jù)。舉個例子,如果數(shù)據(jù)是語音數(shù)據(jù),那么可以使用特定的語音解碼算法來解碼數(shù)據(jù),以及如果所述數(shù)據(jù)是視頻數(shù)據(jù),那么可以使用特定的視頻解碼算法來解碼數(shù)據(jù)。經(jīng)過解碼的數(shù)據(jù)從解碼器608輸出,以便在目的地節(jié)點114上使用。以上籠統(tǒng)地描述了一種用于在中繼節(jié)點上恢復(fù)丟失傳輸分組中的丟失數(shù)據(jù)流單元的方法。為了進一步例證本發(fā)明,現(xiàn)在在下文中提供一個更具體的示例。在本示例中,假設(shè)加密數(shù)據(jù)流包括加密數(shù)據(jù)流單元A、B、C和D。傳送節(jié)點102將數(shù)據(jù)流單元分組化成四個傳輸分組(P1、P2、P3和P4),以使
Pl (在其凈荷中)包括數(shù)據(jù)流單元A,其中由于XOR (A)=A,因此可以將所述數(shù)據(jù)流單兀書寫成XOR (A)0傳輸分組Pl不包括其他任何單兀。傳輸分組Pl的指不306表明傳輸分組Pl在其凈荷中只包含XOR (A);
P2 (在其凈荷中)包括數(shù)據(jù)流單元B,其中由于XOR (B)=B,因此可以將所述數(shù)據(jù)流單元書寫成XOR (B)0傳輸分組P2還包括已經(jīng)由傳送節(jié)點102的FEC部件208產(chǎn)生的XOR(A)0所述FEC數(shù)據(jù)單元(XOR (A))通過非常簡單的恒等運算與數(shù)據(jù)流單元A相關(guān)(也就是不需要用以產(chǎn)生數(shù)據(jù)流單元A的運算)。傳輸分組P2的指示306表明傳輸分組P2在其凈荷中包含XOR (B)和XOR (A);
P3 (在其凈荷中)包括數(shù)據(jù)流單元C,其中由于XOR (C)=C,因此可以將所述數(shù)據(jù)流單元書寫成XOR (C)。此外,傳輸分組P3還包括已經(jīng)由傳送節(jié)點102的FEC部件208產(chǎn)生的XOR (A7B)0所述FEC數(shù)據(jù)單元(XOR (A,B))是A與B的XOR運算的結(jié)果,并且由此與數(shù)據(jù)流單元A和B相關(guān)。傳輸分組P3的指示306表明傳輸分組P3在其凈荷中包括XOR (C)和XOR (A,B);
P4 (在其凈荷中)包括數(shù)據(jù)流單元D,其中由于XOR (D)=D,因此可以將所述數(shù)據(jù)流單元書寫成XOR (D)0傳輸分組P4還包括已經(jīng)由傳送節(jié)點102的FEC部件208產(chǎn)生的XOR (A,B,C)。所述FEC數(shù)據(jù)單元(XOR (A,B,C))是A、B和C的XOR運算的結(jié)果,并且由此與數(shù)據(jù)流單元A、B和C相關(guān)。傳輸分組P4的指示306表明傳輸分組P4在其凈荷中包括XOR (D)以及 XOR (A,B,C)??偟膩碚f,該示例可被書寫成Pl XOR (A)(等于 A)
P2 XOR (B)(等于 B)
XOR (A)(等于 A)
P3 X0R (C)(等于 C)
XOR (A, B)
P4 X0R (D)(等于 D)
XOR (A, B, C)o在本示例中,接收傳輸分組P2可以容忍傳輸分組Pl的丟失。這是因為如果接收到了傳輸分組P2,那么將會有足夠信息來確定數(shù)據(jù)流單元A和B這兩者。同樣,接收到傳輸分組P3可以容忍傳輸分組Pl或P2的丟失(但是并非所有這二者)。這是因為在傳輸分組P2和P3中存在足夠的信息用來通過執(zhí)行本領(lǐng)域技術(shù)人員清楚了解的適當(dāng)XOR運算確定數(shù)據(jù)流單元A、B和C。同樣,在傳輸分組Pl和P3中具有足夠的信息來通過執(zhí)行本領(lǐng)域技術(shù)人員清楚了解的適當(dāng)XOR運算確定數(shù)據(jù)流單元A、B和C。在以上給出的示例的變體中,傳輸分組P2 (在其凈荷中)還包括已經(jīng)由傳送節(jié)點102的FEC部件208產(chǎn)生的XOR (A, B),由此,現(xiàn)在
P2 X0R (B)(等于 B)
XOR (A)(等于 A)
XOR (A, B)
在該變體中,接收到傳輸分組P2和P4則足以確定A、B、C和D。這是因為傳輸分組P2包括A和B,傳輸分組P4包括D,而C則可以通過執(zhí)行運算XOR (XOR (A,B),X0R (A, B, C))來確定。在本示例中可以看出,數(shù)據(jù)流單元可以是在不需要初始數(shù)據(jù)流單元的情況下從兩組FEC數(shù)據(jù)中恢復(fù)的。在這里的示例中,來自傳輸分組P2的FEC數(shù)據(jù)單元XOR (A,B)可以與來自傳輸分組P4的FEC數(shù)據(jù)單元XOR (A,B, C)結(jié)合使用,以便產(chǎn)生數(shù)據(jù)流單元C。在上述方法中,有時可能會為數(shù)據(jù)流中實際并未丟失的數(shù)據(jù)流單元產(chǎn)生了替換數(shù)據(jù)流單元。這有可能是因為包含該數(shù)據(jù)流單元的傳輸分組在傳送節(jié)點102與中繼節(jié)點114之間的傳送過程中經(jīng)歷了很長的延遲(例如長于在中繼節(jié)點108的緩存器402中保存數(shù)據(jù)分組的預(yù)定時間)。由此,目的地節(jié)點114可能會接收到相同數(shù)據(jù)流單元的恢復(fù)版本和初始版本,其中每個版本都具有相同序列號。在這種情況下,目的地節(jié)點114中的數(shù)據(jù)流去分組化器604被調(diào)整成丟棄與別的數(shù)據(jù)流單元具有相同序列號的數(shù)據(jù)流單元。由此,以上描述了一種用于將數(shù)據(jù)從傳送節(jié)點102經(jīng)由中繼節(jié)點108傳送到目的地節(jié)點114的例示方法。所述數(shù)據(jù)在整個數(shù)據(jù)傳送過程中將會保持加密,以便確保數(shù)據(jù)的安全性。然而,由于傳輸分組中的FEC數(shù)據(jù)單元與加密數(shù)據(jù)流單元相關(guān),并且由此在將其用于恢復(fù)加密數(shù)據(jù)流單元之前不需要解密,因此,中繼節(jié)點108能對數(shù)據(jù)流的數(shù)據(jù)流單元實現(xiàn)前向糾錯。FEC數(shù)據(jù)是與媒體無關(guān)的FEC數(shù)據(jù),并且與加密版本的數(shù)據(jù)流單元相關(guān)。在以上描述的優(yōu)選實施例中,使用了 FEC數(shù)據(jù)。在替換實施例中,如果校正數(shù)據(jù)允許使用校正數(shù)據(jù)以及在中繼節(jié)點108上接收的其他單元來恢復(fù)丟失傳輸分組的數(shù)據(jù)流單元,那么也可以使用其他類型的校正數(shù)據(jù)而不是FEC數(shù)據(jù)。傳送節(jié)點102和目的地節(jié)點114可被稱為是數(shù)據(jù)傳送中的端點。舉例來說,如果數(shù)據(jù)是經(jīng)由因特網(wǎng)傳送的呼叫數(shù)據(jù),那么傳送節(jié)點102可以是所述呼叫的主叫端點,目的地節(jié)點114則可以是所述呼叫的被叫端點。呼叫數(shù)據(jù)在因特網(wǎng)上經(jīng)由主叫端點與被叫端點之間的中繼節(jié)點108傳送。這樣一來,上述方法可以用于因特網(wǎng)上的呼叫,由此實現(xiàn)例如借助網(wǎng)際協(xié)議的語音傳輸(VoIP)。由于可以在一個或多個中繼節(jié)點上恢復(fù)在經(jīng)由網(wǎng)絡(luò)的各跳之間丟失的數(shù)據(jù)流單元,因此可以通過實現(xiàn)上述方法來提升呼叫質(zhì)量。換句話說,丟失的分組可以在數(shù)據(jù)傳送中在緊接著的各跳之后得到恢復(fù),這可以減小在目的地節(jié)點114上接收的數(shù)據(jù)流中總的數(shù)據(jù)流單元丟失。這樣一來,更多數(shù)量的傳送的數(shù)據(jù)流單元將會到達(dá)目的地節(jié)點114,從而產(chǎn)生更好的呼叫質(zhì)量。上述方法對于在傳送節(jié)點102與目的地節(jié)點114之間傳送其他任何類型的數(shù)據(jù)來說也是有用的。對本領(lǐng)域技術(shù)人員來說,很明顯,在中繼節(jié)點108上可以實現(xiàn)包含了用于執(zhí)行上述方法的指令的計算機程序產(chǎn)品。雖然FEC數(shù)據(jù)單元在上述本發(fā)明的實施例中是未加密的,也就是說,所述FEC數(shù)據(jù)單元是在加密之后生成的,但在本發(fā)明的替換實施例中,F(xiàn)EC數(shù)據(jù)單元是經(jīng)過加密的,并且所需要的僅僅是不對指示FEC數(shù)據(jù)單元是從哪個數(shù)據(jù)流單元產(chǎn)生的指示306進行加密,以使中繼能夠恢復(fù)丟失的數(shù)據(jù)。 例如,F(xiàn)EC數(shù)據(jù)可以是通過添加冗余數(shù)據(jù)分組產(chǎn)生的,例如拷貝每隔一個的數(shù)據(jù)分組或是每隔兩個的數(shù)據(jù)分組等等,在這種情況下,如果在未加密的情況下將指示加密FEC單元是從哪個加密數(shù)據(jù)流單元產(chǎn)生的指示306傳送到中繼節(jié)點,那么在中繼上仍舊可以使用加密之前產(chǎn)生的FEC數(shù)據(jù)來恢復(fù)丟失分組。通過使用未加密的指示306,中繼可以通過拷貝與之相關(guān)的加密FEC數(shù)據(jù)單元來恢復(fù)加密數(shù)據(jù)流單元,從而恢復(fù)從傳送機傳送的數(shù)據(jù)單元。另一個需要加密FEC數(shù)據(jù)單元的實施例是使用必須從未加密的數(shù)據(jù)產(chǎn)生的媒體相關(guān)FEC (例如低比特率冗余度(LBRR))的時候。在這種情況下,雖然不能完全恢復(fù)丟失的數(shù)據(jù)流單元,但是中繼節(jié)點可以確定數(shù)據(jù)流單元丟失并產(chǎn)生代表了丟失數(shù)據(jù)流單元的第二加密FEC數(shù)據(jù)單元,由此可以避免所述數(shù)據(jù)在第一 FEC數(shù)據(jù)單元在附加傳送跳中丟失的情況下被完全丟失。在本發(fā)明的一些實施例中,除了 FEC數(shù)據(jù)單元之外,數(shù)據(jù)流單元也是沒有必要傳送的。在這些替換實施例中,F(xiàn)EC數(shù)據(jù)單元運送關(guān)于數(shù)據(jù)流單元的信息,并且是不必附加傳送數(shù)據(jù)流單元本身的。例如,數(shù)據(jù)流中的所有數(shù)據(jù)分組有可能只包括多個分組的X0R,其中在被組合的時候,所述XOR允許恢復(fù)數(shù)據(jù)分組(例如XOR (XOR (A,B),X0R (A,B,C))。在另一個示例中,數(shù)據(jù)流單元A未被傳送,取而代之,輸入FEC部件的數(shù)據(jù)流單元A在多個FEC數(shù)據(jù)單元之間拆分,其中所述多個FEC數(shù)據(jù)單元需要通過組合來恢復(fù)數(shù)據(jù)流單元A。由此,提供了一種用于處理傳輸分組的方法,所述傳輸分組包括用于運送與加密數(shù)據(jù)流單元相關(guān)的信息的校正數(shù)據(jù)單元,其中每一個傳輸分組都包含了用于指示校正數(shù)據(jù)單元如何與加密數(shù)據(jù)流單元相關(guān)的未加密恢復(fù)數(shù)據(jù)。該方法包括在中繼節(jié)點上接收傳輸分組,以及在中繼節(jié)點上使用所接收的傳輸分組中的校正數(shù)據(jù)單元和未加密的恢復(fù)數(shù)據(jù)中的至少一些來恢復(fù)丟失的傳輸分組。中繼節(jié)點將校正數(shù)據(jù)單元分組化,以便形成用于從中繼節(jié)點傳送的輸出傳輸分組,以及從中繼節(jié)點傳送所述輸出傳輸分組。雖然在這里特別參考了優(yōu)選實施例來顯示和描述本發(fā)明,但是本領(lǐng)域技術(shù)人員應(yīng)該理解,在不脫離所附權(quán)利要求定義的本發(fā)明的范圍的情況下,可以進行形式和細(xì)節(jié)方面的各種不同變化。
權(quán)利要求
1.一種處理傳輸分組的方法,所述傳輸分組運送(i)形成數(shù)據(jù)流的數(shù)據(jù)流單元以及(ii)與數(shù)據(jù)流單元相關(guān)的校正數(shù)據(jù)單元,每一個傳輸分組都包含用于識別該傳輸分組中的單元的內(nèi)容的信息,所述方法包括 在中繼節(jié)點上接收傳輸分組,其中在中繼節(jié)點上接收的傳輸分組中的數(shù)據(jù)流單元不足以構(gòu)成數(shù)據(jù)流; 使用接收到的傳輸分組中的校正數(shù)據(jù)單元以及數(shù)據(jù)流單元中的至少一些來產(chǎn)生替換數(shù)據(jù)流單元,以便在中繼節(jié)點上基本恢復(fù)數(shù)據(jù)流; 在中繼節(jié)點上,將已被基本恢復(fù)的數(shù)據(jù)流中的數(shù)據(jù)流單元與校正數(shù)據(jù)單元一起分組化,以便形成用于從中繼節(jié)點傳送的輸出傳輸分組;以及從中繼節(jié)點傳送所述輸出傳輸分組。
2.權(quán)利要求I的方法,其中數(shù)據(jù)流單元是經(jīng)過加密的數(shù)據(jù)流單元。
3.權(quán)利要求2的方法,其中中繼節(jié)點不對接收到的傳輸分組的單元執(zhí)行任何解密。
4.權(quán)利要求I的方法,其中所述識別單元內(nèi)容的信息識別校正數(shù)據(jù)單元與數(shù)據(jù)流單元之間的關(guān)系。
5.權(quán)利要求I的方法,其中所述識別單元內(nèi)容的信息在傳輸分組中是未加密的。
6.權(quán)利要求4的方法,其中所述信息處于每一個傳輸分組的報頭中。
7.權(quán)利要求I的方法,其中基本恢復(fù)的數(shù)據(jù)流包括數(shù)據(jù)流中的所有數(shù)據(jù)流單元,以使基本恢復(fù)的數(shù)據(jù)流重新構(gòu)成所述數(shù)據(jù)流。
8.權(quán)利要求I的方法,其中校正數(shù)據(jù)單元是對數(shù)據(jù)流單元中的至少一個執(zhí)行XOR運算的結(jié)果,由此與數(shù)據(jù)流單元相關(guān)。
9.權(quán)利要求8的方法,其中替換數(shù)據(jù)流單元中的至少一個是通過對校正數(shù)據(jù)單元之一以及接收到的傳輸分組中的數(shù)據(jù)流單元之一執(zhí)行XOR運算產(chǎn)生的。
10.權(quán)利要求8的方法,其中替換數(shù)據(jù)流單元中的至少一個是通過對接收到的傳輸分組中的兩個校正數(shù)據(jù)單元執(zhí)行XOR運算產(chǎn)生的。
11.權(quán)利要求I的方法,其中替換數(shù)據(jù)流單元替換丟失傳輸分組中的數(shù)據(jù)流單元。
12.權(quán)利要求I的方法,其中接收到的傳輸分組是在中繼節(jié)點上經(jīng)由網(wǎng)絡(luò)而從傳送端點接收的。
13.權(quán)利要求I的方法,其中輸出傳輸分組是從中繼節(jié)點經(jīng)由網(wǎng)絡(luò)傳送到目的地端點的。
14.權(quán)利要求I的方法,其中校正數(shù)據(jù)單元是前向糾錯數(shù)據(jù)單元。
15.權(quán)利要求I的方法,其中接收到的每一個傳輸分組都包括數(shù)據(jù)流單元和校正數(shù)據(jù)單元。
16.權(quán)利要求15的方法,其中每一個傳輸分組都包括凈荷和未加密報頭,以及其中數(shù)據(jù)流單元和校正數(shù)據(jù)單元處于傳輸分組的凈荷中。
17.權(quán)利要求I的方法,其中數(shù)據(jù)流單元和校正數(shù)據(jù)單元處于單獨的傳輸分組中。
18.權(quán)利要求I的方法,還包括在中繼節(jié)點上產(chǎn)生新的校正數(shù)據(jù)單元,以及將新的校正數(shù)據(jù)單元包含在從中繼節(jié)點傳送的輸出傳輸分組中。
19.權(quán)利要求I的方法,其中每一個數(shù)據(jù)流單元都包括用于指示每一個數(shù)據(jù)流單元在數(shù)據(jù)流中的順序的序列號。
20.權(quán)利要求I的方法,還包括產(chǎn)生可以從接收到的傳輸分組的單元中導(dǎo)出的所有替換數(shù)據(jù)流單元。
21.權(quán)利要求I的方法,還包括確定在中繼節(jié)點中在接收的傳輸分組中數(shù)據(jù)流的特定數(shù)據(jù)流單元未被接收到,其中響應(yīng)于所述確定,產(chǎn)生所述替換數(shù)據(jù)流單元來替換數(shù)據(jù)流的這些特定數(shù)據(jù)流單元。
22.權(quán)利要求21的方法,其中所述確定包括確定在中繼節(jié)點上數(shù)據(jù)流單元是否是在所述數(shù)據(jù)流單元預(yù)計到達(dá)中繼節(jié)點的時間的預(yù)定時間以內(nèi)接收到的。
23.權(quán)利要求I的方法,還包括在中繼節(jié)點的緩存器中將接收到的傳輸分組保存有限的時段。
24.一種用于處理傳輸分組的中繼節(jié)點,所述傳輸分組運送(i)形成數(shù)據(jù)流的數(shù)據(jù)流單元以及(ii)與數(shù)據(jù)流單元相關(guān)的校正數(shù)據(jù)單元,每一個傳輸分組都包含用于識別該傳輸分組中的單元的內(nèi)容的信息,所述中繼節(jié)點包括 接收機,被配置成接收傳輸分組,其中在中繼節(jié)點上接收的傳輸分組中的數(shù)據(jù)流單元不足以構(gòu)成數(shù)據(jù)流; 生成器,被配置成使用接收到的傳輸分組中的校正數(shù)據(jù)單元和數(shù)據(jù)流單元中的至少一些來產(chǎn)生替換數(shù)據(jù)流單元,以便在中繼節(jié)點上基本恢復(fù)所述數(shù)據(jù)流; 分組化器,被配置成在中繼節(jié)點上將已被基本恢復(fù)的數(shù)據(jù)流的數(shù)據(jù)流單元與校正數(shù)據(jù)單元一起分組化,以便形成用于從中繼節(jié)點傳送的輸出傳輸分組;以及 傳送機,被配置成從中繼節(jié)點傳送所述輸出傳輸分組。
25.權(quán)利要求24的中繼節(jié)點,其中中繼節(jié)點未被配置成對接收到的傳輸分組的單元執(zhí)行解密。
26.權(quán)利要求24的中繼節(jié)點,還包括另一個生成器,其被配置成產(chǎn)生新的校正數(shù)據(jù)單元以及將新的校正數(shù)據(jù)單元包含在從中繼節(jié)點傳送的輸出傳輸分組中。
27.權(quán)利要求24的中繼節(jié)點,還包括確定器,被配置成確定在中繼節(jié)點中在接收的傳輸分組中數(shù)據(jù)流的特定數(shù)據(jù)流單元未被接收到,其中所述生成器被配置成響應(yīng)于所述確定來產(chǎn)生替換數(shù)據(jù)流單元,以便替換數(shù)據(jù)流中的這些特定數(shù)據(jù)流單元。
28.權(quán)利要求24的中繼節(jié)點,還包括緩存器,用于將接收到的傳輸分組保存有限的時段。
29.一種計算機程序產(chǎn)品,包括可供中繼節(jié)點上的計算機處理裝置運行以處理傳輸分組的計算機可讀指令,其中該傳輸分組運送(i)形成數(shù)據(jù)流的數(shù)據(jù)流單元以及(ii)與數(shù)據(jù)流單元相關(guān)的校正數(shù)據(jù)單元,每一個傳輸分組都包含用于識別該傳輸分組中的單元的內(nèi)容的信息,所述指令包括指令用于 在中繼節(jié)點上接收傳輸分組,在中繼節(jié)點上接收的傳輸分組中的數(shù)據(jù)流單元不足以構(gòu)成數(shù)據(jù)流; 使用接收到的傳輸分組中的校正數(shù)據(jù)單元以及數(shù)據(jù)流單元中的至少一些來產(chǎn)生替換數(shù)據(jù)流單元,以便在中繼節(jié)點上基本恢復(fù)數(shù)據(jù)流; 在中繼節(jié)點上,將已被基本恢復(fù)的數(shù)據(jù)流的數(shù)據(jù)流單元與校正數(shù)據(jù)單元一起分組化,以便形成用于從中繼節(jié)點傳送的輸出傳輸分組;以及 從中繼節(jié)點傳送所述輸出傳輸分組。
30.一種用于處理傳輸分組的方法,所述傳輸分組包括用于運送與加密數(shù)據(jù)流單元相關(guān)的信息的校正數(shù)據(jù)單元,其中每一個傳輸分組都包含用于指示校正數(shù)據(jù)單元如何與加密數(shù)據(jù)流單元相關(guān)的未加密恢復(fù)數(shù)據(jù), 該方法包括 在中繼節(jié)點上接收傳輸分組; 在中繼節(jié)點上使用所接收的傳輸分組中的校正數(shù)據(jù)單元和未加密的恢復(fù)數(shù)據(jù)中的至少一些來恢復(fù)丟失的傳輸分組; 在中繼節(jié)點上將校正數(shù)據(jù)單元分組化,以便形成用于從中繼節(jié)點傳送的輸出傳輸分組,以及 從中繼節(jié)點傳送所述輸出傳輸分組。
31.一種用于處理傳輸分組的方法,所述傳輸分組包括用于運送與形成數(shù)據(jù)流的加密數(shù)據(jù)流單元相關(guān)的信息的單元,每一個傳輸分組都包括未加密的恢復(fù)數(shù)據(jù),其中所述恢復(fù)數(shù)據(jù)指示所述單元如何與加密數(shù)據(jù)流單元相關(guān),所述方法包括 在中繼節(jié)點上接收傳輸分組; 在中繼節(jié)點上使用接收到的傳輸分組中的單元以及未加密的恢復(fù)數(shù)據(jù)中的至少一些來產(chǎn)生與加密數(shù)據(jù)流單元相關(guān)的替換單元,以便在基本恢復(fù)數(shù)據(jù)流時使用; 在中繼節(jié)點上將接收到的傳輸分組的單元以及替換單元中的至少一些分組化,以便形成用于從中繼節(jié)點傳送的輸出傳輸分組;以及 從中繼節(jié)點傳送所述輸出傳輸分組。
全文摘要
用于處理傳輸分組的方法、中繼節(jié)點和計算機程序產(chǎn)品,所述傳輸分組運送(i)形成數(shù)據(jù)流的數(shù)據(jù)流單元以及(ii)與數(shù)據(jù)流單元相關(guān)的校正數(shù)據(jù)單元,其中每一個傳輸分組都包含用于識別該傳輸分組中的單元的內(nèi)容的信息。在中繼節(jié)點上接收傳輸分組,其中在中繼節(jié)點上接收的傳輸分組中的數(shù)據(jù)流單元不足以構(gòu)成數(shù)據(jù)流。使用接收到的傳輸分組中的校正數(shù)據(jù)單元以及數(shù)據(jù)流單元中的至少一些來產(chǎn)生替換數(shù)據(jù)流單元,以便在中繼節(jié)點上基本恢復(fù)數(shù)據(jù)流。中繼節(jié)點將已被基本恢復(fù)的數(shù)據(jù)流中的數(shù)據(jù)流單元與校正數(shù)據(jù)單元一起分組化,以便形成用于從中繼節(jié)點傳送的輸出傳輸分組,然后從中繼節(jié)點傳送所述輸出傳輸分組。
文檔編號H04L1/00GK102884746SQ201180023888
公開日2013年1月16日 申請日期2011年5月11日 優(yōu)先權(quán)日2010年5月13日
發(fā)明者M.希 申請人:斯凱普公司