欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Tcp分組間距的制作方法

文檔序號(hào):7942762閱讀:131來(lái)源:國(guó)知局
專利名稱:Tcp分組間距的制作方法
TCP分組間距相關(guān)專利的交叉引用本申請(qǐng)主張名稱作“TCP分組間距(TCP Packet Spacing),,、申請(qǐng)于2007年12月 28日、申請(qǐng)?zhí)枮?1/017,275的美國(guó)臨時(shí)申請(qǐng)的權(quán)利,在此通過(guò)引用將該臨時(shí)申請(qǐng)并入。
背景技術(shù)
分組突發(fā)是比如高速下行鏈路分組接入(HSDPA)等現(xiàn)在的高速無(wú)線數(shù)據(jù)網(wǎng)絡(luò)中 的普遍問(wèn)題,而且分組突發(fā)產(chǎn)生于實(shí)現(xiàn)這種網(wǎng)絡(luò)的方式。通過(guò)無(wú)線數(shù)據(jù)網(wǎng)絡(luò)向移動(dòng)客戶機(jī) 發(fā)送數(shù)據(jù)的TCP服務(wù)器或者代理可以接收TCP確認(rèn)分組的突然突發(fā)。由于在上行鏈路路徑 上緩存TCP確認(rèn)分組而引起這些突發(fā)。TCP確認(rèn)分組的緩存是實(shí)現(xiàn)高速數(shù)據(jù)網(wǎng)絡(luò)的方式的 副作用,并且主要被需要用于在傳遞TCP分組的同時(shí)維持秩序。TCP確認(rèn)分組的這種突發(fā)也 可能由無(wú)線電信道衰落引起。無(wú)線電信道衰落是由于多種原因引起的,比如大氣干擾、移動(dòng) 單元和小區(qū)發(fā)射塔收發(fā)器之間的距離等等。為應(yīng)對(duì)TCP確認(rèn)的突發(fā),TCP服務(wù)器通常向移動(dòng)客戶機(jī)發(fā)送數(shù)據(jù)分組的突發(fā)以填 充按照TCP協(xié)議所定義的擁塞窗口。在大多數(shù)情況下,所期望的是讓服務(wù)器向客戶機(jī)盡可 能快地發(fā)送數(shù)據(jù)以使用全部的信道帶寬。然而,無(wú)線分組核心網(wǎng)中的節(jié)點(diǎn)通常沒(méi)有被設(shè)計(jì) 用于處理突發(fā)的傳輸并且當(dāng)在短的時(shí)間間隔中接收TCP/IP分組的突發(fā)時(shí)頻繁地丟失分組。TCP服務(wù)器假定如果在配置的時(shí)間間隔內(nèi)沒(méi)有收到來(lái)自客戶機(jī)的確認(rèn)或者如果它 從客戶機(jī)接收一個(gè)或多個(gè)重復(fù)的確認(rèn),則分組被丟失。不論發(fā)生哪種情況,服務(wù)器不得不重 新傳送丟失的分組并且這觸發(fā)TCP的慢啟動(dòng)以及擁塞避免算法。最終的結(jié)果是沒(méi)有利用全 部的信道帶寬??捎脽o(wú)線信道帶寬的不充分使用在從服務(wù)器向移動(dòng)客戶機(jī)傳送大量數(shù)據(jù)時(shí) 尤其普遍。例如,該問(wèn)題在使用HTTP或者FTP的大文件下載期間將是普遍的。緊接在網(wǎng)絡(luò)衰落(network fade)之后的來(lái)自移動(dòng)客戶機(jī)的TCP確認(rèn)分組的大量 突發(fā)觸發(fā)來(lái)自TCP服務(wù)器的數(shù)據(jù)分組的突發(fā)。如上所述,來(lái)自TCP服務(wù)器的大量數(shù)據(jù)分組 突發(fā)通常導(dǎo)致不希望的分組丟失以及無(wú)線數(shù)據(jù)信道的不充分使用。


