專利名稱:保護(hù)無線網(wǎng)絡(luò)中的實(shí)時數(shù)據(jù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線網(wǎng)絡(luò)中的實(shí)時流式數(shù)據(jù),例如音頻/視頻(A/V)流式傳輸。特別地,本發(fā)明涉及保護(hù)這種實(shí)時數(shù)據(jù)的數(shù)據(jù)通信不受干擾從而確保不中斷的流式傳輸。
背景技術(shù):
目前的無線網(wǎng)絡(luò)接入系統(tǒng)通常在接入點(diǎn)和客戶機(jī)之間的無線鏈路上具有有限的帶寬。盡管單個客戶機(jī)可以體驗(yàn)到寬帶連接,但在相同接入點(diǎn)上來自其它用戶的數(shù)據(jù)組將會瞬時地干擾連接。當(dāng)寬帶連接用于普通數(shù)據(jù)通信時這一般不會帶來什么問題。但是,當(dāng)寬帶連接傳輸諸如A/V流的實(shí)時數(shù)據(jù)時,由于來自其它用戶的數(shù)據(jù)組而導(dǎo)致的數(shù)據(jù)丟失將干擾流式傳輸,應(yīng)該避免這種數(shù)據(jù)丟失。對于無線網(wǎng)絡(luò)有若干種不同的標(biāo)準(zhǔn),其中IEEE802.11b是目前最通用的。此外,還有若干種可以用在無線網(wǎng)絡(luò)中并且應(yīng)用不同標(biāo)準(zhǔn)的通信協(xié)議。
US 2002/0075806 A1公開了一種數(shù)據(jù)通信系統(tǒng)和一種方法,用于在系統(tǒng)中自始至終保持服務(wù)質(zhì)量(QoS)。該系統(tǒng)需要確保諸如音頻和視頻會議的對延遲敏感的業(yè)務(wù)接收到受保證的帶寬,但這以損害其它數(shù)據(jù),如Internet,文件傳輸?shù)葹榇鷥r。通過在貫穿系統(tǒng)中的級聯(lián)網(wǎng)絡(luò)的連續(xù)鏈路中保留時隙來保證帶寬。對時隙計(jì)時以使第一時隙在連續(xù)時隙之前一個較短的時間開始從而為通過級聯(lián)網(wǎng)絡(luò)的流暢的流式傳輸做準(zhǔn)備。
現(xiàn)有的技術(shù)認(rèn)識到在可達(dá)到的帶寬有限的無線網(wǎng)絡(luò)中分配更多帶寬給實(shí)時數(shù)據(jù)的問題。但是,現(xiàn)有的技術(shù)未能就在實(shí)踐中怎樣分配帶寬指出詳細(xì)的解決方案。
在IEEE802.11b無線網(wǎng)絡(luò)中A/V媒體內(nèi)容的流式傳輸可能會有問題。因?yàn)?02.11b標(biāo)準(zhǔn)僅僅定義了無線以太網(wǎng),而對同步信道沒有適當(dāng)?shù)闹С?,所以其它網(wǎng)絡(luò)流量能夠很容易地干擾實(shí)時數(shù)據(jù)。盡管802.11b包括了信道預(yù)留模式(RTS/CTS),但這種模式?jīng)]有解決上述問題,而且它是任選的,只有少數(shù)產(chǎn)品實(shí)現(xiàn)了它。在802.11e中實(shí)現(xiàn)了新的QoS特性,但在802.11b中則沒有。
發(fā)明內(nèi)容
本發(fā)明的一個目標(biāo)是提供一種系統(tǒng)和一種方法,用于在無線網(wǎng)絡(luò)協(xié)議中給實(shí)時數(shù)據(jù)傳輸分配帶寬。
第一方面,本發(fā)明提供一種系統(tǒng)用于在接入點(diǎn)和無線網(wǎng)絡(luò)中的一個或多個第一客戶機(jī)之間傳輸實(shí)時數(shù)據(jù),該系統(tǒng)包括-以包括用戶數(shù)據(jù)報(bào)協(xié)議(UDP)的傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)組運(yùn)行的一個接入點(diǎn),-與該接入點(diǎn)相關(guān)聯(lián)的兩個或多個客戶機(jī)以形成一個無線網(wǎng)絡(luò),以及-由該接入點(diǎn)持有的流量調(diào)節(jié)器,用于至少在接入點(diǎn)和第一客戶機(jī)之間傳輸實(shí)時數(shù)據(jù)時,延遲從接入點(diǎn)到除該一個或多個第一客戶機(jī)以外的其它客戶機(jī)的至少一些分組的傳輸。
優(yōu)選地,該流量調(diào)節(jié)器模塊包括一個這樣的單元,該單元適合檢查要從接入點(diǎn)發(fā)送出去的分組的報(bào)頭并且如果該分組被確認(rèn)為TCP確認(rèn)就延遲所述TCP確認(rèn)(TCP ACK)的傳輸。
在一種優(yōu)選實(shí)施方案中,當(dāng)非實(shí)時數(shù)據(jù)傳輸是上行時,也就是從干擾客戶機(jī)(非第一客戶機(jī))到接入點(diǎn)時,流量調(diào)節(jié)器模塊在下行TCP ACK中引入適當(dāng)?shù)难舆t。這種技術(shù)采用了基于TCP ACK分組的自同步(self-clocking)TCP流控制機(jī)制。
在另一種優(yōu)選實(shí)施方案中,流量調(diào)節(jié)器模塊在非實(shí)時通信分組(TCP ACK和數(shù)據(jù)有效載荷分組)的所有下行IP分組中都引入延遲。也可只在帶寬需求較高的下行IP分組(如有效載荷分組)中引入延遲。
該流量調(diào)節(jié)器模塊優(yōu)選地是在諸如接入點(diǎn)的固定網(wǎng)關(guān)上執(zhí)行的網(wǎng)絡(luò)驅(qū)動程序中的一個軟件。它運(yùn)行在協(xié)議棧中的鏈路層上。該流量調(diào)節(jié)器優(yōu)選地不更改現(xiàn)有的協(xié)議,它只是提供附加的功能。
該系統(tǒng)優(yōu)選地包括一個適合暫時存儲被延遲的分組的存儲緩沖區(qū)。該存儲緩沖區(qū)可以是對于固定網(wǎng)關(guān)可用的的任意存儲器并且可由流量調(diào)節(jié)器模塊指定為存儲緩沖區(qū)。
第二方面,本發(fā)明提供了一種方法用于通過利用使用下列方法步驟獲得的可用帶寬在以包括UDP的TCP/IP組運(yùn)行的接入點(diǎn)和無線網(wǎng)絡(luò)中的一個或多個第一客戶機(jī)之間傳輸實(shí)時數(shù)據(jù)-控制該無線網(wǎng)絡(luò)中的其它客戶機(jī)和該接入點(diǎn)之間的數(shù)據(jù)傳輸以分配更大的帶寬給該一個或多個第一客戶機(jī),控制所述流量的步驟包括延遲從接入點(diǎn)到客戶機(jī)的至少一些TCP確認(rèn)的傳輸?shù)牟襟E,-在接入點(diǎn)和第一客戶機(jī)之間傳輸實(shí)時數(shù)據(jù)。
可選地,也可以延遲從接入點(diǎn)到所有客戶機(jī)的非實(shí)時下行流量。
第三方面,本發(fā)明提供了一種方法用于控制從在無線網(wǎng)絡(luò)中的客戶機(jī)到所述無線網(wǎng)絡(luò)的一個接入點(diǎn)的數(shù)據(jù)傳輸,該接入點(diǎn)和客戶機(jī)以包括UDP的TCP/IP組運(yùn)行,該方法包括下列步驟-在接入點(diǎn)上從外部網(wǎng)絡(luò)或固定網(wǎng)關(guān)自身中的應(yīng)用程序接收下行數(shù)據(jù)分組,-檢查所述分組的報(bào)頭以確定是否有分組是到該無線網(wǎng)絡(luò)中的客戶機(jī)的TCP確認(rèn),-確定所述客戶機(jī)的可用帶寬是否會被來自該客戶機(jī)的上行數(shù)據(jù)分組超出,如果將要超出的話,就延遲從接入點(diǎn)到該客戶機(jī)的所述TCP確認(rèn)的傳輸。
第四方面,本發(fā)明提供了一種包含這樣的信息的記錄載體,該信息在被裝入計(jì)算機(jī)或由計(jì)算機(jī)執(zhí)行時能夠完成根據(jù)本方面的第二和第三方面的一個或多個步驟。
在本申請中,術(shù)語實(shí)時數(shù)據(jù)指的是在進(jìn)入計(jì)算機(jī)時就被處理的數(shù)據(jù),與BATCH處理(批處理)相反,在批處理中信息在進(jìn)入計(jì)算機(jī)后被存儲起來以后再進(jìn)行處理。實(shí)時數(shù)據(jù)也被稱為流式媒體。實(shí)時數(shù)據(jù)通常是諸如實(shí)況視頻或?qū)崨r音頻傳輸?shù)牧?stream)。但是,在必須由客戶機(jī)察看大量外部數(shù)據(jù)(例如存儲在另一PC中的電影剪輯)時也使用實(shí)時流式傳輸??蛻魴C(jī)在數(shù)據(jù)到達(dá)時就開始逐步察看而不是等待所有數(shù)據(jù)都下載完之后再察看。因而數(shù)據(jù)自身不需要是實(shí)時的,它可以在很早以前就被記錄下來。傳輸中的中斷意味著在數(shù)據(jù)的執(zhí)行中的中斷(如果中斷超出了緩沖區(qū)大小),這是不希望有的情況。流式傳輸通常用于帶有音頻/視頻內(nèi)容的數(shù)據(jù),因?yàn)樗鼈儑?yán)格的時間要求要顧及運(yùn)行時執(zhí)行,但是,流式傳輸也可以于其它類型的數(shù)據(jù)。
接入點(diǎn)是把無線網(wǎng)絡(luò)互連到有線網(wǎng)絡(luò)的一種網(wǎng)絡(luò)設(shè)備。有線網(wǎng)絡(luò)可以被互連到其它無線網(wǎng)絡(luò)以使該接入點(diǎn)能夠用來互連兩個無線網(wǎng)絡(luò)。接入點(diǎn)通常是專用的網(wǎng)絡(luò)接入設(shè)備或服務(wù)器,例如具備諸如使用無線IEEE802.11標(biāo)準(zhǔn)的TCP/IP的通信協(xié)議的PC或固定網(wǎng)關(guān)(RG)。
在本申請中,客戶機(jī)是請求與接入點(diǎn)進(jìn)行無線通信的設(shè)備(或軟件)??蛻魴C(jī)可以是另一服務(wù)器、PC、蜂窩電話、個人數(shù)字助理(PDA)、或使用無線通信協(xié)議并具備數(shù)據(jù)的無線發(fā)送和接收裝置的任意其它設(shè)備。
本發(fā)明的一個優(yōu)點(diǎn)是它利用了現(xiàn)有無線網(wǎng)絡(luò)通信協(xié)議的知識并且不在協(xié)議的正常操作模式中引入變化,不管是在MAC層和傳輸層都不引入變化,并且IEEE802.11b和TCP/IP協(xié)議的實(shí)現(xiàn)都不變。
本發(fā)明的一種優(yōu)選實(shí)施方案的一個優(yōu)點(diǎn)是它改善了實(shí)時流式傳輸?shù)慕桓?,這樣一來,就不需要在客戶機(jī)上安裝任何新組件,本發(fā)明可以和任何具備擁有合適的標(biāo)準(zhǔn)響應(yīng)的協(xié)議的無線客戶機(jī)一起使用。
本發(fā)明的一種優(yōu)選實(shí)施方案的一個優(yōu)點(diǎn)是它改善了實(shí)時流式內(nèi)容的交付而任一客戶機(jī)上的應(yīng)用程序都不知道這一點(diǎn),它們僅僅簡單地體驗(yàn)了增加的往返時間。
本發(fā)明的一種優(yōu)選實(shí)施方案的一個優(yōu)點(diǎn)是它改善了在類似IEEE802.11b這樣的無線以太網(wǎng)媒體網(wǎng)絡(luò)中實(shí)時流式內(nèi)容的交付,而沒有利用信道預(yù)定模式(只有少數(shù)產(chǎn)品實(shí)現(xiàn)了信道預(yù)定模式)并且沒有在MAC操作中進(jìn)行更改。
在可達(dá)到的帶寬收到限制的無線網(wǎng)絡(luò)中分配更多帶寬給實(shí)時數(shù)據(jù)的問題可以分成下行情況和上行情況。對下行非實(shí)時流式傳輸?shù)那闆r來說,可以延遲到其它客戶機(jī)的下行數(shù)據(jù)傳輸??梢栽O(shè)置流量調(diào)節(jié)器模塊(traffic shaper module)以控制到所有客戶機(jī)的數(shù)據(jù)傳輸,并由此在一個特定的客戶機(jī)需要一定帶寬時延遲到其它特定客戶機(jī)的數(shù)據(jù)。但是,上行情況更復(fù)雜一些。這里,必須集中控制來自所有其它客戶機(jī)的數(shù)據(jù)傳輸而不只是實(shí)時流式傳輸。但是,這些客戶機(jī)可能是各種類型的標(biāo)準(zhǔn)設(shè)備,它們可能還沒有安裝流量控制模塊。因而,必須從接入點(diǎn)遠(yuǎn)程控制來自所有客戶機(jī)的數(shù)據(jù)傳輸。
本發(fā)明的基本思想是利用像TCP/IP這樣的現(xiàn)有的網(wǎng)絡(luò)通信協(xié)議的知識。通過延遲到不用于實(shí)時流式傳輸?shù)亩丝?客戶機(jī))的分組(例如TCP ACK),在接入點(diǎn)中流量調(diào)節(jié)器1.模擬更長的往返時間(RTT)??蛻魴C(jī)上的TCP協(xié)議通過保存要發(fā)送的下一個分組直到它接收到延遲的TCP ACK來響應(yīng)增加的RTT,這也適用于隨后的分組。在滑動窗口流(flow)控制機(jī)制中,它意味著窗口直到接收到ACK才移動到下一段。這降低了來自客戶機(jī)的傳輸速率并由此給實(shí)時數(shù)據(jù)端口留出更多帶寬。
2.人為增加這些端口的平均RTT和RTT方差。客戶機(jī)上的協(xié)議通過增加重傳超時來響應(yīng)增加的RTT平均值和方差,借此由于TCP ACK被越來越多地延遲而不發(fā)送重傳。這確保了超時被逐漸增加以使客戶機(jī)不會用重傳淹沒無線介質(zhì)。
非流式客戶機(jī)上的協(xié)議是標(biāo)準(zhǔn)TCP協(xié)議,它以標(biāo)準(zhǔn)方式響應(yīng)由流量調(diào)節(jié)器造成的延遲。同樣,會發(fā)生來自非流式客戶機(jī)上的應(yīng)用程序的分組的延遲以及隨后來自它的傳輸速率的下降,而該應(yīng)用程序并不知道這一點(diǎn)。因而不需要在客戶機(jī)上安裝任何組件。
參考此后所描述的實(shí)施方案可以明了并闡明本發(fā)明的這些方面和其它方面。
圖1示出一個具有接入點(diǎn)和多個客戶機(jī)的無線網(wǎng)絡(luò)。
圖2示出根據(jù)本發(fā)明的流量調(diào)節(jié)器在服務(wù)器協(xié)議棧中的位置。
圖3是一個流程圖,展示了決定要延遲哪些分組的過程。
圖4A是對現(xiàn)有技術(shù)的系統(tǒng)中分組流(packet flow)的描繪。
圖4B是對依照本發(fā)明而引入的對TCP ACK信號的延遲的描繪。
具體實(shí)施例方式
在圖1中所示的本發(fā)明的一個優(yōu)選實(shí)施方案中,具有接入點(diǎn)103的網(wǎng)絡(luò)接入服務(wù)器102和多個客戶機(jī)104、105和106形成一個連接到因特網(wǎng)101的無線網(wǎng)絡(luò)100。接入服務(wù)器和接入點(diǎn)可以是一個集成設(shè)備,并且由此可以互換地引用。無線網(wǎng)絡(luò)在TCP/IP下運(yùn)行,使用IEEE802.11b標(biāo)準(zhǔn),并且可以配置成基礎(chǔ)結(jié)構(gòu)模式或特設(shè)模式(ad-hocmode)。實(shí)時數(shù)據(jù)107要在接入點(diǎn)103和客戶機(jī)104之間傳輸(從接入點(diǎn)到客戶機(jī)或以相反的方向)。在下面的部分中,將關(guān)于這個優(yōu)選實(shí)施方案描述本發(fā)明。這不應(yīng)意味著這個優(yōu)選實(shí)施方案中的特定單元對本發(fā)明是必需的,也不應(yīng)被解釋為限制本發(fā)明的范圍。
本發(fā)明提供一種方法用于控制從客戶機(jī)105和106到接入點(diǎn)103的上行數(shù)據(jù)傳輸,以便給具有上行實(shí)時數(shù)據(jù)的端口保留上行帶寬。因而,本發(fā)明通過干擾下行數(shù)據(jù)傳輸來控制上行數(shù)據(jù)傳輸。
本發(fā)明也能夠?yàn)椴痪哂芯o急的流式內(nèi)容的下行數(shù)據(jù)分組提供延遲,從而為具有下行實(shí)時數(shù)據(jù)的端口保留下行帶寬。根據(jù)本發(fā)明的流量調(diào)節(jié)器通過查看可用帶寬(=總帶寬減去流式端口所需的帶寬再減去MAC開銷帶寬)和進(jìn)來的下行數(shù)據(jù)分組的大小能夠完成這個功能。如果下行數(shù)據(jù)分組的速率超過了瞬時可用帶寬,就應(yīng)該延遲或丟棄這些分組??刂葡滦袛?shù)據(jù)以保留下行帶寬是一個簡單的任務(wù),該任務(wù)由流量調(diào)節(jié)器完成而不需要專門的信令協(xié)議。
在本說明書中,如果說數(shù)據(jù)分組不會被延遲,意思是說它不會因?yàn)榭刂茝目蛻魴C(jī)105和106到接入點(diǎn)103的上行數(shù)據(jù)傳輸?shù)哪康亩谎舆t。但是,可以為了控制從接入點(diǎn)103到客戶機(jī)105和106的下行數(shù)據(jù)傳輸而延遲相同的數(shù)據(jù)分組。
流量調(diào)節(jié)器模塊是一個存儲在也持有IEEE802.11b卡的網(wǎng)絡(luò)驅(qū)動程序和TCP/IP協(xié)議的網(wǎng)絡(luò)接入服務(wù)器102上的一個軟件包。圖2示出流量調(diào)節(jié)器模塊在協(xié)議棧中的位置。流量調(diào)節(jié)器可以被實(shí)現(xiàn)為一個虛擬設(shè)備驅(qū)動程序,它在TCP/UDP/IP棧和已有的無線網(wǎng)絡(luò)驅(qū)動程序之間交換數(shù)據(jù)分組。流量調(diào)節(jié)器模塊因此運(yùn)行在鏈路層上,并且它利用了TCP流控制算法的知識。為此,如果通信沒有被加密,它需要檢查它接收到的所有分組(上行或下行)并查看報(bào)頭字段。上行分組由更低層的無線網(wǎng)絡(luò)驅(qū)動程序接收到并且可以用來確定一個特定的無線客戶機(jī)在適當(dāng)?shù)奈恢檬欠裼幸粋€正在進(jìn)行的數(shù)據(jù)傳輸或者正在啟動一個新的數(shù)據(jù)傳輸。下行分組由流量調(diào)節(jié)器從較高層(IP棧或橋模塊)接收到,并且被立即或經(jīng)過一個指定的延遲后發(fā)送出去,或者在類似其它寬帶通信的ARP的冗余網(wǎng)絡(luò)協(xié)議的情況下被丟棄。在最簡單的情況下,分組被明文發(fā)送,而流量調(diào)節(jié)器可以直接檢查報(bào)頭字段以便識別出例如TCP ACK。在加密分組的情況下,流量調(diào)節(jié)器可以試圖通過查看幀大小以及報(bào)頭的未加密部分來識別TCP ACK。
在圖3中示出流量調(diào)節(jié)器模塊的分組處理算法的流程圖300。要發(fā)送的下行分組被分類和緩存在分開的具有不同優(yōu)先級的隊(duì)列301、302和303中,取決于分組所屬的流(flow);實(shí)時流式分組、其它數(shù)據(jù)分組或TCP ACK。
為了對分組分類,首先檢查IP分組的協(xié)議類型。如果協(xié)議類型是UDP,就很可能是一個實(shí)時通信分組。進(jìn)一步核對源UDP端口和眾所周知的實(shí)時流式端口將揭示我們是否正在處理“緊急”分組。如果該分組被識別為緊急實(shí)時數(shù)據(jù),需要由流量調(diào)節(jié)器進(jìn)行另一操作,它需要跟蹤并存儲當(dāng)前使用的流式應(yīng)用程序所需的帶寬。這個信息隨后被用來了解有多少帶寬可用于非實(shí)時TCP應(yīng)用并用來有效地管理資源。如果該IP分組不是UDP類型,我們檢查它是否是一個TCP ACK。ACK一般很容易識別,因?yàn)橥ǔK鼈兏静粩y帶有效載荷并且具有“ACK”字段設(shè)置。如果我們正在處理一個TCP ACK,我們必須識別出它所屬的TCP連接(與我們對UDP通信所做的類似)以便計(jì)算出我們將要施加給該分組的延遲。根據(jù)我們擁有的可用帶寬(即,鏈路的帶寬減去由實(shí)時數(shù)據(jù)應(yīng)用消耗的帶寬再減去MAC開銷),當(dāng)然還要根據(jù)上行IP分組的大小,計(jì)算出延遲。上行分組大小在MAC層是已知的,并且由無線網(wǎng)絡(luò)驅(qū)動程序提供。
如果通信是加密的,排序操作會更加復(fù)雜。如果使用安全套接字層(SSL)機(jī)制(對安全的因特網(wǎng)事務(wù)來說這是通常的情況),TCP/IP分組被以明文發(fā)送并且流量調(diào)節(jié)器能夠容易地識別出TCP ACK。如果不是這樣而是應(yīng)用了網(wǎng)絡(luò)層安全(例如在使用虛擬個人網(wǎng)絡(luò)時),那么TCP報(bào)頭就是加密的。這種情況下,流量調(diào)節(jié)器只能檢查IP報(bào)頭以過濾那些被導(dǎo)向特定從屬者(slave)的分組。流量調(diào)節(jié)器可以選擇對除了屬于A/V流的分組之外的所有分組延遲一定時間Δ(B),該時間Δ(B)依賴于為流式傳輸保留的帶寬B。
隊(duì)列是針對實(shí)時數(shù)據(jù)的高優(yōu)先級隊(duì)列301,針對下行數(shù)據(jù)分組的普通優(yōu)先級隊(duì)列302,和針對TCP ACK的低優(yōu)先級隊(duì)列303.自然,可以在本發(fā)明的工作原理下創(chuàng)建其它隊(duì)列。調(diào)度器304根據(jù)一種考慮了隊(duì)列優(yōu)先級的策略來清空隊(duì)列。這種策略的一個例子是加權(quán)循環(huán)(WRR),但在文獻(xiàn)中也可找到許多其它調(diào)度算法。采用WRR,調(diào)度器304用與隊(duì)列優(yōu)先級成正比的頻率輪詢每個隊(duì)列,如果隊(duì)列中緩存了至少一個分組,就將其從隊(duì)列中取出用于發(fā)送。WRR的一個可行的替代是所謂的最早截止時間優(yōu)先(EDF)調(diào)度策略。采用EDF,在每個要發(fā)送的分組被加入隊(duì)列中時為其附上一個時間戳。當(dāng)決定要發(fā)送哪個分組時,調(diào)度器304在各個隊(duì)列中查找具有最緊急的時間戳指示的分組。在這種情況下,流量調(diào)節(jié)器模塊的分類功能(它區(qū)分通信流)需要正確地分配這種時間戳。
圖4A和4B給出了本發(fā)明的工作原理的詳細(xì)示意。圖4A示出使用不具有根據(jù)本發(fā)明的流量調(diào)節(jié)器的TCP的信號流(signal flow)。在圖4A中,當(dāng)客戶機(jī)401發(fā)送數(shù)據(jù)段402給服務(wù)器403時,它期望目標(biāo)服務(wù)器403無論何時成功接收到段402都用TCP ACK 404響應(yīng)。每次該客戶機(jī)發(fā)送一個段,它都啟動一個定時器并等待TCP ACK。如果定時器在對應(yīng)的TCP ACK之前期滿(超時),TCP就假定分組已丟失或已被破壞并重新發(fā)送它。優(yōu)選地設(shè)置重傳超時以使每當(dāng)分組在它們的路徑上(或在ACK路徑上)經(jīng)歷了延遲時它們不會被重新發(fā)送。另一方面,如果超時過長,丟失的數(shù)據(jù)的重新建立將會過慢。在TCP/IP中,對超時的連續(xù)計(jì)算是基于應(yīng)用了RTT的方差和平均值兩者的算法。
圖4B示出使用具有根據(jù)本發(fā)明的流量調(diào)節(jié)器模塊的TCP的信號流(signal flow)。該模塊利用TCP/IP的TCP ACK同步過程以間接控制來自客戶機(jī)的傳輸。在J.Border等的“Performance EnhancingProxies Intended to Mitigate Link-Related Degradations”(RFC3135,IETF PILC WG)中描述了TCP ACK同步。在圖4B中,當(dāng)客戶機(jī)401發(fā)送數(shù)據(jù)段402給服務(wù)器403時,這些數(shù)據(jù)不會由接入點(diǎn)103延遲。如果另一客戶機(jī)正在傳輸實(shí)時數(shù)據(jù),從服務(wù)器403到客戶機(jī)401的ACK 404將被流量調(diào)節(jié)器模塊根據(jù)關(guān)于圖3所描述的過程識別為一個TCP ACK。如果需要延遲該ACK以便保護(hù)上行帶寬,就將該ACK延遲一個指定的時間,即ACK延遲。RTT也被相應(yīng)地延長了。在延遲期間,該ACK幀被存儲在接入點(diǎn)上的緩沖區(qū)中。在延遲該ACK時,重要的是不使ACK延遲過長以致RTT超出了超時時間(timeout),因?yàn)檫@將產(chǎn)生不可控制的上行數(shù)據(jù)。因此,可以根據(jù)客戶機(jī)的TCP上的超時計(jì)算確定ACK延遲。在例如Douglas E.Comer的“Internetworking withTCP/IP”(第I卷,第三版,Prentice-Hall,1995,ISBN 0-13-216987-8)中可以找到關(guān)于RTT和重傳超時計(jì)算的內(nèi)容。
可以根據(jù)若干種算法計(jì)算要施加給TCP ACK的時間延遲。下面我們給出一種可以為了本發(fā)明而使用的簡單算法的例子。假定一個無線網(wǎng)絡(luò)下行實(shí)時數(shù)據(jù),并且只具備單個干擾TCP連接,具備固定的分組大小、飽和的TCP窗口以及有規(guī)則的ACK分組流,我們定義-TACK作為TCP ACK分組的到達(dá)間隔時間
-ΔACK作為要施加的延遲-BTCP作為測定出的由TCP連接消耗的平均帶寬-B’TCP作為期望的用于TCP連接的目標(biāo)帶寬(=Btotal-Brcal-time stream)-T’ACK=TACK+ΔACK為新的TCP ACK到達(dá)間隔時間容易觀察到TACKBTCP=(TACK+ΔACK)B’TCP(1)得到ΔACK=(BTCP/B’TCP-1)TACK(2)但是,應(yīng)該注意到新的TCP ACK到達(dá)間隔時間不應(yīng)該超過TCP重傳超時定時器(通常的值為200-250ms),該定時器通常會觸發(fā)分組重傳和無線帶寬的浪費(fèi)。
TACK可以由接入點(diǎn)通過計(jì)算在連續(xù)的ACK分組之間的到達(dá)間隔時間的運(yùn)行時平均值來測定。接入點(diǎn)通過測定客戶機(jī)正在產(chǎn)生的流量(這種統(tǒng)計(jì)總是由WLAN硬件收集并由無線網(wǎng)絡(luò)驅(qū)動程序獲得)輕易地得到BTCP。應(yīng)該計(jì)算目標(biāo)TCP帶寬B’TCP以便為實(shí)時流式連接釋放足夠的帶寬。還應(yīng)該注意到這個帶寬對應(yīng)于實(shí)際吞吐量(goodput),意味著必須考慮無線信道狀況。實(shí)際上,發(fā)送出的分組上的錯誤產(chǎn)生重傳并因此浪費(fèi)了更多的帶寬,而這種情況也應(yīng)該考慮進(jìn)來。接入點(diǎn)知道與無線網(wǎng)絡(luò)狀況有關(guān)的足夠信息,因?yàn)樗軌驅(qū)γ總€連接的客戶機(jī)測定信噪比。
所提議的算法是穩(wěn)定的,因?yàn)門CP ACK分組將只在一開始累積在接入點(diǎn)的緩沖區(qū)中。在與往返時間相等的一段時間后,TCP將自動降低它的傳輸率并且將以更慢的速度產(chǎn)生TCP ACK而緩沖區(qū)最終不會溢出。
上述策略僅是為了降低無線網(wǎng)絡(luò)中由客戶機(jī)產(chǎn)生的流量而計(jì)算TCP ACK延遲的若干可行技術(shù)之一。例如,在多干擾TCP連接的情況下,可以調(diào)整上述算法以降低專用于TCP連接的總的帶寬??梢詾槊總€TCP連接(它可以是資源消耗的)運(yùn)行上述算法的一個實(shí)例或者將所有TCP流(flow)聚合成單個連接。
對于突發(fā)的TCP流量,無論何時TCP ACK到達(dá)頻率超出預(yù)定限值,該算法都會被自動激活。換句話說,在(2)中計(jì)算出的延遲僅在TCP ACK以小于T’ACK的間隔到達(dá)時才會被應(yīng)用。
該算法在相同無線網(wǎng)絡(luò)中的客戶機(jī)想要彼此通信時也是有效的。例如,在圖1中,如果客戶機(jī)104想要用以基礎(chǔ)結(jié)構(gòu)模式配置的IEEE802與客戶機(jī)106交換實(shí)時數(shù)據(jù),它向接入點(diǎn)103發(fā)送一個幀,然后該幀被一個網(wǎng)橋轉(zhuǎn)發(fā)到客戶機(jī)106。這意味著流量調(diào)節(jié)器也截取客戶機(jī)之間的流量并在需要時能夠隨意延遲它。
在本申請中,術(shù)語“包括”并不排除其它單元或步驟。術(shù)語“一個”也不排除多個。
權(quán)利要求
1.一種系統(tǒng),用于在接入點(diǎn)和無線網(wǎng)絡(luò)中的一個或多個第一客戶機(jī)之間傳輸實(shí)時數(shù)據(jù),該系統(tǒng)包括-以包括用戶數(shù)據(jù)報(bào)協(xié)議的傳輸控制協(xié)議/網(wǎng)際協(xié)議組運(yùn)行的一個接入點(diǎn),-與該接入點(diǎn)相關(guān)聯(lián)以形成一個無線網(wǎng)絡(luò)的兩個或多個客戶機(jī),-由接入點(diǎn)持有的一個流量調(diào)節(jié)器模塊,用于至少在接入點(diǎn)和第一客戶機(jī)之間傳輸實(shí)時數(shù)據(jù)時延遲從接入點(diǎn)到非該一個或多個第一客戶機(jī)的其它客戶機(jī)的至少一些分組的傳輸。
2.根據(jù)權(quán)利要求1的系統(tǒng),其中流量調(diào)節(jié)器模塊形成了TCP/IP協(xié)議棧中網(wǎng)絡(luò)接口層的一部分。
3.根據(jù)權(quán)利要求1的系統(tǒng),其中流量調(diào)節(jié)器模塊包括一些單元,它們適合于檢查要從接入點(diǎn)發(fā)送出去的分組的報(bào)頭并且如果該分組被識別為到該一個或多個第一客戶機(jī)之一的實(shí)時數(shù)據(jù)時不延遲所述實(shí)時數(shù)據(jù)傳輸。
4.根據(jù)權(quán)利要求1的系統(tǒng),其中流量調(diào)節(jié)器模塊包括一個單元,其適合于檢查要從接入點(diǎn)發(fā)送出去的分組的報(bào)頭并且如果該分組被識別為到非該一個或多個第一客戶機(jī)的另一客戶機(jī)的TCP確認(rèn)時延遲或丟棄所述TCP確認(rèn)的傳輸。
5.一種方法,用于在以包括用戶數(shù)據(jù)報(bào)協(xié)議的傳輸控制協(xié)議/網(wǎng)際協(xié)議組運(yùn)行的一個接入點(diǎn)與無線網(wǎng)絡(luò)中的一個或多個第一客戶機(jī)之間傳輸實(shí)時數(shù)據(jù),該方法包括下列步驟-控制無線網(wǎng)絡(luò)中的其它客戶機(jī)和該接入點(diǎn)之間的數(shù)據(jù)傳輸從而為該一個或多個第一客戶機(jī)分配更多帶寬,控制所述流量的步驟包括延遲或丟棄從該接入點(diǎn)到其它客戶機(jī)的至少一些TCP確認(rèn)的步驟,-在該接入點(diǎn)和第一客戶機(jī)之間傳輸實(shí)時數(shù)據(jù)。
6.一種方法,用于控制從無線網(wǎng)絡(luò)中的客戶機(jī)到所述無線網(wǎng)絡(luò)的一個接入點(diǎn)的數(shù)據(jù)傳輸,該接入點(diǎn)和客戶機(jī)以包括用戶數(shù)據(jù)報(bào)協(xié)議的傳輸控制協(xié)議/網(wǎng)際協(xié)議組運(yùn)行,該方法包括下列步驟-在接入點(diǎn)接收下行數(shù)據(jù)分組,-檢查所述分組的報(bào)頭以確定一個數(shù)據(jù)分組是否是到該無線網(wǎng)絡(luò)中的一個客戶機(jī)的TCP確認(rèn),-確定所述客戶機(jī)的可用帶寬是會被來自該客戶機(jī)的上行數(shù)據(jù)分組超出,如果將超出就延遲從接入點(diǎn)到該客戶機(jī)的所述TCP確認(rèn)的傳輸。
7.一種記錄載體,其所包括的信息在被裝入計(jì)算機(jī)或由計(jì)算機(jī)執(zhí)行時完成根據(jù)權(quán)利要求5或6的步驟中的一個或多個。
全文摘要
本發(fā)明提供了一種流量調(diào)節(jié)器模塊在可達(dá)到的帶寬有限的無線TCP/IP網(wǎng)絡(luò)中給實(shí)時數(shù)據(jù)分配更多帶寬。這種模塊尤其與IEEE802.11b網(wǎng)絡(luò)相關(guān)。對于下行數(shù)據(jù),可以設(shè)置該流量調(diào)節(jié)器模塊以控制到所有客戶機(jī)的傳輸并由此使攜帶實(shí)時數(shù)據(jù)的端口優(yōu)先。對于上行的情況,將減少或延遲來自所有類型的標(biāo)準(zhǔn)設(shè)備的數(shù)據(jù)傳輸。因此,必須從接入點(diǎn)遠(yuǎn)程控制來自其它客戶機(jī)的數(shù)據(jù)傳輸。通過延遲或丟棄到其它客戶機(jī)的分組(例如TCP確認(rèn)),該流量調(diào)節(jié)器模塊人為地增加它們的往返時間(RTT)。在這些客戶機(jī)上的協(xié)議通過以更低的速率發(fā)送數(shù)據(jù)而響應(yīng)增加的RTT,由此給實(shí)時數(shù)據(jù)端口留出更多的帶寬。
文檔編號H04L12/28GK1729664SQ200380107112
公開日2006年2月1日 申請日期2003年11月20日 優(yōu)先權(quán)日2002年12月19日
發(fā)明者D·梅皮格納諾, D·斯奧帕伊斯 申請人:皇家飛利浦電子股份有限公司