新四季網

處理傳輸分組的製作方法

2023-09-10 08:46:40

專利名稱:處理傳輸分組的製作方法
處理傳輸分組發明領域本發明涉及對傳輸分組的處理。特別地,本發明涉及在中繼節點上處理運送(i)形成數據流的數據流單元以及(ii)與數據流單元相關的校正數據單元的傳輸分組。
背景技術:
當在兩個節點之間傳送由數據流單元形成的數據流時,所述數據流可作為多個傳輸分組來傳送。在傳輸分組中可以包含冗餘的校正數據,以使目的地節點校正在傳送所述傳輸分組的過程中出現的差錯。例如,前向糾錯(FEC)數據可以與數據單元一起包含在傳輸分組中。所述FEC數據是允許在一定程度上恢復丟失的傳輸分組中的數據單元的冗餘數據。FEC數據可以在單獨的傳輸分組中傳送,其中所述單獨的傳輸分組被交織在數據流中或是添加至包含數據單元本身的傳輸分組淨荷之中。與媒體無關的FEC是通過在兩個或更多淨荷的比特中添加冗餘度來發揮作用的。它的一個示例是僅僅通過對數據流中的多個數據單元執行異或(XOR)運算來創建冗餘信息。如果在向目的地的傳送過程中丟失了淨荷,那麼 可以在目的地節點上一起使用經過異或的信息(即FEC數據)以及其他傳輸分組的淨荷(即未丟失的傳輸分組)來重新創建丟失的淨荷。在網際網路之類的公眾網絡上,數據傳輸的廣度正在快速增長。由此,為了確保可靠的數據傳送,糾錯機制變得越發重要。本發明試圖改善用於在傳送節點與目的地節點之間的數據傳送的糾錯。