圖1是示范性系統(tǒng)的框圖;圖2A是在計(jì)算機(jī)設(shè)備處的TCP/IP分組處理的簡(jiǎn)化的視圖;圖2B是具有分組調(diào)度程序的TCP/IP分組處理的示范性視圖;圖3是示意圖1的示范性系統(tǒng)的實(shí)施例的框圖;圖4是示意在圖3的示范性系統(tǒng)中用于處理輸入的分組的示范性通信流程的功能 示意圖;圖5是表示用于處理輸入的分組的示范性方法的流程圖;圖6是表示用于在分組調(diào)度程序中處理輸入的分組的示范性方法的流程圖;圖7是示意在圖3的示范性系統(tǒng)中用于處理輸出的分組的示范性通信流程的功能示意圖;圖8是表示用于處理輸出的分組的示范性方法的流程圖;圖9是表示用于在分組調(diào)度程序中處理輸出的分組的示范性方法的流程圖。
具體實(shí)施例方式現(xiàn)在將詳細(xì)參考根據(jù)TCP分組間距(the TCP Packet Spacing)所實(shí)現(xiàn)的示范性 實(shí)施例,其示例在附圖中被示意。在任何可能的地方,相同的參考標(biāo)號(hào)將貫穿附圖被用來(lái)指 代相同或相似的部件。以下實(shí)施例描述在無(wú)線數(shù)據(jù)網(wǎng)絡(luò)或者任何數(shù)據(jù)網(wǎng)絡(luò)中處理TCP分組突發(fā)的能力。 在這個(gè)方案被使用時(shí),從例如移動(dòng)客戶機(jī)(mobileclient)的客戶機(jī)設(shè)備所接收的TCP確認(rèn) 分組的突發(fā)和向客戶機(jī)設(shè)備所發(fā)送的數(shù)據(jù)分組的突發(fā)被平滑(smooth),從而使分組丟失最 少。在一些實(shí)施例中,TCP分組間距在優(yōu)化服務(wù)節(jié)點(diǎn)(OSN)上被實(shí)現(xiàn),比如Bytemobile的 OSN0另外,在一些實(shí)施例中,TCP分組間距可以在任何TCP服務(wù)器、內(nèi)容服務(wù)器或者客戶機(jī) 設(shè)備上被實(shí)現(xiàn)。TCP分組間距可以使在無(wú)線或者任何數(shù)據(jù)網(wǎng)絡(luò)中不希望的分組丟失最少,產(chǎn) 生無(wú)線或者任何數(shù)據(jù)信道中的可用帶寬的有效使用。圖1是示范性系統(tǒng)的框圖。示范性系統(tǒng)100可以是通過(guò)比如無(wú)線網(wǎng)絡(luò)、因特網(wǎng)等 網(wǎng)絡(luò)傳送數(shù)據(jù)分組的任何類型的系統(tǒng)。例如,該示范性系統(tǒng)可以包括通過(guò)因特網(wǎng)從內(nèi)容服 務(wù)器接收數(shù)據(jù)分組的移動(dòng)客戶機(jī)。該示范性系統(tǒng)除了其它以外可以包括移動(dòng)客戶機(jī)102、網(wǎng) 關(guān)104,一個(gè)或多個(gè)網(wǎng)絡(luò)106、110,代理服務(wù)器108以及一個(gè)或多個(gè)內(nèi)容服務(wù)器112-114。移動(dòng)客戶機(jī)102是示范性的客戶機(jī)設(shè)備,其為硬件部件,比如計(jì)算機(jī)、PDA、移動(dòng) 電話、膝上型電腦、臺(tái)式機(jī)或者接入數(shù)據(jù)網(wǎng)絡(luò)的任何設(shè)備,包括允許該設(shè)備與數(shù)據(jù)網(wǎng)絡(luò)通 信并且從數(shù)據(jù)網(wǎng)絡(luò)接收數(shù)據(jù)分組的軟件應(yīng)用。移動(dòng)客戶機(jī)102提供一個(gè)或多個(gè)軟件應(yīng)用 (softwareapplication),比如web瀏覽器、搜索引擎爬行器、屏幕閱讀器、媒體播放器或者 盲文瀏覽器。另外,移動(dòng)客戶機(jī)102具有從因特網(wǎng)請(qǐng)求以及接收數(shù)據(jù)分組的能力,比如流媒 體的數(shù)據(jù)分組。例如,移動(dòng)客戶機(jī)102可以向內(nèi)容服務(wù)器112-114發(fā)送請(qǐng)求數(shù)據(jù)以根據(jù)網(wǎng) 頁(yè)的URL得到網(wǎng)頁(yè)的特定文件或者目標(biāo)數(shù)據(jù),并且網(wǎng)頁(yè)的內(nèi)容服務(wù)器可以在數(shù)據(jù)庫(kù)中查詢 該目標(biāo)數(shù)據(jù)并且可以將該目標(biāo)數(shù)據(jù)作為響應(yīng)數(shù)據(jù)(例如HTTP/WAP響應(yīng)數(shù)據(jù))的部份發(fā)送 回移動(dòng)客戶機(jī)102。在一些實(shí)施例中,響應(yīng)數(shù)據(jù)可以通過(guò)代理服務(wù)器108被路由。網(wǎng)關(guān)104是用作入口或者接入裝置(a means ofaccess)的一個(gè)或多個(gè)設(shè)備,并且 其可以或者可以不將在一種類型的網(wǎng)絡(luò)中所提供的有格式的數(shù)據(jù)轉(zhuǎn)換為另一種類型的網(wǎng) 絡(luò)所需要的特定格式。網(wǎng)關(guān)104例如可以是服務(wù)器、路由器、防火墻服務(wù)器、主機(jī)或者代理 服務(wù)器。網(wǎng)關(guān)104具有將從移動(dòng)客戶機(jī)102所接收的信號(hào)變換成網(wǎng)絡(luò)106能夠理解的信 號(hào)的能力并且反之亦然。然而,這種變換能力在一些數(shù)據(jù)網(wǎng)絡(luò)中不被需要,例如第四代移 動(dòng)通信(4G Fourth-Generation)或者微波存取全球互通(WiMAX)。網(wǎng)關(guān)104可能能夠單 獨(dú)地或者以任何組合來(lái)處理音頻、視頻以及T. 120傳輸,并且具有全雙工媒體轉(zhuǎn)換(media translation)白勺倉(cāng)泛力。網(wǎng)絡(luò)106和110可以包括廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)或者適于比如因特網(wǎng)通信等 分組類型的通信的無(wú)線網(wǎng)絡(luò)的任何組合。另外,網(wǎng)絡(luò)106和110可以包括使TCP分組的突 發(fā)平滑的分組調(diào)度程序(packetscheduler)。
7
代理服務(wù)器108可以用作在網(wǎng)關(guān)104和內(nèi)容服務(wù)器112-114之間提供通信的TCP 服務(wù)器。代理服務(wù)器108可以提供用于使從移動(dòng)客戶機(jī)102所接收的或者向移動(dòng)客戶機(jī)102 所發(fā)送的TCP分組突發(fā)平滑的分組調(diào)度程序。將在下文中進(jìn)一步描述該分組調(diào)度程序。內(nèi)容服務(wù)器112-114是從移動(dòng)客戶機(jī)102接收請(qǐng)求數(shù)據(jù)、相應(yīng)地處理該請(qǐng)求數(shù)據(jù) 并且在一些實(shí)施例中通過(guò)代理服務(wù)器108將響應(yīng)數(shù)據(jù)返回給移動(dòng)客戶機(jī)102的服務(wù)器。舉 例來(lái)說(shuō),內(nèi)容服務(wù)器112-114可以是web服務(wù)器、企業(yè)服務(wù)器或者任何其它類型的服務(wù)器。 內(nèi)容服務(wù)器112-114可以是負(fù)責(zé)接受來(lái)自移動(dòng)客戶機(jī)102的請(qǐng)求(例如HTTP、RTSP或者可 以發(fā)起媒體會(huì)話的其它協(xié)議)并且負(fù)責(zé)把流媒體供應(yīng)給移動(dòng)客戶機(jī)102的計(jì)算機(jī)或者計(jì)算 機(jī)程序。在一些實(shí)施例中,內(nèi)容服務(wù)器112-114可以包括使TCP分組的突發(fā)平滑的分組調(diào) 度程序。圖2A是在計(jì)算機(jī)設(shè)備處的TCP/IP分組處理的簡(jiǎn)化的視圖。根據(jù)功能,主機(jī)或者 服務(wù)器上的網(wǎng)絡(luò)架構(gòu)可以被分成不同的層。例如,開(kāi)放系統(tǒng)互連基本參考模型(0SI模型) 將網(wǎng)絡(luò)架構(gòu)分成七層,其包括物理層、數(shù)據(jù)鏈路層(其可以進(jìn)一步包括邏輯鏈路控制(LLC) 子層和媒體訪問(wèn)控制(MAC)子層)、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層以及應(yīng)用層。然而,在實(shí) 際操作中,協(xié)議??梢詫SI層中的一個(gè)或多個(gè)合并成單個(gè)層以共同作用來(lái)允許軟件或者 硬件執(zhí)行功能。因此,本領(lǐng)域的技術(shù)人員會(huì)理解以下所描述的一個(gè)或多個(gè)層可以被合并成 單個(gè)層。圖2A示意了三層的網(wǎng)絡(luò)架構(gòu),從頂層到底層為應(yīng)用層210、TCP/IP堆棧層(stack layer) 220以及網(wǎng)絡(luò)接口層230。在這些層中的每一個(gè)處的功能以及數(shù)據(jù)封裝都是本領(lǐng)域 內(nèi)眾所周知的,因此將不在這里進(jìn)行詳細(xì)描述。下面的描述集中在TCP/IP分組處理。應(yīng)用層210是最頂層,該應(yīng)用層210除了其它以外包括比如HTTP、遠(yuǎn)程登錄協(xié)議 (Telnet)和FTP等數(shù)據(jù)傳輸協(xié)議,以及比如Web服務(wù)器或者HTTP代理等軟件應(yīng)用。應(yīng)用 層210可以向?qū)Φ葯C(jī)(peermachine)或者因特網(wǎng)發(fā)送數(shù)據(jù)或者從對(duì)等機(jī)或者因特網(wǎng)接收數(shù) 據(jù)。在向?qū)Φ葯C(jī)或者因特網(wǎng)發(fā)送數(shù)據(jù)時(shí),應(yīng)用層210可以直接或者通過(guò)一個(gè)或多個(gè)其 它層向TCP/IP堆棧層220傳輸數(shù)據(jù)。依次地,TCP/IP堆棧層220根據(jù)標(biāo)準(zhǔn)TCP流程控制 語(yǔ)義向網(wǎng)絡(luò)接口層230移動(dòng)數(shù)據(jù),該TCP/IP堆棧層220是負(fù)責(zé)TCP/IP處理的中間層。在 一些實(shí)施例中,TCP/IP堆棧層220除了其它以外可以包括OSI模型的層中的傳輸層。網(wǎng)絡(luò)接口層230在這個(gè)圖中是最底層。例如,在以太網(wǎng)網(wǎng)絡(luò)中,將服務(wù)器連接到以 太網(wǎng)網(wǎng)絡(luò)的網(wǎng)絡(luò)接口卡的驅(qū)動(dòng)器將構(gòu)成這個(gè)層。網(wǎng)絡(luò)接口層230連接網(wǎng)絡(luò)中的主機(jī)或者節(jié) 點(diǎn)并且向目的地傳送數(shù)據(jù)。在從對(duì)等機(jī)或者因特網(wǎng)接收數(shù)據(jù)分組時(shí),是網(wǎng)絡(luò)接口層230首先接收并且處理數(shù) 據(jù)分組,然后盡可能快地轉(zhuǎn)移到TCP/IP堆棧層220。TCP/IP堆棧層220又處理所接收的分 組并且如果有必要的話,向所述應(yīng)用發(fā)信號(hào)。在處理之后,TCP/IP堆棧層220向應(yīng)用層210 傳輸所接收的數(shù)據(jù)。在一些實(shí)施例中,即使在沒(méi)有數(shù)據(jù)被接收時(shí),TCP/IP堆棧層220也可以傳送分組, 比如TCP確認(rèn)分組或者丟失的數(shù)據(jù)分組的重新傳輸。在向?qū)Φ葯C(jī)或者因特網(wǎng)提供數(shù)據(jù)的情 況下,應(yīng)用層210 (比如web服務(wù)器)比TCP層可以發(fā)送出去更快地向TCP層發(fā)送數(shù)據(jù)的突 發(fā)。TCP層緩存它不能發(fā)送的數(shù)據(jù)。在從網(wǎng)絡(luò)接口層230接收TCP確認(rèn)分組的突發(fā)時(shí),TCP/IP堆棧層220將數(shù)據(jù)分組的突發(fā)向下發(fā)送到網(wǎng)絡(luò)接口層230。同樣地,如果來(lái)自對(duì)等機(jī)或 者因特網(wǎng)的確認(rèn)沒(méi)有在配置的時(shí)間間隔內(nèi)被接收,或者一個(gè)或多個(gè)重復(fù)的確認(rèn)被接收,則 TCP/IP堆棧層220假定分組被丟失并且重新傳送被丟失的分組。因此,瞬時(shí)數(shù)據(jù)速率可能 非常高并且超過(guò)無(wú)線數(shù)據(jù)網(wǎng)絡(luò)中的節(jié)點(diǎn)的處理能力,產(chǎn)生不希望的分組丟失以及無(wú)線數(shù)據(jù) 信道的不充分使用。圖2B是具有分組調(diào)度程序?qū)?40的TCP/IP分組處理的示范性視圖。為了適度地 處理來(lái)自對(duì)等機(jī)或者因特網(wǎng)的TCP確認(rèn)分組的突發(fā),TCP分組間距引入用于分組處理的新 的邏輯層。該新的處理層被稱作分組調(diào)度程序?qū)?Packet Scheduler Layer) 2400分組調(diào) 度程序?qū)?40位于TCP/IP堆棧層220和網(wǎng)絡(luò)接口層230之間。分組調(diào)度程序?qū)?40既處 理來(lái)自網(wǎng)絡(luò)接口層230的輸入的分組(incoming packet)也處理去往網(wǎng)絡(luò)接口層230的輸 出的分組(outgoing packet)。具有分組調(diào)度程序的TCP/IP分組處理可以被用在代理服務(wù)器中,采用TCP優(yōu)化技 術(shù),比如Bytemobile的TCP優(yōu)化技術(shù)。代理服務(wù)器將移動(dòng)客戶機(jī)和內(nèi)容服務(wù)器之間的TCP 連接分開(kāi)并且改變TCP在網(wǎng)絡(luò)的無(wú)線側(cè)上的行為。即使在TCP確認(rèn)分組的大量突發(fā)(large burst)從移動(dòng)客戶機(jī)被接收時(shí),代理服務(wù)器避免向移動(dòng)客戶機(jī)發(fā)送大量的分組突發(fā)。通過(guò) 利用這一方案,可以更平滑的方式傳送到移動(dòng)客戶機(jī)的TCP數(shù)據(jù)分組,從而使分組丟失最 少。在一些實(shí)施例中,圖2B所提供的實(shí)施例可以在移動(dòng)設(shè)備或者內(nèi)容服務(wù)器112-114 中的一個(gè)或多個(gè)中包括分組調(diào)度程序?qū)?40。圖3是示意圖1的示范性系統(tǒng)的實(shí)施例的框圖。移動(dòng)客戶機(jī)102是除了其它以外 可以包括允許移動(dòng)客戶機(jī)102與代理服務(wù)器108通信并且從代理服務(wù)器108接收數(shù)據(jù)分組 的軟件應(yīng)用,該代理服務(wù)器108從內(nèi)容服務(wù)器112-114中的一個(gè)或多個(gè)獲得數(shù)據(jù)分組。代理 服務(wù)器108除了其它以外可以包括應(yīng)用層210、TCP/IP堆棧層220、分組調(diào)度程序?qū)?40以 及網(wǎng)絡(luò)接口層230。分組調(diào)度程序?qū)?40除了其它以外可以包括分組調(diào)度程序查找表310 和分組調(diào)度程序服務(wù)隊(duì)列320。分組調(diào)度程序查找表310存儲(chǔ)每個(gè)TCP連接的信息。所存儲(chǔ)的信息包括以下內(nèi) 容a.每一連接的(per-cormection)先進(jìn)先出(FIFO)隊(duì)列,該隊(duì)列具有指向尚未被 傳遞到上行(upstream) TCP/IP堆棧層220或者到下行(downstream)網(wǎng)絡(luò)接口層230的分 組的指針。在一些實(shí)施例中,該FIFO隊(duì)列可以被設(shè)置用于同一用戶的多個(gè)連接或者甚至一 組用戶的所有連接。b.上一個(gè)分組被傳遞到上行TCP/IP堆棧層220或者到下行網(wǎng)絡(luò)接口層230時(shí)的 時(shí)間戳。這被稱作上一次傳遞時(shí)間(LDT =LastDelivery Time)c.按當(dāng)前設(shè)置(in the current set)已被傳遞到上行TCP/IP堆棧層220或者到 下行網(wǎng)絡(luò)接口層230而沒(méi)有任何額外的延遲的分組的數(shù)量。這被稱作突發(fā)計(jì)數(shù)(BC=Burst Count)ο在一些實(shí)施例中,分組調(diào)度程序查找表310可以在計(jì)算機(jī)的高速緩沖存儲(chǔ)器 (cache)中被實(shí)現(xiàn)。分組調(diào)度程序服務(wù)隊(duì)列320可以是存儲(chǔ)指向需要由分組調(diào)度程序?qū)?40提供服務(wù)
9/處理的分組的指針的單個(gè)隊(duì)列。在一些實(shí)施例中,分組調(diào)度程序服務(wù)隊(duì)列320可以是存 儲(chǔ)分組供分組調(diào)度程序?qū)?40服務(wù)/處理的緩沖器(buffer)。分組調(diào)度程序服務(wù)隊(duì)列320 可以在計(jì)算機(jī)的高速緩沖存儲(chǔ)器中被實(shí)現(xiàn)。在一些實(shí)施例中,分組調(diào)度程序?qū)?40可以維護(hù)分組調(diào)度程序查找表310和分組 調(diào)度程序服務(wù)隊(duì)列320的用于處理輸入的分組和輸出的分組的獨(dú)立的實(shí)例(instance)。通 過(guò)維護(hù)分組調(diào)度程序查找表310和分組調(diào)度程序服務(wù)隊(duì)列320的獨(dú)立的實(shí)例,分組的延遲 傳遞對(duì)于輸入的分組和輸出的分組兩者可以同時(shí)被允許。實(shí)際上,在一個(gè)方向上允許延遲 傳遞可能就夠了。另外,分組調(diào)度程序?qū)?40可以包括用于在將分組傳送到它們的預(yù)定的目的地之 前存儲(chǔ)它們的緩沖器。圖4是示意在圖3的示范性系統(tǒng)中用于處理輸入的分組的示范性通信流程的功能 示意圖。輸入的分組是在比如分組調(diào)度程序?qū)?40的分組調(diào)度程序處從比如網(wǎng)絡(luò)接口層 230的下行網(wǎng)絡(luò)接口層所接收的將被傳遞到比如TCP/IP堆棧層220的上行TCP/IP堆棧層 的那些分組。移動(dòng)客戶機(jī)102建立TCP連接并且向代理服務(wù)器108發(fā)送(402) TCP分組。在代理 服務(wù)器108內(nèi),在接收TCP分組之后,網(wǎng)絡(luò)接口層230向分組調(diào)度程序?qū)?40傳送(404)該 分組。分組調(diào)度程序?qū)?40通過(guò)檢查例如該TCP分組是否為T(mén)CP確認(rèn)分組來(lái)確定該TCP分 組是否適合于(eligible for)分組調(diào)度服務(wù)。如果該TCP分組不適合于分組調(diào)度服務(wù),例 如該TCP分組不是TCP確認(rèn),則分組調(diào)度程序?qū)?40向上行TCP/IP堆棧層220傳遞(406) 該TCP分組,該TCP/IP堆棧層220處理該TCP分組并且又向應(yīng)用層210發(fā)送經(jīng)處理的分組。如果該TCP分組適合于分組調(diào)度服務(wù),例如該TCP分組不是TCP確認(rèn),則分組調(diào)度 程序?qū)?40緩存該分組用于以后的傳遞。同樣地,分組調(diào)度程序?qū)?40在分組調(diào)度程序查 找表310中存儲(chǔ)關(guān)于這個(gè)TCP連接的信息,并且在分組調(diào)度程序服務(wù)隊(duì)列320中存儲(chǔ)指向 該分組的指針用于以后的處理。如上所述,關(guān)于該TCP連接的信息除了其它以外可以包括 每一連接的FIFO隊(duì)列、上一次傳遞時(shí)間(LDT)以及突發(fā)計(jì)數(shù)(BC),該每一連接的FIFO隊(duì)列 具有指向尚未被傳遞到上行TCP/IP堆棧層220的分組的指針。在一些實(shí)施例中,分組調(diào)度 程序?qū)?40將分組本身存儲(chǔ)在分組調(diào)度程序服務(wù)隊(duì)列320中用于以后的處理。將在下文中 進(jìn)一步討論處理從下行網(wǎng)絡(luò)接口層230所接收的輸入的分組的細(xì)節(jié)。圖5是表示處理輸入的分組的示范性方法的流程圖。本領(lǐng)域的技術(shù)人員將容易理 解的是可以改變所示意的過(guò)程以刪除步驟或者進(jìn)一步包括額外的步驟。在從網(wǎng)絡(luò)接口層接收(502) TCP分組后,分組調(diào)度程序?qū)永缤ㄟ^(guò)檢查該TCP分組 是否為T(mén)CP確認(rèn)分組來(lái)確定(504)該TCP分組是否適合于分組調(diào)度服務(wù)。TCP標(biāo)志和對(duì)應(yīng) 于該分組的其它特性被用來(lái)檢查該分組對(duì)于分組調(diào)度服務(wù)的合格性(eligibility)。檢查 合格性的規(guī)則可能是比較通用的。簡(jiǎn)單且實(shí)用的規(guī)則是確定是否TCPACK(確認(rèn))標(biāo)志被設(shè) 置而URG(緊急)、RST(復(fù)位)、SYN(同步)以及FIN(完成)標(biāo)志沒(méi)有被設(shè)置。如果所述分組不適合于分組調(diào)度服務(wù),例如該分組不是TCP確認(rèn)分組,則分組調(diào) 度程序?qū)涌梢韵蛏闲蠺CP/IP堆棧層轉(zhuǎn)發(fā)(506)該分組。然后,用于這個(gè)分組的過(guò)程可以停 止(520)。如果所述分組適合于分組調(diào)度服務(wù),則分組調(diào)度程序?qū)訌膬?nèi)部的分組調(diào)度程序查找表取回(508)每一連接的FIFO隊(duì)列,并且確定(510)用于該TCP連接的條目是否已經(jīng)存 在。在一些實(shí)施例中,分組調(diào)度程序查找表提供對(duì)應(yīng)于單個(gè)連接的FIFO隊(duì)列。在一些實(shí)施 例中,分組調(diào)度程序查找表提供對(duì)應(yīng)于多個(gè)連接的FIFO隊(duì)列。如果用于由分組調(diào)度程序?qū)犹幚淼倪B接的條目存在,則分組調(diào)度程序?qū)犹^(guò)隨后 的若干步驟,并且將指向該分組的指針插入被存儲(chǔ)在分組調(diào)度程序查找表中的每一連接的 FIFO隊(duì)列中用于以后的處理。如果沒(méi)有用于該連接的條目存在,則分組調(diào)度程序?qū)觿?chuàng)建 (512)對(duì)應(yīng)于這個(gè)TCP連接的新的每一連接的FIFO隊(duì)列并且將該隊(duì)列插入(512)分組調(diào)度 程序查找表中。上一次傳遞時(shí)間(LDT)被設(shè)置(514)為當(dāng)前時(shí)間并且突發(fā)計(jì)數(shù)(BC)被設(shè) 置(514)為0。上一次傳遞時(shí)間和突發(fā)計(jì)數(shù)被存儲(chǔ)到分組調(diào)度程序查找表中。上一次傳遞 時(shí)間和突發(fā)計(jì)數(shù)將被更新并且被用于處理輸入的分組以及向上行TCP/IP堆棧層傳遞輸入 的分組。將在下文中進(jìn)一步討論細(xì)節(jié)。在那之后,指向該分組的指針被插入(516)被存儲(chǔ) 到分組調(diào)度程序查找表中的每一連接的FIFO隊(duì)列中。最后,指向該分組的指針還被插入(518)分組調(diào)度程序服務(wù)隊(duì)列中,被分組調(diào)度 程序?qū)佑糜谔幚硭赶虻姆纸M。在一些實(shí)施例中,該分組本身被插入(518)分組調(diào)度程序 服務(wù)隊(duì)列中用于以后的處理。然后,該處理可以停止(520)。圖6是表示用于在分組調(diào)度程序?qū)又刑幚磔斎氲姆纸M的示范性方法的流程圖。本 領(lǐng)域的技術(shù)人員將容易理解的是所示意的過(guò)程可以被改變以刪除步驟或者進(jìn)一步包括額 外的步驟。處理分組調(diào)度程序服務(wù)隊(duì)列中的條目以及處理從網(wǎng)絡(luò)接口層所接收的分組可以 發(fā)生在不同的執(zhí)行環(huán)境中。分組調(diào)度程序?qū)涌梢酝ㄟ^(guò)觸發(fā)(trigger)(例如從網(wǎng)絡(luò)接口層所接收的分組)或 者在一段不活動(dòng)時(shí)間之后點(diǎn)火(fire)的計(jì)時(shí)器來(lái)調(diào)用(invoke) (602)分組調(diào)度程序服務(wù) 例程(routine)以處理分組調(diào)程序度服務(wù)隊(duì)列中的條目。分組調(diào)度程序?qū)邮紫葯z查以確 定(604)在分組調(diào)度程序隊(duì)列中是否有要被處理的任何條目。如果分組調(diào)度程序服務(wù)隊(duì)列 為空,則分組調(diào)度程序服務(wù)例程終止(626)。如果分組調(diào)度程序服務(wù)隊(duì)列不為空,則分組調(diào) 度程序?qū)訌乃鲫?duì)列取回(606)第一個(gè)條目(在一些實(shí)施例中為下一個(gè)指向分組的指針 (next pointer to a packet),而在另一些實(shí)施例中為分組)。分組調(diào)度程序?qū)舆€從分組調(diào) 度程序查找表取回(608)與所述連接有關(guān)的信息,例如每一連接的FIFO隊(duì)列、上一次傳遞 時(shí)間以及突發(fā)計(jì)數(shù)。如早先所述,例如在上面的圖5中,分組調(diào)度程序查找表存儲(chǔ)每一連接的FIFO隊(duì) 列,該每一連接的FIFO隊(duì)列具有指向已在分組調(diào)度程序?qū)颖痪彺娴姆纸M的指針。分組調(diào)度 程序?qū)哟_定(610)正被處理的當(dāng)前分組是否為每一連接的FIFO隊(duì)列中的第一個(gè)條目。如 果當(dāng)前分組不是每一連接的FIFO隊(duì)列中的第一個(gè)條目,則當(dāng)前分組僅被放回(612)分組調(diào) 度程序服務(wù)隊(duì)列中用于以后的處理并且該方法將再一次返回步驟604。這確保了對(duì)于給定 的連接,分組的排序(ordering)被維護(hù)。如果分組是每一連接的FIFO隊(duì)列中的第一個(gè)分組,則分組調(diào)度程序?qū)訌姆纸M調(diào) 度程序查找表取回(614)該連接的上一次傳遞時(shí)間(LDT)和突發(fā)計(jì)數(shù)(BC)。分組調(diào)度程序 層計(jì)算當(dāng)前時(shí)間和該連接的上一次傳遞時(shí)間之間的時(shí)間間隔并且對(duì)照由系統(tǒng)自動(dòng)設(shè)置或 者由管理員設(shè)置的預(yù)先配置的延遲時(shí)間進(jìn)行檢查(616)。如果時(shí)間間隔小于預(yù)先配置的延遲時(shí)間,則這個(gè)分組是到上行TCP/IP堆棧層的延遲傳遞的候選(candidate)。在這種情況下,分組調(diào)度程序?qū)訉?duì)照由系統(tǒng)自動(dòng)設(shè)置或者 由管理員設(shè)置的預(yù)先配置的突發(fā)計(jì)數(shù)閾值來(lái)檢查(618)這個(gè)連接的突發(fā)計(jì)數(shù)。這個(gè)突發(fā)計(jì) 數(shù)閾值是被認(rèn)為是在不接收分組丟失的情況下傳送分組的最大值的值。突發(fā)計(jì)數(shù)閾值可以 基于所存儲(chǔ)的歷史數(shù)據(jù)。如果突發(fā)計(jì)數(shù)小于預(yù)先配置的突發(fā)計(jì)數(shù)閾值,則分組調(diào)度程序?qū)?向上行TCP/IP堆棧層傳遞(622)該分組。然后,分組調(diào)度程序?qū)訉⑸弦淮蝹鬟f時(shí)間更新 (624)為等于當(dāng)前時(shí)間并且將突發(fā)計(jì)數(shù)增加(624) 1。增加突發(fā)計(jì)數(shù)將最終使突發(fā)計(jì)數(shù)在這 個(gè)特定連接的隨后幾輪處理(例如通信會(huì)話期間在兩個(gè)設(shè)備之間的分組交換)中達(dá)到預(yù)先 配置的突發(fā)計(jì)數(shù)閾值;因此該分組被傳遞(622)到上行TCP/IP堆棧層。在設(shè)置步驟624之 后,該方法進(jìn)入步驟604。如果突發(fā)計(jì)數(shù)大于預(yù)先配置的突發(fā)計(jì)數(shù)閾值,則分組調(diào)度程序?qū)?通過(guò)僅將指向該分組的指針重新插入分組調(diào)度程序服務(wù)隊(duì)列中并且將該分組保持在分組 調(diào)度程序?qū)又械木彌_器中來(lái)延遲向上行TCP/IP堆棧層傳遞該分組。在一些實(shí)施例中,分組 本身被重新插入(612)分組調(diào)度程序服務(wù)隊(duì)列中用于以后的處理。如果當(dāng)前時(shí)間和該連接的上一次傳遞時(shí)間之間的時(shí)間間隔大于或者等于預(yù)先配 置的延遲閾值,則分組調(diào)度程序?qū)訉⒃撨B接的突發(fā)計(jì)數(shù)設(shè)置(620)為0并且向上行TCP/IP 堆棧層傳遞(622)該分組。然后,分組調(diào)度程序?qū)訉⑸弦淮蝹鬟f時(shí)間更新(624)為等于當(dāng) 前時(shí)間并且將突發(fā)計(jì)數(shù)增加(624) 1。處理通過(guò)再一次從步驟604開(kāi)始而繼續(xù)。圖7是示意在圖3的示范性系統(tǒng)中用于處理輸出的分組的示范性通信流程的功 能示意圖。輸出的分組是從比如分組調(diào)度程序?qū)?40的TCP/IP堆棧層向比如網(wǎng)絡(luò)接口層 230的下行網(wǎng)絡(luò)接口層所發(fā)送的最終將被傳遞到預(yù)定的客戶機(jī)的那些分組。在分組調(diào)度程 序?qū)?40中對(duì)輸出的分組的處理可以類似于如上面在圖4-6中所描述的對(duì)輸入的分組的處 理。然而,在由分組調(diào)度程序?qū)?40處理輸出的分組時(shí),網(wǎng)絡(luò)接口層230和TCP/IP堆棧層 220的作用被互換。其它不同可能包括但不限于被用于檢查分組對(duì)于經(jīng)由分組調(diào)度程序服 務(wù)的延遲傳遞的合格性的規(guī)則。盡管規(guī)則可以是任意的,但延遲TCP ACK分組對(duì)于輸入的 分組實(shí)際上可能是實(shí)用的,因?yàn)門(mén)CP ACK突發(fā)是無(wú)線網(wǎng)絡(luò)中的普遍問(wèn)題。對(duì)于輸出的分組, 可能實(shí)用的是延遲TCP數(shù)據(jù)分組使得分組突發(fā)以及由此產(chǎn)生的分組丟失可以被減到最少。如上所述,在一些實(shí)施例中,分組調(diào)度程序?qū)?40可以維護(hù)分組調(diào)度程序查找表 310和分組調(diào)度程序服務(wù)隊(duì)列320的用于處理輸入的分組的實(shí)例,并且維護(hù)分組調(diào)度程序 查找表310和分組調(diào)度程序服務(wù)隊(duì)列320的用于處理輸出的分組的另一個(gè)實(shí)例。通過(guò)維護(hù) 分組調(diào)度程序查找表310和分組調(diào)度程序服務(wù)隊(duì)列320的用于輸入的分組和輸出的分組的 獨(dú)立的實(shí)例,分組的延遲傳遞對(duì)于輸入的分組和輸出的分組兩者可以同時(shí)被允許。在代理服務(wù)器108上,應(yīng)用層210向TCP/IP堆棧層220發(fā)送(702)數(shù)據(jù),其把數(shù) 據(jù)分組(packetize)并且向分組調(diào)度程序?qū)?40發(fā)送TCP分組中的一個(gè)。分組調(diào)度程序?qū)?240例如通過(guò)檢查該TCP分組是否為數(shù)據(jù)分組來(lái)確定該TCP分組是否適合于分組調(diào)度服務(wù)。 如果該TCP分組不適合于分組調(diào)度服務(wù),例如在該TCP分組不是數(shù)據(jù)分組時(shí),則分組調(diào)度程 序?qū)?40向下行網(wǎng)絡(luò)接口層230傳遞(706)該TCP分組,該網(wǎng)絡(luò)接口層230最終向移動(dòng)客 戶機(jī)102發(fā)送(708)該分組。如果該TCP分組適合于分組調(diào)度程序服務(wù),例如在該TCP分組是數(shù)據(jù)分組時(shí),分組 調(diào)度程序?qū)?40緩存該分組用于以后的傳遞。同樣地,分組調(diào)度程序?qū)?40將關(guān)于這個(gè)TCP 連接的信息存儲(chǔ)在分組調(diào)度程序查找表310中,并且將指向該分組的指針存儲(chǔ)在分組調(diào)度程序服務(wù)隊(duì)列320中用于以后的處理。如上所述,關(guān)于該TCP連接的信息除了其它以外可以 包括每一連接的FIFO隊(duì)列、上一次傳遞時(shí)間(LDT)以及突發(fā)計(jì)數(shù)(BC),該每一連接的FIFO 隊(duì)列具有指向尚未被傳遞到下行網(wǎng)絡(luò)接口層230的分組的指針。在一些實(shí)施例中,分組調(diào) 度程序?qū)?40將分組本身存儲(chǔ)在分組調(diào)度程序服務(wù)隊(duì)列320中用于以后的處理。將在下文 中進(jìn)一步討論處理從上行TCP/IP堆棧層220所接收的輸出的分組的細(xì)節(jié)。圖8是表示用于處理輸出的分組的示范性方法的流程圖。本領(lǐng)域的技術(shù)人員將容 易理解的是所示意的過(guò)程可以被改變以刪除步驟或者進(jìn)一步包括額外的步驟。在從TCP/IP堆棧層接收(802) TCP分組之后,分組調(diào)度程序?qū)永缤ㄟ^(guò)檢查(804) 該TCP分組是否為T(mén)CP數(shù)據(jù)分組來(lái)確定該TCP分組是否適合于分組調(diào)度服務(wù)。如果該分組 不適合于分組調(diào)度服務(wù),例如在該TCP分組不是TCP數(shù)據(jù)分組是,則TCP分組調(diào)度程序?qū)酉?下行網(wǎng)絡(luò)接口層轉(zhuǎn)發(fā)(806)該分組。然后用于這個(gè)分組的處理可以停止(820)。如果該分組適合于分組調(diào)度服務(wù),例如在該TCP分組是TCP數(shù)據(jù)分組時(shí),則分組調(diào) 度程序?qū)訌膬?nèi)部的分組調(diào)度程序查找表取回(808)每一連接的FIFO隊(duì)列并且確定(810) 用于該TCP連接的條目是否已經(jīng)存在。在一些實(shí)施例中,分組調(diào)度程序查找表提供對(duì)應(yīng)于 單個(gè)連接的FIFO隊(duì)列。在一些實(shí)施例中,分組調(diào)度程序查找表提供對(duì)應(yīng)于多個(gè)連接的FIFO 隊(duì)列。如果用于由分組調(diào)度程序?qū)犹幚淼倪B接的條目存在,則分組調(diào)度程序?qū)犹^(guò)隨后 的若干步驟,并且將指向該分組的指針插入(816)被存儲(chǔ)在分組調(diào)度程序查找表中的每一 連接的FIFO隊(duì)列中用于以后的處理。如果沒(méi)有用于該TCP連接的條目存在,則分組調(diào)度 程序?qū)觿?chuàng)建(812)對(duì)應(yīng)于這個(gè)TCP連接的新的每一連接的FIFO隊(duì)列,并且將該隊(duì)列插入 (812)分組調(diào)度程序查找表中。該連接的上一次傳遞時(shí)間被設(shè)置(814)為當(dāng)前時(shí)間并且該 連接的突發(fā)計(jì)數(shù)被設(shè)置(814)為0。上一次傳遞時(shí)間和突發(fā)計(jì)數(shù)被存儲(chǔ)到分組調(diào)度程序查 找表中。上一次傳遞時(shí)間和突發(fā)計(jì)數(shù)將被更新并且被用于處理輸出的分組以及向下行網(wǎng)絡(luò) 接口層傳遞輸出的分組。將在下文中進(jìn)一步討論細(xì)節(jié)。在步驟814之后,指向該分組的指 針被插入(816)被存儲(chǔ)在分組調(diào)度程序查找表中的每一連接的FIFO隊(duì)列中。在那之后,指向該分組的指針也被插入(818)分組調(diào)度程序服務(wù)隊(duì)列中,被分組 調(diào)度程序?qū)佑糜谔幚硭赶虻姆纸M。在一些實(shí)施例中,分組本身被插入分組調(diào)度程序服務(wù) 隊(duì)列中用于以后的處理。然后,該過(guò)程可以停止(820)。圖9是表示用于在分組調(diào)度程序?qū)又刑幚磔敵龅姆纸M的示范性方法的流程圖。本 領(lǐng)域的普通技術(shù)人員將容易理解的是所示意的過(guò)程可以被改變以刪除步驟或者進(jìn)一步包 括額外的步驟。如上所述,在分組調(diào)度程序?qū)又袑?duì)輸出的分組的處理可以類似于對(duì)輸入的 分組的處理。然而,有許多不同。例如,在輸出的分組由分組調(diào)度程序?qū)犹幚頃r(shí),網(wǎng)絡(luò)接口 層和TCP/IP堆棧層的作用被互換。分組調(diào)度程序?qū)涌梢酝ㄟ^(guò)觸發(fā)(例如從TCP/IP堆棧層所接收的分組)或者在一 段不活動(dòng)時(shí)間之后點(diǎn)火的計(jì)時(shí)器來(lái)調(diào)用(902)分組調(diào)度程序服務(wù)例程以處理分組調(diào)度程 序服務(wù)隊(duì)列中的條目。分組調(diào)度程序?qū)邮紫葯z查以確定(904)在分組調(diào)度程序服務(wù)隊(duì)列中 是否有要被處理的任何條目。如果分組調(diào)度程序服務(wù)隊(duì)列為空,則分組調(diào)度程序服務(wù)例程 終止(926)。如果分組調(diào)度程序服務(wù)隊(duì)列不為空,則分組調(diào)度程序?qū)訌乃鲫?duì)列取回(906) 第一個(gè)條目(下一個(gè)指向分組的指針)。分組調(diào)度程序?qū)舆€從分組調(diào)度程序查找表取回
13(908)與所述連接有關(guān)的信息,例如每一連接的FIFO隊(duì)列、上一次傳遞時(shí)間以及突發(fā)計(jì)數(shù)。如早先所述,例如在上面的圖8中,分組調(diào)度程序查找表存儲(chǔ)每一連接的FIFO隊(duì) 列,該每一連接的FIFO隊(duì)列具有指向已在分組調(diào)度程序?qū)颖痪彺娴姆纸M的指針。分組調(diào)度 程序?qū)哟_定(910)正被處理的當(dāng)前分組是否為每一連接的FIFO隊(duì)列中的第一個(gè)條目。如果 它不是每一連接的FIFO隊(duì)列中的第一個(gè)條目,則它僅被放回(912)分組調(diào)度程序服務(wù)隊(duì)列 中用于以后的處理。處理通過(guò)再一次從步驟904開(kāi)始而繼續(xù)。這確保了對(duì)于給定的連接, 分組的排序被維護(hù)。如果分組是每一連接的FIFO隊(duì)列中的第一個(gè)分組,則分組調(diào)度程序?qū)訌姆纸M調(diào) 度程序查找表取回(914)該連接的上一次傳遞時(shí)間和突發(fā)計(jì)數(shù)。分組調(diào)度程序?qū)佑?jì)算當(dāng)前 時(shí)間和該連接的上一次傳遞時(shí)間之間的時(shí)間間隔,并且對(duì)照由系統(tǒng)自動(dòng)設(shè)置或者由管理員 設(shè)置的預(yù)先配置的延遲時(shí)間進(jìn)行檢查(916)。如果時(shí)間間隔小于預(yù)先配置的延遲時(shí)間,則這個(gè)分組是到下行網(wǎng)絡(luò)接口層的延遲 傳遞的候選。在這種情況下,分組調(diào)度程序?qū)訉?duì)照由系統(tǒng)自動(dòng)設(shè)置或者由管理員設(shè)置的預(yù) 先配置的突發(fā)計(jì)數(shù)閾值檢查(918)這個(gè)連接的突發(fā)計(jì)數(shù)。如果突發(fā)計(jì)數(shù)小于預(yù)先配置的突 發(fā)計(jì)數(shù)閾值,則分組調(diào)度程序?qū)酉蛳滦芯W(wǎng)絡(luò)接口層傳遞(922)該分組。然后,分組調(diào)度程 序?qū)訉⑸弦淮蝹鬟f時(shí)間更新(924)為等于當(dāng)前時(shí)間并且將突發(fā)計(jì)數(shù)增加(924) 1。增加突 發(fā)計(jì)數(shù)將最終使突發(fā)計(jì)數(shù)在隨后的幾輪處理中達(dá)到預(yù)先配置的突發(fā)計(jì)數(shù)閾值,從而被傳遞 (922)到下行網(wǎng)絡(luò)接口層。在設(shè)置步驟924之后,該方法進(jìn)入步驟904。如果突發(fā)計(jì)數(shù)大于 預(yù)先配置的突發(fā)計(jì)數(shù)閾值,則分組調(diào)度程序?qū)油ㄟ^(guò)僅將指向該分組的指針重新插入(912) 分組調(diào)度程序服務(wù)隊(duì)列中并且將該分組保持在分組調(diào)度程序?qū)犹幍木彌_器中來(lái)延遲向下 行網(wǎng)絡(luò)接口層傳遞該分組。在一些實(shí)施例中,分組本身被重新插入(912)分組調(diào)度程序服 務(wù)隊(duì)列中用于以后的處理。如果當(dāng)前時(shí)間和該連接的上一次傳遞時(shí)間之間的時(shí)間間隔大于或者等于預(yù)先配 置的延遲閾值,則分組調(diào)度程序?qū)訉⒃撨B接的突發(fā)計(jì)數(shù)設(shè)置(920)為0并且向下行網(wǎng)絡(luò)接 口層傳遞(922)該分組。然后,分組調(diào)度程序?qū)訉⑸弦淮蝹鬟f時(shí)間更新(924)為等于當(dāng)前 時(shí)間并且將突發(fā)計(jì)數(shù)增加(924) 1。處理通過(guò)再一次從步驟904開(kāi)始而繼續(xù)。在此所公開(kāi)的方法可以被實(shí)現(xiàn)為計(jì)算機(jī)程序產(chǎn)品,即被有形地包括在信息載體中 (例如在計(jì)算機(jī)可讀存儲(chǔ)設(shè)備中或者在被傳播的信號(hào)中)的計(jì)算機(jī)程序,供例如可編程處 理器、計(jì)算機(jī)或者多個(gè)計(jì)算機(jī)等數(shù)據(jù)處理裝置執(zhí)行或者用于控制該數(shù)據(jù)處理裝置的操作。 計(jì)算機(jī)程序可以用任何形式的編程語(yǔ)言來(lái)寫(xiě),包括被編譯的或者被解釋的語(yǔ)言,并且它可 以任何形式被采用,包括作為獨(dú)立的程序或者作為模塊、部件、子例程或者適于用在計(jì)算環(huán) 境中的其它單元。計(jì)算機(jī)程序可以被采用以在一個(gè)計(jì)算機(jī)上或者在處于一個(gè)地點(diǎn)或者跨多 個(gè)地點(diǎn)分布并且通過(guò)通信網(wǎng)絡(luò)相互連接的多個(gè)計(jì)算機(jī)上被執(zhí)行。在前面的說(shuō)明書(shū)中,已經(jīng)參考具體的示范性實(shí)施例描述了本發(fā)明。然而,將顯而意 見(jiàn)的是可以做出各種修改和變化而不脫離如在隨后的權(quán)利要求中所闡明的、本發(fā)明的更廣 義的精神及范圍。據(jù)此,說(shuō)明書(shū)和附圖應(yīng)被看做是示意性的而非限制性的意義。根據(jù)對(duì)本 說(shuō)明書(shū)的思考以及對(duì)在此所公開(kāi)的本發(fā)明的實(shí)踐,本發(fā)明的其它實(shí)施例對(duì)于本領(lǐng)域的技術(shù) 人員可能是明顯的。
權(quán)利要求
一種用計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括在第一設(shè)備處,在網(wǎng)絡(luò)層和傳輸層之間提供分組調(diào)度程序?qū)樱辉谒龇纸M調(diào)度程序?qū)犹?,從所述第一設(shè)備上的發(fā)送層接收一個(gè)或多個(gè)傳輸控制協(xié)議(TCP)分組,其中所述發(fā)送層是所述網(wǎng)絡(luò)層或者所述傳輸層中的一個(gè);通過(guò)延遲所述一個(gè)或多個(gè)TCP分組中的至少一個(gè)的傳遞來(lái)使所述傳遞平滑;以及向接收層發(fā)送所述一個(gè)或多個(gè)TCP分組,其中所述接收層是所述網(wǎng)絡(luò)層或者所述傳輸層中不是所述發(fā)送層的那個(gè)。
2.根據(jù)權(quán)利要求1所述的方法,其中所述第一設(shè)備是計(jì)算機(jī)服務(wù)器。
3.根據(jù)權(quán)利要求1所述的方法,其中所述一個(gè)或多個(gè)TCP分組中的所述至少一個(gè)是由 所述第一設(shè)備上的所述發(fā)送層生成的TCP確認(rèn)分組。
4.根據(jù)權(quán)利要求1所述的方法,其中所述一個(gè)或多個(gè)TCP分組中的所述至少一個(gè)是丟 失的TCP分組的重新傳輸,所述丟失的TCP分組由所述第一設(shè)備上的所述發(fā)送層重新發(fā)送。
5.根據(jù)權(quán)利要求1所述的方法,其中所述第一設(shè)備通過(guò)所述第一設(shè)備和第二設(shè)備之間 的連接與所述第二設(shè)備通信。
6.根據(jù)權(quán)利要求5所述的方法,其中所述第二設(shè)備是移動(dòng)設(shè)備。
7.根據(jù)權(quán)利要求5所述的方法,其中所述一個(gè)或多個(gè)TCP分組中的所述至少一個(gè)源自 于所述第二設(shè)備。
8.根據(jù)權(quán)利要求5所述的方法,其還包括確定所述一個(gè)或多個(gè)TCP分組中的所述至少一個(gè)是否適合于向所述接收層的延遲傳遞。
9.根據(jù)權(quán)利要求8所述的方法,其中確定所述一個(gè)或多個(gè)TCP分組中的所述至少一個(gè) 是否適合于向所述接收層的延遲傳遞是基于所述一個(gè)或多個(gè)TCP分組中的所述至少一個(gè) 的TCP確認(rèn)標(biāo)志被設(shè)置。
10.根據(jù)權(quán)利要求8所述的方法,其中確定所述一個(gè)或多個(gè)TCP分組中的所述至少一個(gè) 是否適合于向所述接收層的延遲傳遞是基于所述一個(gè)或多個(gè)TCP分組中的所述至少一個(gè) 的DATA標(biāo)志被設(shè)置。
11.根據(jù)權(quán)利要求8所述的方法,其還包括如果所述一個(gè)或多個(gè)TCP分組中的所述至少 一個(gè)不適合于TCP分組調(diào)度服務(wù),則向所述第一設(shè)備上的所述接收層發(fā)送所述一個(gè)或多個(gè) TCP分組中的所述至少一個(gè)。
12.根據(jù)權(quán)利要求8所述的方法,其還包括在所述第一設(shè)備處,存儲(chǔ)關(guān)于所述第一設(shè)備和所述第二設(shè)備之間的連接的信息,其中 所述信息被用于配置向所述接收層的延遲傳遞。
13.根據(jù)權(quán)利要求12所述的方法,其中被存儲(chǔ)的關(guān)于所述第二設(shè)備和所述第一設(shè)備之 間的連接的信息包括所述連接的上一次分組傳遞時(shí)間;所述連接的突發(fā)計(jì)數(shù);以及每一連接的先進(jìn)先出(FIFO)隊(duì)列,其存儲(chǔ)指向還沒(méi)有被傳遞到所述接收層的所述一 個(gè)或多個(gè)TCP分組中的所述至少一個(gè)的指針。
14.根據(jù)權(quán)利要求13所述的方法,其中如果所述一個(gè)或多個(gè)TCP分組中的所述至少一個(gè)是從所述發(fā)送層所接收的所述連接的第一個(gè)分組,則所述連接的所述上一次分組傳遞時(shí) 間被設(shè)置為當(dāng)前時(shí)間并且所述連接的所述突發(fā)計(jì)數(shù)被設(shè)置為0。
15.根據(jù)權(quán)利要求13所述的方法,其還包括將所述一個(gè)或多個(gè)TCP分組中的所述至少一個(gè)插入TCP分組調(diào)度服務(wù)隊(duì)列用于延遲向 所述接收層的傳遞。
16.根據(jù)權(quán)利要求15所述的方法,其還包括從所述TCP分組調(diào)度服務(wù)隊(duì)列獲得下一個(gè)被延遲的TCP分組; 取回被存儲(chǔ)的關(guān)于所述第一設(shè)備和所述第二設(shè)備之間的連接的信息,其中被存儲(chǔ)的上 一次分組傳遞時(shí)間被用于計(jì)算所述連接的延遲時(shí)間;基于被取回的關(guān)于所述連接的信息,確定所述下一個(gè)被延遲的TCP分組是否為所述連 接的第一個(gè)將被傳遞的分組;以及如果所述下一個(gè)被延遲的TCP分組是所述連接的所述第一個(gè)將被傳遞的分組并且所 述連接的所述延遲時(shí)間或者所述突發(fā)計(jì)數(shù)達(dá)到預(yù)先配置的閾值,則向所述第一設(shè)備上的接 收層發(fā)送所述下一個(gè)被延遲的TCP分組。
17.根據(jù)權(quán)利要求16所述的方法,其中從所述TCP分組調(diào)度服務(wù)隊(duì)列獲得下一個(gè)被延 遲的TCP分組可以通過(guò)從所述發(fā)送層接收TCP分組而被調(diào)用。
18.根據(jù)權(quán)利要求16所述的方法,其中從所述TCP分組調(diào)度服務(wù)隊(duì)列獲得下一個(gè)被延 遲的TCP分組可以通過(guò)計(jì)時(shí)器在所述第二設(shè)備和所述第一設(shè)備之間的連接的在所述第一 設(shè)備處的接收或者發(fā)送TCP分組的一段預(yù)先配置的不活動(dòng)時(shí)間之后被調(diào)用。
19.根據(jù)權(quán)利要求16所述的方法,其還包括 更新被存儲(chǔ)的關(guān)于所述連接的信息。
20.根據(jù)權(quán)利要求19所述的方法,其中更新關(guān)于所述連接的信息包括如果所述延遲時(shí)間達(dá)到用于向所述接收層傳遞被延遲的TCP分組的所述預(yù)先配置的 閾值,則將所述突發(fā)計(jì)數(shù)重新設(shè)置為0 ; 將所述突發(fā)計(jì)數(shù)增加1 ;以及 將所述上一次分組傳遞時(shí)間更新為與當(dāng)前時(shí)間相等。
21.根據(jù)權(quán)利要求16所述的方法,其還包括如果所述下一個(gè)被延遲的TCP分組不是所述連接的所述第一個(gè)將被傳遞的分組,或者 所述連接的所述延遲時(shí)間和所述突發(fā)計(jì)數(shù)沒(méi)有達(dá)到所述預(yù)先配置的閾值,則將所述下一個(gè) 被延遲的TCP分組重新插入所述TCP分組調(diào)度服務(wù)隊(duì)列中用于以后向所述接收層的傳遞。
22.—種系統(tǒng),所述系統(tǒng)包括 第一設(shè)備,以及第二設(shè)備,其被配置用于通過(guò)所述第一設(shè)備和所述第二設(shè)備之間的連接與所述第一設(shè) 備通信,所述第二設(shè)備在網(wǎng)絡(luò)層和傳輸層之間包括分組調(diào)度程序?qū)樱渲兴龇纸M調(diào)度程 序?qū)訌乃龅谝辉O(shè)備上的發(fā)送層接收一個(gè)或多個(gè)傳輸控制協(xié)議(TCP)分組,其中所述發(fā)送 層是所述網(wǎng)絡(luò)層或者所述傳輸層中的一個(gè),通過(guò)延遲所述一個(gè)或多個(gè)TCP分組中的至少一個(gè)的傳遞來(lái)使所述傳遞平滑,并且 向接收層發(fā)送所述一個(gè)或多個(gè)TCP分組,其中所述接收層是所述網(wǎng)絡(luò)層或者所述傳輸層中不是所述發(fā)送層的那個(gè)。
23.根據(jù)權(quán)利要求22所述的系統(tǒng),其中所述一個(gè)或多個(gè)TCP分組中的所述至少一個(gè)是 由所述第二設(shè)備上的所述發(fā)送層生成的TCP確認(rèn)分組。
24.根據(jù)權(quán)利要求22所述的系統(tǒng),其中所述一個(gè)或多個(gè)TCP分組中的所述至少一個(gè)是 丟失的TCP分組的重新傳輸,所述丟失的TCP分組由所述第二設(shè)備上的所述發(fā)送層重新發(fā) 送。
25.根據(jù)權(quán)利要求22所述的系統(tǒng),其中所述第二設(shè)備通過(guò)所述第二設(shè)備和第一設(shè)備之 間的連接與所述第一設(shè)備通信。
26.根據(jù)權(quán)利要求25所述的系統(tǒng),其中所述一個(gè)或多個(gè)TCP分組中的所述至少一個(gè)源 自于所述第一設(shè)備。
27.根據(jù)權(quán)利要求25所述的系統(tǒng),其中所述分組調(diào)度程序?qū)哟_定所述一個(gè)或多個(gè)TCP 分組中的所述至少一個(gè)是否適合于向所述接收層的延遲傳遞。
28.根據(jù)權(quán)利要求27所述的系統(tǒng),其中所述分組調(diào)度程序?qū)踊谒鲆粋€(gè)或多個(gè)TCP 分組中的所述至少一個(gè)的TCP確認(rèn)標(biāo)志被設(shè)置來(lái)確定所述一個(gè)或多個(gè)TCP分組中的所述至 少一個(gè)是否適合于向所述接收層的延遲傳遞。
29.根據(jù)權(quán)利要求27所述的系統(tǒng),其中所述分組調(diào)度程序?qū)踊谒鲆粋€(gè)或多個(gè)TCP 分組中的所述至少一個(gè)的TCP DATA標(biāo)志被設(shè)置來(lái)確定所述一個(gè)或多個(gè)TCP分組中的所述 至少一個(gè)是否適合于向所述接收層的延遲傳遞。
30.根據(jù)權(quán)利要求27所述的系統(tǒng),其中如果所述一個(gè)或多個(gè)TCP分組中的所述至少一 個(gè)不適合于所述延遲傳遞,則所述分組調(diào)度程序?qū)恿⒓聪蛩龅谝辉O(shè)備上的所述接收層發(fā) 送所述一個(gè)或多個(gè)TCP分組中的所述至少一個(gè)。
31.根據(jù)權(quán)利要求27所述的系統(tǒng),其中所述分組調(diào)度程序?qū)哟鎯?chǔ)關(guān)于所述第一設(shè)備和 所述第二設(shè)備之間的連接的信息,其中所述信息被用于配置向所述接收層的延遲傳遞。
32.根據(jù)權(quán)利要求31所述的系統(tǒng),其中被存儲(chǔ)的關(guān)于所述第一設(shè)備和所述第二設(shè)備之 間的連接的信息包括所述連接的上一次分組傳遞時(shí)間;所述連接的突發(fā)計(jì)數(shù);以及每一連接的先進(jìn)先出(FIFO)隊(duì)列,其存儲(chǔ)指向還沒(méi)有被傳遞到所述接收層的所述一 個(gè)或多個(gè)TCP分組中的所述至少一個(gè)的指針。
33.根據(jù)權(quán)利要求32所述的系統(tǒng),其中如果所述一個(gè)或多個(gè)TCP分組中的所述至少一 個(gè)是從所述發(fā)送層所接收的所述連接的第一個(gè)分組,則所述連接的所述上一次分組傳遞時(shí) 間被設(shè)置為當(dāng)前時(shí)間并且所述連接的所述突發(fā)計(jì)數(shù)被設(shè)置為0。
34.根據(jù)權(quán)利要求27所述的系統(tǒng),其中所述分組調(diào)度程序?qū)訉⑺鲆粋€(gè)或多個(gè)TCP分 組中的所述至少一個(gè)插入TCP分組調(diào)度服務(wù)隊(duì)列用于延遲向所述接收層的傳遞。
35.根據(jù)權(quán)利要求34所述的系統(tǒng),其中所述分組調(diào)度程序?qū)訌乃鯰CP分組調(diào)度服務(wù)隊(duì)列獲得下一個(gè)被延遲的TCP分組;取回被存儲(chǔ)的關(guān)于所述第一設(shè)備和所述第二設(shè)備之間的連接的信息,其中被存儲(chǔ)的上 一次分組傳遞時(shí)間被用于計(jì)算所述連接的延遲時(shí)間;基于被取回的關(guān)于所述連接的信息,確定所述下一個(gè)被延遲的TCP分組是否為所述連接的第一個(gè)將被傳遞的分組;并且如果所述下一個(gè)被延遲的TCP分組是所述連接的第一個(gè)將被傳遞的分組并且所述連 接的所述延遲時(shí)間或者所述突發(fā)計(jì)數(shù)達(dá)到預(yù)先配置的閾值,則向所述第二設(shè)備上的接收層 發(fā)送所述下一個(gè)被延遲的TCP分組。
36.根據(jù)權(quán)利要求35所述的系統(tǒng),其中所述分組調(diào)度程序?qū)釉趶乃霭l(fā)送層接收TCP 分組時(shí)從所述TCP分組調(diào)度服務(wù)隊(duì)列獲得下一個(gè)被延遲的TCP分組。
37.根據(jù)權(quán)利要求35所述的系統(tǒng),其中在所述第二設(shè)備處,對(duì)于所述第二設(shè)備和所述 第一設(shè)備之間的連接,所述分組調(diào)度程序?qū)釉谒龅诙O(shè)備和所述第一設(shè)備之間的連接的 在所述第一設(shè)備處的接收或者發(fā)送TCP分組的一段預(yù)先配置的不活動(dòng)時(shí)間之后從所述TCP 分組調(diào)度服務(wù)隊(duì)列獲得下一個(gè)被延遲的TCP包。
38.根據(jù)權(quán)利要求35所述的系統(tǒng),其中所述分組調(diào)度程序?qū)痈卤淮鎯?chǔ)的關(guān)于所述連 接的信息。
39.根據(jù)權(quán)利要求38所述的系統(tǒng),其中所述分組調(diào)度程序?qū)油ㄟ^(guò)以下操作更新被存儲(chǔ) 的關(guān)于所述連接的信息如果所述延遲時(shí)間達(dá)到用于向所述接收層傳遞被延遲的TCP分組的所述預(yù)先配置的 閾值,則將突發(fā)計(jì)數(shù)重新設(shè)置為0 ;將所述突發(fā)計(jì)數(shù)增加1 ;以及將所述上一次分組傳遞時(shí)間更新為與當(dāng)前時(shí)間相等。
40.根據(jù)權(quán)利要求35所述的系統(tǒng),其中如果所述下一個(gè)被延遲的TCP分組不是所述連接的第一個(gè)將被傳遞的分組,或者所述 連接的所述延遲時(shí)間和所述突發(fā)計(jì)數(shù)沒(méi)有達(dá)到所述預(yù)先配置的閾值,則所述分組調(diào)度程序 層將所述下一個(gè)被延遲的TCP分組重新插入所述TCP分組調(diào)度服務(wù)隊(duì)列中用于以后向所述 接收層的傳遞。
41.一種存儲(chǔ)指令的計(jì)算機(jī)可讀介質(zhì),所述指令在由第一設(shè)備執(zhí)行時(shí)使得所述第一設(shè) 備執(zhí)行用于傳遞下一個(gè)被延遲的TCP分組的方法,所述方法包括在第一設(shè)備處,在網(wǎng)絡(luò)層和傳輸層之間提供分組調(diào)度程序?qū)?;在所述分組調(diào)度程序?qū)犹帲瑥乃龅谝辉O(shè)備上的發(fā)送層接收一個(gè)或多個(gè)傳輸控制協(xié)議 (TCP)分組,其中所述發(fā)送層是所述網(wǎng)絡(luò)層或者所述傳輸層中的一個(gè);通過(guò)延遲所述一個(gè)或多個(gè)TCP分組中的至少一個(gè)的傳遞來(lái)使所述傳遞平滑;以及向接收層發(fā)送所述一個(gè)或多個(gè)TCP分組,其中所述接收層是所述網(wǎng)絡(luò)層或者所述傳輸 層中不是所述發(fā)送層的那個(gè)。
全文摘要
一種用計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括在第一設(shè)備處,在網(wǎng)絡(luò)層和傳輸層之間提供分組調(diào)度程序?qū)?;在所述分組調(diào)度程序?qū)犹帲瑥乃龅谝辉O(shè)備上的發(fā)送層接收一個(gè)或多個(gè)傳輸控制協(xié)議(TCP)分組,其中所述發(fā)送層是所述網(wǎng)絡(luò)層或者所述傳輸層中的一個(gè);通過(guò)延遲所述一個(gè)或多個(gè)TCP分組中的至少一個(gè)的傳遞來(lái)使所述傳遞平滑;以及向接收層發(fā)送所述一個(gè)或多個(gè)TCP分組,其中所述接收層是所述網(wǎng)絡(luò)層或者所述傳輸層中不是所述發(fā)送層的那個(gè)。
文檔編號(hào)H04L12/56GK101971578SQ200880127690
公開(kāi)日2011年2月9日 申請(qǐng)日期2008年12月22日 優(yōu)先權(quán)日2007年12月28日
發(fā)明者A·沃森, C·庫(kù)普曼斯, K·帕塔薩拉蒂, N·J·斯塔夫拉科斯 申請(qǐng)人:拜特移動(dòng)網(wǎng)絡(luò)公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
安徽省| 藁城市| 海盐县| 东方市| 潜江市| 奉新县| 泗洪县| 昌宁县| 和林格尔县| 诸暨市| 扎鲁特旗| 嘉峪关市| 积石山| 淳安县| 孟州市| 怀安县| 黄陵县| 布尔津县| 西贡区| 句容市| 临颍县| 沅陵县| 邻水| 喜德县| 泸州市| 宜川县| 宝丰县| 六安市| 密山市| 霸州市| 永城市| 高要市| 康保县| 大港区| 湛江市| 长治县| 肇源县| 临夏市| 双牌县| 麻阳| 新宁县|