專利名稱:使用前向糾錯檢驗可用帶寬的系統(tǒng)、方法和介質的制作方法
技術領域:
所公開的主題涉及使用前向糾錯檢驗可用帶寬的系統(tǒng)、方法和介質。
背景技術:
現(xiàn)代電子應用和通信系統(tǒng)通常依賴于數字數據從發(fā)送器到接收器的傳輸。由于這些網絡和通信系統(tǒng)中的容量和質量限制,發(fā)送器可能需要限制在向接收器傳輸這種數字數據中使用的帶寬,以便防止數據被破壞或丟失。發(fā)送器可能還需要限制所使用的帶寬,以便允許其它發(fā)送器在相同的網絡和通信系統(tǒng)中發(fā)送數據。但是,有時發(fā)送器可能希望提高所使用的帶寬。例如,在視頻會議期間,在發(fā)送器和接收器之間的可用帶寬可能根據網絡的使用量或由于網絡容量的暫時變化而發(fā)生波動。一旦正在使用的帶寬被降低,在某一時間段之后,發(fā)送器可能想要回到原始或最佳的帶寬。但是,在今天普遍使用的網絡中,不可能知道可用帶寬是否已經提高以及應用是否可以從某一時間點開始使用任意這種提高。由于正在網絡或通信系統(tǒng)中傳輸的數據可能已經在使用全部可用帶寬,所以提高數據傳輸的帶寬可能導致丟失數據和會話的用戶所享用的體驗質量的下降。
發(fā)明內容
根據一些實施例,提供了使用前向糾錯檢驗可用帶寬的系統(tǒng)、方法和介質。在一些實施例中,提供了使用前向糾錯檢驗可用帶寬的系統(tǒng),所述系統(tǒng)包括至少一個處理器,用于識別要傳輸的數據;確定要發(fā)送給接收器的前向糾錯數據的數量;基于所述要傳輸的數據中的對應數據,創(chuàng)建所述前向糾錯數據;向所述接收器傳輸所述前向糾錯數據和所述要傳輸的數據中的對應數據;確定所述對應數據和所述前向糾錯數據中的至少一個中的錯誤級別;以及當所述錯誤級別低于某一值時,在向所述接收器傳輸所述對應數據中所使用的帶寬量之上增加在向所述接收器傳輸所述要傳輸的數據中的其它數據中所使用的帶寬量,并且降低在傳輸所述其它數據中用于所述前向糾錯數據的帶寬量。在一些實施例中,提供了使用前向糾錯檢驗可用帶寬的方法,所述方法包括識別要傳輸的數據;確定要發(fā)送給接收器的前向糾錯數據的數量;基于所述要傳輸的數據中的對應數據,創(chuàng)建所述前向糾錯數據;向所述接收器傳輸所述前向糾錯數據和所述要傳輸的數據中的對應數據;確定所述對應數據和所述前向糾錯數據中的至少一個中的錯誤級別;以及當所述錯誤級別低于某一值時,在向所述接收器傳輸所述對應數據中所使用的帶寬量之上增加在向所述接收器傳輸所述要傳輸的數據中的其它數據中所使用的帶寬量,并且降低在傳輸所述其它數據中用于所述前向糾錯數據的帶寬量。在一些實施例中,提供了一種包含計算機可執(zhí)行指令的計算機可讀介質,所述計算機可執(zhí)行指令在被處理器執(zhí)行時使得所述處理器執(zhí)行用于使用前向糾錯檢驗可用帶寬的方法,所述方法包括識別要傳輸的數據;確定要發(fā)送給接收器的前向糾錯數據的數量; 基于所述要傳輸的數據中的對應數據,創(chuàng)建所述前向糾錯數據;向所述接收器傳輸所述前向糾錯數據和所述要傳輸的數據中的對應數據;確定所述對應數據和所述前向糾錯數據中的至少一個中的錯誤級別;以及當所述錯誤級別低于某一值時,在向所述接收器傳輸所述對應數據中所使用的帶寬量之上增加在向所述接收器傳輸所述要傳輸的數據中的其它數據中所使用的帶寬量,并且降低在傳輸所述其它數據中用于所述前向糾錯數據的帶寬量。
圖I是可以在一些實施例中使用的硬件的示例的圖。圖2是可以在一些實施例中使用的處理器的示例的圖。
具體實施例方式根據各種實施例,提供了使用前向糾錯檢驗可用帶寬的機制。這些機制可以用在各種應用中。例如,這些機制可以用在視頻會議系統(tǒng)、通信系統(tǒng)、流系統(tǒng)、計算機網絡系統(tǒng)、數字電視系統(tǒng)、線纜系統(tǒng)、衛(wèi)星通信系統(tǒng)、無線通信系統(tǒng)、局域網、廣域網、因特網、任何其他 適當網絡或通信系統(tǒng)和/或其任意組合。根據一些實施例,可以使用前向糾錯來檢驗任何適當網絡路徑或通信系統(tǒng)上的可用帶寬。例如,當數據傳輸正在使用第一帶寬量時,提高傳輸帶寬可能由于必需帶寬不可用而導致數據丟失,從而導致傳輸中的質量問題。然而,通過提高用于包括前向糾錯數據的附加數據的帶寬,可以修復/重建由于這種帶寬增加而丟失的數據。在一些實施例中,被創(chuàng)建來檢驗帶寬的可用性的前向糾錯數據可以與預先存在于流中的前向糾錯數據組合,以使得該組合的帶寬將大于等于正被檢驗以確定可用性的帶寬。附加數據中的前向糾錯數據是由設計產生的冗余帶寬,這是因為該數據不是已經被傳輸的數據。一旦增加的帶寬量已經被驗證為沒有導致不可接受的傳輸問題,就可以將附加帶寬重新分配給數據(而不是前向糾錯數據),并且用于數據傳輸的有效帶寬被提高。轉向圖1,示出了根據一些實施例的系統(tǒng)100。如圖所示,系統(tǒng)100可以包括經由網絡路徑110進行通信的發(fā)送器104和接收器112。存在于發(fā)送器處的信息102可以被傳輸給接收器,在接收器處信息102變得可用作為信息118,并且可以是任何適當數據,諸如信息、程序、音頻、視頻、文本、圖像等。任何適當設備可以被用作為發(fā)送器104和接收器112。例如,發(fā)送器104和接收器112可以是經由網絡路徑110分別發(fā)送和接收數據的任意適當設備。另外,在一些實施例中,發(fā)送器104和接收器112中的每一個可以是也分別能夠發(fā)送和接收數據的任意適當設備。作為一更具體的示例,發(fā)送器104和/或接收器112可以是以下中的任一個通用計算機、專用計算機、電話機、視頻電話機、移動電話機、視頻會議端點、媒體播放器、便攜式音樂播放器、電子書、電視機、機頂盒、服務器、客戶機、網關、路由器、多點會議單元、視頻會議服務器、即時消息服務器、電子郵件服務器、流服務器、媒體服務器等。發(fā)送器104和接收器112的這些示例中的任一個可以包括處理設備(諸如微處理器、硬件控制器、數字信號處理器、數字處理設備等)、存儲器設備(諸如隨機存取存儲器、只讀存儲器、閃存、盤驅動器、光驅動器等)、接口設備(諸如網絡接口卡、無線接口(例如,IEEE802. 11接口)、光學接口等)、鍵盤、鼠標、顯示器等。如圖I所示,發(fā)送器104還可以包括編碼器106和前向糾錯(FEC)單元108。編碼器106可以是任意適當軟件編碼器和/或硬件編碼器,其用于編碼信息102和控制數據在網絡路徑上的傳輸。例如,編碼器106可以是根據H. 264標準編碼數據的編碼器或任意其他標準音頻/視頻編解碼器。FEC單元108可以是用于基于由編碼器106編碼的信息102創(chuàng)建FEC數據的任意適當軟件FEC單元和/或硬件FEC單元。例如,F(xiàn)EC單元108可以是根據XOR或里德-所羅門糾錯方法創(chuàng)建前向糾錯數據的FEC單元。類似地,接收器112還可以包括FEC單元114和解碼器116。FEC單元114可以是用于接收來自FEC單元108的FEC分組的任意適當軟件FEC單元和/或硬件FEC單元。解碼器116可以是用于解碼由編碼器102編碼成信息118的信息的任意軟件解碼器和/或硬件解碼器。網絡110可以是任意適當通信網絡或網絡的組合。例如,網絡110可以包括因特網、局域網、有線網絡、無線網絡、電話網絡、有線電視網絡、衛(wèi)星網絡、移動電話網絡、尋呼網絡、MPLS連接、ISDN網絡等。圖2示出了根據一些實施例的使用前向糾錯(FEC)檢驗可用帶寬的處理200的示例。如圖所示,處理200在202開始之后,處理可以確定是否在204開始測試。可以使用任意適當的一個或多個準則來確定是否開始測試。例如,當確定帶寬使用量的增加將改進發(fā)送器、接收器或耦接到其的設備的性能時,可以開始測試。作為另一示例,可以周期性地開始測試。如果在204確定不應當開始測試,處理200可以分支到206以等待一時間段,然后重新確定是否在204開始測試。如果在204確定要開始測試,則處理200可以接著在208確定要發(fā)送的冗余帶寬的數量。如上所述,該冗余帶寬可以用于檢驗是否存在可用帶寬以及如果帶寬限制(或任意其他條件)導致數據丟失,可以用于恢復數據。例如,在一些實施例中冗余帶寬的數量可以如下計算RB = TB-CB,其中RB是冗余帶寬;TB是要測試的帶寬;以及CB是正在使用的當前帶寬。該確定可以在任何適當設備(諸如發(fā)送器、接收器、或未示出的第三設備)中進行。接下來,在210,可以確定要發(fā)送的附加FEC數據的數量。可以使用用于確定要發(fā)送的附加FEC數據的數量的任何適當機制。例如,在一些實施例中,當η個分組的傳輸包括k個數據分組以及n-k個用于數據保護的分組時,要發(fā)送的FEC分組(n-k) ’ (其包括原始的n-k個分組以及附加的FEC分組)的新數量可以基于以上的RB、TB和CB以及信息分組的當前數量(η)和FEC分組的當前數量(n-k)來計算(n-k) ' = floor (η* (RB/CB)) + (n-k).盡管floorO函數被用在本示例中,但是可替換地,可以使用任何其它適當函數,諸如ceiling O、round O等。類似地,盡管用于確定附加FEC分組的數量的技術的一個示例在以上被示出,但是在一些實施例中可以使用用于進行這種確定的任何適當技術和/或計算。該確定可以在任何適當設備(諸如發(fā)送器、接收器、或未示出的第三設備)中進行。如果208和210由除發(fā)送器以外的設備執(zhí)行,那么(n-k) ’的值可以被傳送給發(fā)送器。在212,隨后可以創(chuàng)建FEC數據??梢允褂糜糜趧?chuàng)建FEC數據的任何適當機制。例如,(n-k) ’個FEC分組可以由如圖I所示的FEC單元108來創(chuàng)建。、
接著在214可以發(fā)送數據和FEC數據。在一些實施例中可以使用任意適當機制來發(fā)送該數據。例如,可以使用任意 適當硬件和任意適當協(xié)議來發(fā)送數據。更具體地,在一些實施例中,該數據可以由適當編碼器106來發(fā)送,而FEC數據可以由適當FEC單元108來發(fā)送。隨后在216檢驗該數據以確定是否存在任何傳輸錯誤,并且在需要時進行修復/重建??梢允褂萌我膺m當技術來檢驗和修復/重建數據。例如,在一些實施例中FEC單元114可以檢驗數據和在需要時修復該數據。在218,接下來可以確定由于以TB速率傳輸數據所導致的錯誤率是否是可接受的。在一些實施例中可以使用任意適當的一個或多個準則來確定該錯誤率是否是可接受的。例如,如果小于某一比例的數據和FEC數據被破壞/丟棄,則可以確定該錯誤率是可接受的。該確定可以在任何適當設備(諸如發(fā)送器、接收器、或未示出的第三設備)中進行。如果錯誤率是可接受的,則在224基于測試可以增加帶寬??梢允褂萌我膺m當機制來確定增加量。例如,在一些實施例中,帶寬的新數量(NB)可以被設置成NB = CB* (((n-k) ’ +k) /η)該確定可以在任何適當設備(諸如發(fā)送器、接收器、或未示出的第三設備)中進行——在后兩種情況下,這種新帶寬值可以被傳送給發(fā)送器。在一些實施例中,如果對于被測試的帶寬,在發(fā)送器和接收器之間的網絡路徑(例如,使用MPLS線路的網絡路徑)沒有網絡問題,則FEC數據的數量可以被設置為O。一旦增加了帶寬,處理200就可以在226終止。但是,如果確定錯誤率不可接受,則在一些實施例中可以在220確定該增加過高。在這種情況下,可以在一些實施例中使用較低的增加或沒有增加。處理200隨后可以確定是否要重新測試,并且如果要,處理200可以循環(huán)回204。否則,處理200可以在226終止。在一些實施例中,可以使用任何適當的計算機可讀介質來存儲用于執(zhí)行本文所述的處理的指令。例如,在一些實施例中,計算機可讀介質可以是臨時性的或非臨時性的。例如,非臨時性的計算機可讀介質可以包括諸如磁性介質(諸如硬盤、軟盤等)、光學介質(諸如光盤、數字視頻盤、藍光盤等)、半導體介質(諸如閃存、電可編程只讀存儲器(EPROM)等)、電可擦除可編程只讀存儲器(EEPROM)等之類的介質,在傳輸期間持久的任意表象不是短暫的或缺乏的任意適當介質,和/或任意適當的有形介質。作為另一個例子,臨時性的計算機可讀介質可以包括網絡上、線路、導體、光纖、電路中的信號,任意適當介質、在傳輸期間持久的任意表象是短暫的或缺乏的任意適當介質,和/或任意適當的無形介質。盡管在上述說明性實施例中已經描述和圖示了本發(fā)明,應當理解本公開僅僅是作為示例而給出的,并且可以在本發(fā)明的實施方式的細節(jié)上做出多種改變而不會背離本發(fā)明的精神和范圍,本發(fā)明的精神和范圍僅由以下的權利要求來限定。例如,盡管圖I和2示出的實施例被描述為包括編碼器和解碼器,但是在一些實施例中,在不需要時可以省略編碼器和解碼器。所公開實施例的特征可以以各種方式組合和重新布置。
權利要求
1.一種使用前向糾錯檢驗可用帶寬的系統(tǒng),包括 至少一個處理器,用于 識別要傳輸的數據; 確定要發(fā)送給接收器的前向糾錯數據的數量; 基于所述要傳輸的數據中的對應數據,創(chuàng)建所述前向糾錯數據; 向所述接收器傳輸所述前向糾錯數據和所述要傳輸的數據中的對應數據; 確定所述對應數據和所述前向糾錯數據中的至少一個中的錯誤級別;以及當所述錯誤級別低于某一值時,在向所述接收器傳輸所述對應數據中所使用的帶寬量之上增加在向所述接收器傳輸所述要傳輸的數據中的其它數據中所使用的帶寬量,并且降低在傳輸所述其它數據中用于所述前向糾錯數據的帶寬量。
2.如權利要求I所述的系統(tǒng),其中在分組中發(fā)送所述對應數據。
3.如權利要求I所述的系統(tǒng),其中所述至少一個處理器還傳輸其它前向糾錯數據。
4.如權利要求I所述的系統(tǒng),其中所述對應數據被編碼。
5.如權利要求I所述的系統(tǒng),其中在傳輸所述其它數據中所使用的帶寬的提高量小于等于用于前向糾錯數據的帶寬的降低量。
6.如權利要求I所述的系統(tǒng),其中所述至少一個處理器包括至少兩個處理器,并且所述至少兩個處理器中的一個處理器處于發(fā)送器中并且傳輸所述前向糾錯數據和所述要傳輸的數據中的對應數據,而所述至少兩個處理器中的另一個處理器處于所述接收器中并且確定所述對應數據和所述前向糾錯數據中的至少一個中的錯誤級別。
7.如權利要求I所述的系統(tǒng),其中所述至少一個處理器包括編碼器和前向糾錯單元。
8.一種使用前向糾錯檢驗可用帶寬的方法,包括 識別要傳輸的數據; 確定要發(fā)送給接收器的前向糾錯數據的數量; 基于所述要傳輸的數據中的對應數據,創(chuàng)建所述前向糾錯數據; 向所述接收器傳輸所述前向糾錯數據和所述要傳輸的數據中的對應數據; 確定所述對應數據和所述前向糾錯數據中的至少一個中的錯誤級別;以及當所述錯誤級別低于某一值時,在向所述接收器傳輸所述對應數據中所使用的帶寬量之上增加在向所述接收器傳輸所述要傳輸的數據中的其它數據中所使用的帶寬量,并且降低在傳輸所述其它數據中用于所述前向糾錯數據的帶寬量。
9.如權利要求8所述的方法,其中在分組中發(fā)送所述對應數據。
10.如權利要求8所述的方法,還包括 傳輸其它前向糾錯數據。
11.如權利要求8所述的方法,其中所述對應數據被編碼。
12.如權利要求8所述的方法,其中在傳輸所述其它數據中所使用的帶寬的提高量小于等于用于前向糾錯數據的帶寬的降低量。
13.如權利要求8所述的方法,其中由第一處理器傳輸所述前向糾錯數據和所述要傳輸的數據中的對應數據,并且由第二處理器確定所述對應數據和所述前向糾錯數據中的至少一個中的錯誤級別。
14.一種包含計算機可執(zhí)行指令的計算機可讀介質,所述計算機可執(zhí)行指令在被處理器執(zhí)行時使得所述處理器執(zhí)行用于使用前向糾錯檢驗可用帶寬的方法,所述方法包括 識別要傳輸的數據; 確定要發(fā)送給接收器的前向糾錯數據的數量; 基于所述要傳輸的數據中的對應數據,創(chuàng)建所述前向糾錯數據; 向所述接收器傳輸所述前向糾錯數據和所述要傳輸的數據中的對應數據; 確定所述對應數據和所述前向糾錯數據中的至少一個中的錯誤級別;以及當所述錯誤級別低于某一值時,在向所述接收器傳輸所述對應數據中所使用的帶寬量之上增加在向所述接收器傳輸所述要傳輸的數據中的其它數據中所使用的帶寬量,并且降低在傳輸所述其它數據中用于所述前向糾錯數據的帶寬量。
15.如權利要求14所述的計算機可讀介質,其中在分組中發(fā)送所述對應數據。
16.如權利要求14所述的計算機可讀介質,其中所述方法還包括 傳輸其它前向糾錯數據。
17.如權利要求14所述的計算機可讀介質,其中所述對應數據被編碼。
18.如權利要求14所述的計算機可讀介質,其中在傳輸所述其它數據中所使用的帶寬的提高量小于等于用于前向糾錯數據的帶寬的降低量。
19.如權利要求14所述的計算機可讀介質,其中由第一處理器傳輸所述前向糾錯數據和所述要傳輸的數據中的對應數據,并且由第二處理器確定所述對應數據和所述前向糾錯數據中的至少一個中的錯誤級別。
全文摘要
本公開提供了使用前向糾錯檢驗可用帶寬的系統(tǒng)、方法和介質,所述方法包括識別要傳輸的數據;確定要發(fā)送給接收器的前向糾錯數據的數量;基于所述要傳輸的數據中的對應數據,創(chuàng)建所述前向糾錯數據;向所述接收器傳輸所述前向糾錯數據和所述要傳輸的數據中的對應數據;確定所述對應數據和所述前向糾錯數據中的至少一個中的錯誤級別;以及當所述錯誤級別低于某一值時,在向所述接收器傳輸所述對應數據中所使用的帶寬量之上增加在向所述接收器傳輸所述要傳輸的數據中的其它數據中所使用的帶寬量,并且降低在傳輸所述其它數據中用于所述前向糾錯數據的帶寬量。
文檔編號H03M13/00GK102648584SQ201080043723
公開日2012年8月22日 申請日期2010年8月22日 優(yōu)先權日2009年8月25日
發(fā)明者S·本-茲德夫, Y·維納爾 申請人:銳迪訊有限公司