發明內容
根據本發明的第一個方面,提供了一種用於處理傳輸分組的方法,其中該傳輸分組運送(i)形成數據流的數據流單元以及(ii)與數據流單元相關的校正數據單元,每一個傳輸分組都包含用於識別傳輸分組中的單元的內容的信息,所述方法包括在中繼節點上接收傳輸分組,其中在中繼節點上接收的傳輸分組中的數據流單元不足以構成數據流;使用接收到的傳輸分組中的校正數據單元以及數據流單元中的至少一些來產生替換數據流單元,以便在中繼節點上基本恢復數據流;在中繼節點上,將已被基本恢復的數據流中的數據流單元與校正數據單元一起分組化,以便形成從中繼節點傳送的輸出傳輸分組;以及從中繼節點傳送所述輸出傳輸分組。根據本發明的第二個方面,提供了一種用於處理傳輸分組的中繼節點,其中該傳輸分組運送(i)形成數據流的數據流單元以及(ii)與數據流單元相關的校正數據單元,每一個傳輸分組都包含用於識別傳輸分組中的單元的內容的信息,所述中繼節點包括接收裝置,用於接收傳輸分組,其中在中繼節點上接收的傳輸分組中的數據流單元不足以構成數據流;生成裝置,用於使用接收到的傳輸分組中的校正數據單元和數據流單元中的至少一些來產生替換數據流單元,以便在中繼節點上基本恢復所述數據流;分組化裝置,用於在中繼節點上將已被基本恢復的數據流中的數據流單元與校正數據單元一起分組化,以便形成從中繼節點傳送的輸出傳輸分組;以及傳送裝置,用於從中繼節點傳送所述輸出傳輸分組。根據本發明的第三個方面,提供了一種電腦程式產品,包括可供中繼節點上的計算機處理裝置運行以處理傳輸分組的計算機可讀指令,其中該傳輸分組運送(i)形成數據流的數據流單元以及(ii )與數據流單元相關的校正數據單元,每一個傳輸分組都包含用於識別傳輸分組中的單元的內容的信息,所述指令包括用於實施以下處理的指令在中繼節點上接收傳輸分組,其中在中繼節點上接收的傳輸分組中的數據流單元不足以構成數據流;使用接收到的傳輸分組中的校正數據單元以及數據流單元中的至少一些來產生替換數據流單元,以便在中繼節點上基本恢復數據流;在中繼節點上,將已被基本恢復的數據流中的數據流單元與校正數據單元一起分組化,以便形成從中繼節點傳送的輸出傳輸分組;以及從中繼節點傳送所述輸出傳輸分組。·在優選實施例中,數據流單元是加密的數據流單元。此外,在優選實施例中,中繼節點不對所接收的傳輸分組的單元執行任何解密。優選地,校正數據單元是前向糾錯(FEC)數據單元。所述FEC數據單元優選是與媒體無關的FEC數據單元。出於眾多原因,加密那些在兩個節點之間的傳輸分組中發送的數據單元,以使所述數據只能被一個或多個預定目的地節點重現(retrieve),那麼將會是非常有利的。舉例來說,這可能是因為所述數據是敏感數據和/或因為所述數據是在兩個節點之間的不安全網絡上傳送的。在現有技術的系統中,在兩個節點之間發送傳輸分組之前,所述傳輸分組的淨荷可被加密。對於數據傳送領域的技術人員而言,加密機制是已知的。正如本領域已知的那樣,在目的地節點上將會使用與傳送節點上用以加密淨荷的加密機制相對應的解密機制來解密傳輸分組淨荷。由此,在這些現有技術的系統中,為了使用FEC數據來實現糾錯,在目的地節點上將會解密傳輸分組淨荷,以便重現加密的數據以及FEC數據。如果在傳送節點與目的地節點之間傳送傳輸分組的過程中丟失了傳輸分組,那麼目的地節點可以使用FEC數據來實現糾錯,以便恢復傳輸分組中的丟失數據。在目的地節點上可以組合使用FEC數據以及所接收的至少一個傳輸分組中的數據,以便恢復丟失數據分組中的數據單元。發明人認識到,傳送節點與目的地節點之間的數據傳送路由也行不是直接的。通常,有必要經由一個或多個中繼節點來傳送數據。從這個意義上講,數據傳送可以包括網絡中的多「跳」。每一跳都有可能在數據流中引入差錯。然而,在現有技術的系統中,FEC僅僅是在目的地節點上實現(舉例來說,其原因在於傳輸分組的淨荷是經過加密的,由此使得所述FEC數據在執行了傳輸分組的解密之後才可用)。發明人認識到,以這種方式加密傳輸分組淨荷意味著必須解密傳輸分組淨荷,以便使用FEC數據來恢復包含數據流的數據單元的任何丟失傳輸分組。傳送節點和目的地節點必須能夠解密傳輸分組淨荷。然而,中繼節點可能不能解密傳輸分組的淨荷,其原因在於這需要中繼節點上具有解密機制的開銷,而這有可能被認為是過度的。此外,中繼節點操作的一個重要目標是減少可能在數據傳送中引入的任何延遲,因此,可能不希望中繼節點對傳輸分組執行任何解密操作。中繼節點可能不能解密傳輸分組的另一個原因在於中繼節點通常是不受信任的。因此,在現有技術的系統中,中繼節點不會解密傳輸分組來重現FEC數據。這樣一來,在現有技術的系統中,中繼節點不會實現任何糾錯。發明人認識到,由於傳輸分組可能會在每一跳的數據傳送中丟失(例如在傳送節點-中繼節點這一跳;在中繼節點-中繼節點這一跳;或者在中繼節點-目的地節點這一跳),因此,在數據傳送的中繼節點上實現糾錯可能是有利的。這可以成為在目的地節點上實現的糾錯的補充。對於傳輸分組中的數據流單元來說,保持加密來確保數據在數據傳送過程中的安全可能是非常重要的。然而,發明人認識到,為了使中繼節點執行糾錯,可以使用傳輸分組中的校正數據單元來恢復丟失的數據流單元,而不用在中繼節點上執行任何解LU O
非常有利的是,根據本發明的實施例,丟失數據流單元的恢復在中繼節點上執行, 而不僅僅是在數據傳送的目的地節點上執行。由此,在經由網絡進行的數據傳送的每一跳之後,丟失的數據流單元都可以得以恢復。這樣一來,所述恢復只需要恢復那些在前一跳中丟失的傳輸分組。這樣做會導致多跳數據傳送中丟失傳輸分組的比率降低。這與現有技術形成了對比,在現有技術中,僅僅在目的地節點上執行恢復,並且所述目的地節點嘗試恢復那些在經由網絡的多跳中的任一跳上丟失的傳輸分組。與現有技術的系統相比,本發明的實施例能夠恢復更多的丟失傳輸分組。例如,在第一跳(例如傳送節點-中繼節點這一跳) 丟失的傳輸分組可以在中繼節點上得到恢復,並且被恢復的這些傳輸分組可以用於在第二跳(例如中繼節點-目的地節點這一跳)之後恢復在第二跳上丟失的傳輸分組。如果沒有在中繼節點上恢復第一跳丟失的傳輸分組,那麼在目的地節點上可能將無法恢復第二跳丟失的諸多傳輸分組。


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

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