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

發(fā)射控制方法和系統(tǒng)的制作方法

文檔序號:7566609閱讀:119來源:國知局
專利名稱:發(fā)射控制方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于在通信網(wǎng)中控制數(shù)據(jù)重發(fā)的技術(shù)。
背景技術(shù)
現(xiàn)在通常使用那些利用TCP(傳輸控制協(xié)議)用于發(fā)射和接收數(shù)據(jù)的設(shè)備。TCP是在OSI(開放系統(tǒng)互連)參考模型下所使用的一個(gè)協(xié)議,并且它在為了從一個(gè)發(fā)送器設(shè)備傳輸?shù)浇邮諜C(jī)設(shè)備而把從上層中流出的數(shù)據(jù)分成數(shù)據(jù)段時(shí)被使用。TCP確保有序數(shù)據(jù)段可靠流向接收機(jī)設(shè)備。更明確地,一個(gè)編號(在下文中稱為“一個(gè)序列號”)被分配給數(shù)據(jù)序列中的每個(gè)數(shù)據(jù)段以便指示所述數(shù)據(jù)段在該數(shù)據(jù)序列中的順序。發(fā)送器設(shè)備分配一個(gè)序列號給要被發(fā)射的每個(gè)數(shù)據(jù)段的報(bào)頭,并在該數(shù)據(jù)段被發(fā)射時(shí)將一個(gè)計(jì)時(shí)器初始化。如果在一個(gè)計(jì)劃時(shí)間(超時(shí))之內(nèi)從接收機(jī)設(shè)備中沒有關(guān)于被發(fā)射數(shù)據(jù)段的接收確認(rèn),這個(gè)時(shí)間是根據(jù)數(shù)據(jù)段發(fā)射到它的接收地并確認(rèn)此接收的一個(gè)估計(jì)時(shí)間(即,數(shù)據(jù)段的估計(jì)往返時(shí)間)來判定的,則發(fā)送器設(shè)備暫時(shí)判定該數(shù)據(jù)段已被丟失而沒有到達(dá)該接收機(jī)設(shè)備并且向該接收機(jī)設(shè)備重發(fā)該數(shù)據(jù)段。
在發(fā)送器設(shè)備處,當(dāng)接收到一個(gè)確認(rèn)時(shí),包含在接收確認(rèn)的報(bào)頭中的一個(gè)數(shù)字表示該接收確認(rèn)所對應(yīng)的那個(gè)數(shù)據(jù)段。當(dāng)接收機(jī)設(shè)備發(fā)射一個(gè)確認(rèn)時(shí),它在確認(rèn)報(bào)頭中的“確認(rèn)號”字段中設(shè)置它接下來希望接收的那個(gè)數(shù)據(jù)段的序列號。例如,當(dāng)使用從500開始并接著1000、1500等等的序列號時(shí),一旦收到具有序列號為“500”的一個(gè)數(shù)據(jù)段后,則要被發(fā)射到發(fā)送器設(shè)備的那個(gè)確認(rèn)的確認(rèn)號被設(shè)置為1000。在接收到這樣一個(gè)確認(rèn)之時(shí),發(fā)送器設(shè)備判定一個(gè)已發(fā)射數(shù)據(jù)段已被接收機(jī)設(shè)備安全接收,然后發(fā)射一個(gè)后續(xù)數(shù)據(jù)段。
應(yīng)當(dāng)指出,一個(gè)發(fā)送器設(shè)備接收到具有確認(rèn)號為1000的一個(gè)確認(rèn),發(fā)送器設(shè)備沒有發(fā)射具有序列號為1000的數(shù)據(jù)段,或者即使該數(shù)據(jù)段已經(jīng)被發(fā)射,則該分段都沒有被接收機(jī)設(shè)備所接收。即使由于具有序列號1000的數(shù)據(jù)段遺失而使具有序列號1500的一個(gè)后續(xù)數(shù)據(jù)段已經(jīng)在接收機(jī)設(shè)備處被接收,則此確認(rèn)號也保持設(shè)置為1000直到包含序列號1000的一個(gè)數(shù)據(jù)段在接收機(jī)設(shè)備處被接收為止。因此,未被接收機(jī)設(shè)備接收的最小的最近數(shù)據(jù)段序列號被設(shè)置一個(gè)確認(rèn)號。
在上面解釋的數(shù)據(jù)段傳輸方法中,通過僅僅在該設(shè)備處接收到來自接收機(jī)設(shè)備的先前發(fā)射數(shù)據(jù)段的一個(gè)確認(rèn)之后,從發(fā)送器設(shè)備中發(fā)射一個(gè)后續(xù)數(shù)據(jù)段來保證可靠性。可是,雖然此方法保證了數(shù)據(jù)傳輸可靠性但是它抑制了效率。為了提高效率,TCP提供了一種根據(jù)“窗口”定義的號碼發(fā)射某一數(shù)量數(shù)據(jù)段的方法。一個(gè)“窗口”是能夠在接收一個(gè)確認(rèn)之前被發(fā)射的若干字節(jié)或若干數(shù)據(jù)段。窗口大小由發(fā)送器設(shè)備判定如此以使它不超過接收機(jī)設(shè)備的可用緩沖區(qū)大小。當(dāng)發(fā)送器設(shè)備收到一個(gè)已發(fā)射數(shù)據(jù)段(組)的確認(rèn)時(shí),一個(gè)窗口滑動(dòng)這個(gè)數(shù)據(jù)段數(shù)目(其中一個(gè)數(shù)據(jù)段的確認(rèn)已經(jīng)被接收),然后,一個(gè)后續(xù)數(shù)據(jù)段(組)被發(fā)射到窗口已滑動(dòng)的那個(gè)區(qū)域。這種方法被稱為一個(gè)“滑動(dòng)窗口方法”;并且通過控制窗口大小來控制數(shù)據(jù)流量。
如果當(dāng)一個(gè)滑動(dòng)窗口方法正被使用時(shí)例如由于無線通信的中斷或者由于系統(tǒng)的擁塞而暫停數(shù)據(jù)流時(shí),已發(fā)射數(shù)據(jù)段可能在系統(tǒng)中被丟失或者需要被暫時(shí)儲(chǔ)存在網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)中直到數(shù)據(jù)通信恢復(fù)為止。尤其是在無線通信環(huán)境中更可能發(fā)生損耗。數(shù)據(jù)通信恢復(fù)之后,被暫時(shí)儲(chǔ)存在網(wǎng)絡(luò)節(jié)點(diǎn)中的任意數(shù)據(jù)段能夠到達(dá)接收機(jī)設(shè)備——雖然有一點(diǎn)點(diǎn)延遲。
可是,如果通信中斷持續(xù)了一個(gè)相當(dāng)長的時(shí)間,并且在發(fā)送器設(shè)備處一個(gè)已發(fā)射數(shù)據(jù)段發(fā)生超時(shí),發(fā)送器設(shè)備從至今已被發(fā)射但還未被確認(rèn)的數(shù)據(jù)段之中重發(fā)第一數(shù)據(jù)段。結(jié)果,接收機(jī)設(shè)備接收暫時(shí)儲(chǔ)存在網(wǎng)絡(luò)中的數(shù)據(jù)段(在下文中稱為“原始數(shù)據(jù)段”)和重發(fā)的數(shù)據(jù)段。接收機(jī)設(shè)備然后在原始數(shù)據(jù)段的接收之后返回原始數(shù)據(jù)段的確認(rèn);并且在重發(fā)的數(shù)據(jù)段接收之后發(fā)射重發(fā)數(shù)據(jù)段的確認(rèn);這兩個(gè)確認(rèn)的每一個(gè)通常都具有相同的確認(rèn)號。這導(dǎo)致這樣一個(gè)問題,即發(fā)送器設(shè)備不能判定接收到的確認(rèn)是關(guān)于最初已發(fā)射數(shù)據(jù)段還是關(guān)于一個(gè)重發(fā)數(shù)據(jù)段,并且因此回復(fù)一個(gè)狀態(tài)判定原始數(shù)據(jù)段未到達(dá)接收機(jī)設(shè)備。
在如下兩個(gè)示例中,將對于這種情形給出解釋。
圖10是示出在服務(wù)器設(shè)備10′(發(fā)送器設(shè)備)和客戶端設(shè)備50(接收機(jī)設(shè)備)之間執(zhí)行分組通信的示例序列圖。出現(xiàn)在該圖中服務(wù)器設(shè)備10′處每個(gè)箭頭的初始點(diǎn)右邊的4位數(shù)字是從服務(wù)器設(shè)備10′中發(fā)射的一個(gè)數(shù)據(jù)段的序列號;而出現(xiàn)在該圖中接收機(jī)設(shè)備50處每個(gè)箭頭的初始點(diǎn)左邊的4位數(shù)字是包括在從客戶端設(shè)備50中發(fā)射的確認(rèn)消息中的一個(gè)確認(rèn)號。在這里假定一個(gè)原始滑動(dòng)窗口大小為三,即,可以發(fā)送三個(gè)數(shù)據(jù)段而不必接收確認(rèn)。
在圖10中,三個(gè)數(shù)據(jù)段(原始數(shù)據(jù)段)S1-S3初次從服務(wù)器設(shè)備10′中被發(fā)射,數(shù)據(jù)段S1、S2和S3分別具有序列號0、1000和2000。在這些數(shù)據(jù)段發(fā)射之時(shí),在服務(wù)器設(shè)備10′處設(shè)置一個(gè)計(jì)時(shí)器。
在該圖中,由于網(wǎng)絡(luò)通信條件損耗,所以在客戶端設(shè)備50處接收數(shù)據(jù)段S1、S2和S3帶有一點(diǎn)延遲??蛻舳嗽O(shè)備50在接收到原始數(shù)據(jù)段S1之后,向服務(wù)器設(shè)備10′發(fā)射具有確認(rèn)號1000的一個(gè)確認(rèn)R1。同樣地,在接收到原始數(shù)據(jù)段S2之后客戶端設(shè)備50發(fā)射具有確認(rèn)號2000的一個(gè)確認(rèn)R2,并且在接收到原始數(shù)據(jù)段S3之后發(fā)射具有確認(rèn)號3000的一個(gè)確認(rèn)R3。
如該圖所示,服務(wù)器設(shè)備10′在計(jì)時(shí)器測量的一個(gè)逝去時(shí)間超過一個(gè)超時(shí)值之前沒有從接收機(jī)設(shè)備50中接收到一個(gè)確認(rèn)。結(jié)果,服務(wù)器設(shè)備10′在超時(shí)時(shí)刻判定原始數(shù)據(jù)段S1沒有被客戶端設(shè)備50接收,并且重發(fā)具有序列號0的一個(gè)數(shù)據(jù)段(重發(fā)的數(shù)據(jù)段S′1)。因?yàn)榇翱诖笮”粶p小到迫近超時(shí)的一個(gè)最小值,所以在這里發(fā)射一個(gè)數(shù)據(jù)段(即,重發(fā)的數(shù)據(jù)段S′1)。
服務(wù)器設(shè)備10′隨后接收確認(rèn)號為1000的一個(gè)確認(rèn)R1。在這里,因?yàn)樯厦嫣岬降脑?,所以服?wù)器設(shè)備10′不能根據(jù)確認(rèn)號1000來判斷確認(rèn)R1是關(guān)于原始數(shù)據(jù)段S1還是關(guān)于重發(fā)的數(shù)據(jù)段S′1。因此,服務(wù)器設(shè)備10′把確認(rèn)R1作為關(guān)于重發(fā)的數(shù)據(jù)段S′1來對待,并且所述序列號為1000的數(shù)據(jù)段被重發(fā)(重發(fā)的數(shù)據(jù)段S′2)。服務(wù)器設(shè)備10′還要重發(fā)后續(xù)序列號為2000的一個(gè)數(shù)據(jù)段(重發(fā)的數(shù)據(jù)段S′3),因?yàn)樵诮邮盏酱_認(rèn)R1之后,窗口大小增加一。
服務(wù)器設(shè)備10′隨后接收確認(rèn)號為2000的一個(gè)確認(rèn)R2,然后,按順序發(fā)射后續(xù)原始數(shù)據(jù)段(原始數(shù)據(jù)段S4和隨后的原始數(shù)據(jù)段)。
在這個(gè)示例中,即使在客戶端設(shè)備50處已安全接收到原始數(shù)據(jù)段S2和S3,則它們也要被重發(fā)(重發(fā)的數(shù)據(jù)段S′2和S′3)。也就是說,當(dāng)每一個(gè)數(shù)據(jù)段S2和S3在兩個(gè)不同的時(shí)間都被客戶端設(shè)備50接收時(shí),數(shù)據(jù)段S2和S3的重發(fā)導(dǎo)致不必要的發(fā)射--雖然這在重發(fā)時(shí)刻未被判定。另外,從圖10中很清楚,響應(yīng)于重發(fā)的數(shù)據(jù)段S′2和S′3,則還要發(fā)射確認(rèn)R′2和R′3。因此,已經(jīng)不必要地重發(fā)了總數(shù)為四的數(shù)據(jù)段。
圖11示出了可能發(fā)生不必要的數(shù)據(jù)段重發(fā)的第二示例。為了防止接收機(jī)設(shè)備發(fā)射格外數(shù)量的確認(rèn),TCP提供在規(guī)定時(shí)間內(nèi)可以延遲來自接收機(jī)設(shè)備的確認(rèn)的發(fā)射,并且該確認(rèn)可以和來自接收機(jī)設(shè)備的下一數(shù)據(jù)發(fā)射一起被發(fā)射(“延遲的確認(rèn)”,RFC 2581)??墒牵谝粋€(gè)規(guī)定時(shí)間內(nèi)接收兩個(gè)全尺寸數(shù)據(jù)段的情況下,應(yīng)該發(fā)射確認(rèn)而不必等待下一數(shù)據(jù)發(fā)射。也就是說,在短時(shí)滯后,例如相互之間的200毫秒內(nèi)收到兩個(gè)數(shù)據(jù)段的情況下,可以用一個(gè)確認(rèn)通知兩個(gè)數(shù)據(jù)段被接收來代替單個(gè)確認(rèn)的使用。更明確地,接收機(jī)設(shè)備發(fā)射第二接收數(shù)據(jù)段的確認(rèn),藉此通知發(fā)送器設(shè)備關(guān)于兩個(gè)數(shù)據(jù)段的接收。這個(gè)是如圖11所示示例中的情況。
在圖11中,正如在圖10情況下所假定的,原始數(shù)據(jù)段S1、S2和S3從服務(wù)器設(shè)備10′中發(fā)射并隨后被客戶端設(shè)備50接收,接收時(shí)由于通信路徑中的損耗而具有一些延遲。隨后,客戶端設(shè)備50發(fā)射確認(rèn)R2。同時(shí),服務(wù)器設(shè)備10′重發(fā)超時(shí)的數(shù)據(jù)段S1(重發(fā)的數(shù)據(jù)段S′1)。因?yàn)榇翱诖笮”粶p小到迫近超時(shí)的一個(gè)最小值,所以在這里發(fā)射一個(gè)數(shù)據(jù)段(即,重發(fā)的數(shù)據(jù)段S′1)。
服務(wù)器設(shè)備10′隨后接收從客戶端設(shè)備50中發(fā)射的確認(rèn)R2。在接收之后,服務(wù)器設(shè)備10′參考包含在確認(rèn)R2中的確認(rèn)號2000,并重發(fā)具有相同序列號的分段,即,原始數(shù)據(jù)段S3。服務(wù)器設(shè)備10′還要發(fā)射序列號為3000的一個(gè)后續(xù)原始數(shù)據(jù)段S4,因?yàn)樵诮邮盏酱_認(rèn)R2之后,窗口大小增加一個(gè)數(shù)據(jù)段。
服務(wù)器設(shè)備10′隨后接收從客戶端設(shè)備50中發(fā)射的確認(rèn)號為3000的確認(rèn)R3。結(jié)果,服務(wù)器設(shè)備10′按順序發(fā)射后續(xù)序列號為4000的原始數(shù)據(jù)段S5及后續(xù)數(shù)據(jù)段。
在這個(gè)示例中,即使實(shí)際上分段S3已被客戶端設(shè)備50安全接收,原始數(shù)據(jù)段S3也還被重發(fā);并且如圖11所示,重發(fā)數(shù)據(jù)段S′3的確認(rèn)R′3也還要被發(fā)射。因此,數(shù)據(jù)段S′3和確認(rèn)R′3的重發(fā)構(gòu)成不必要的發(fā)射。
在發(fā)送器設(shè)備不能判定一個(gè)確認(rèn)是關(guān)于原始數(shù)據(jù)段還是關(guān)于重發(fā)數(shù)據(jù)段的情況下,如果判定在重發(fā)一個(gè)數(shù)據(jù)段之后接收到的一個(gè)確認(rèn)是關(guān)于原始數(shù)據(jù)段的,則不執(zhí)行這種不必要的數(shù)據(jù)段發(fā)射。
可是,當(dāng)做出這樣一個(gè)判斷時(shí),重發(fā)數(shù)據(jù)段的確認(rèn)被認(rèn)為是原始數(shù)據(jù)段的確認(rèn),其中窗口向前滑動(dòng),使得一個(gè)后續(xù)原始數(shù)據(jù)段將被發(fā)射。當(dāng)原始數(shù)據(jù)段的這種發(fā)射被重復(fù)時(shí),存在著已經(jīng)從服務(wù)器設(shè)備10′中發(fā)射但是未到達(dá)客戶端設(shè)備50的數(shù)據(jù)段數(shù)目累積增加的危險(xiǎn)。
為了避免這種危險(xiǎn),在發(fā)送器設(shè)備不能判定一個(gè)確認(rèn)是關(guān)于原始數(shù)據(jù)段還是關(guān)于重發(fā)數(shù)據(jù)段的情況下,默認(rèn)判定一個(gè)確認(rèn)是關(guān)于原始數(shù)據(jù)段的。可是,使用這種判斷,發(fā)送器設(shè)備不能避免不必要的數(shù)據(jù)段重發(fā)。
為了解決這個(gè)問題,“TCP的Eifel檢測算法”,R.Ludwig,M.Meyer,http//www.ietf.org/internet-drafts/draft-ietf-tsvwg-tcp-eifel-alg-04.txt,2002年7月24日,公開了一種技術(shù),通過使用RFC 1323中定義的TCP時(shí)間標(biāo)記選項(xiàng)來實(shí)現(xiàn)對于一個(gè)確認(rèn)是關(guān)于原始數(shù)據(jù)段還是關(guān)于重發(fā)數(shù)據(jù)段的可靠判斷。
而且,在“On Estimating End-To-End Network PathProperties.2.8 Impact of Bad Timeouts”(關(guān)于估計(jì)端對端網(wǎng)絡(luò)通路性質(zhì)。差超時(shí)的2.8影響)(Mark Allman,Vern Paxson,ACMSIGCOMM 99,1999年10月,第29卷,第4期第263-274頁),Allman等人建議了一種技術(shù)使用統(tǒng)計(jì)信息來在有線分組通信網(wǎng)中的分組通信中估計(jì)一個(gè)接收到的確認(rèn)是關(guān)于原始數(shù)據(jù)段還是關(guān)于重發(fā)數(shù)據(jù)段。
在Allman的提議中,在把1/2最小往返時(shí)間作為閾值的基礎(chǔ)上執(zhí)行估計(jì),在此,最小往返時(shí)間是通過在發(fā)送器設(shè)備和接收機(jī)設(shè)備之間連接保持運(yùn)行時(shí),測量數(shù)據(jù)段被發(fā)射的時(shí)間直到該分段的確認(rèn)被接收的時(shí)間所獲得的多個(gè)往返時(shí)間的最小數(shù)值。在這個(gè)方法中,如果從數(shù)據(jù)段重發(fā)逝去的時(shí)間直到第一個(gè)確認(rèn)被接收時(shí)的時(shí)間等于或長于該閾值,則接收到的確認(rèn)被認(rèn)為是關(guān)于重發(fā)數(shù)據(jù)段的;而逝去時(shí)間短于(或者等于或短于)該閾值時(shí),接收到的確認(rèn)被認(rèn)為是關(guān)于原始數(shù)據(jù)段的。
判定閾值時(shí)間為最小往返時(shí)間的一半是基于如下條件1.在統(tǒng)計(jì)上,最初發(fā)射的數(shù)據(jù)段的確認(rèn)被接收的概率大約是相同的期間從重發(fā)直到1/2最小往返時(shí)間的周期已經(jīng)逝去;從重發(fā)直到3/4最小往返時(shí)間的周期已經(jīng)逝去;以及從重發(fā)直到完整最小往返時(shí)間的周期已經(jīng)逝去;以及2.在統(tǒng)計(jì)上,重發(fā)數(shù)據(jù)段的確認(rèn)被接收的概率在從重發(fā)已經(jīng)逝去1/2最小往返時(shí)間不久后的時(shí)間點(diǎn)周圍迅速增加。
可是,當(dāng)使用Eifel檢測算法時(shí),即使在優(yōu)良的網(wǎng)絡(luò)條件下,在發(fā)送器設(shè)備處也總是把時(shí)間標(biāo)記信息附加到原始數(shù)據(jù)段上并且在接收機(jī)設(shè)備處附加到一個(gè)確認(rèn)上。這意味著原始數(shù)據(jù)段和確認(rèn)數(shù)據(jù)段兩者大小都增加。在按通過網(wǎng)絡(luò)發(fā)射的分段數(shù)量的比例來為用戶通信計(jì)費(fèi)的情況下,已發(fā)射數(shù)據(jù)數(shù)量的增加導(dǎo)致通信費(fèi)用的增加。在網(wǎng)絡(luò)條件很好并且數(shù)據(jù)重發(fā)情況可能很小的情況下,這種不希望的通信費(fèi)用增加可能變得更顯著。很清楚,這種通信費(fèi)用的增加對于接收機(jī)設(shè)備或發(fā)送器設(shè)備的用戶都是不理想的。
把時(shí)間標(biāo)記信息包括在通信時(shí)刻使用的一個(gè)TCP報(bào)頭的保留比特中來代替把該信息附加到一個(gè)數(shù)據(jù)段中較為合理??墒?,現(xiàn)有的通信系統(tǒng)不支持這種方法,并且因此,為了使用這種方法需要大量修改發(fā)送器和接收機(jī)設(shè)備。
另外,甚至在使用Allman技術(shù)時(shí),在無線部分中的數(shù)據(jù)段延遲很顯著的移動(dòng)通信環(huán)境中也不能獲得最佳判斷結(jié)果。

發(fā)明內(nèi)容
本發(fā)明想要解決上面的問題,并且它的目的是提供一種技術(shù),該技術(shù)實(shí)現(xiàn)一個(gè)可靠的判斷判斷由發(fā)送器設(shè)備接收的一個(gè)確認(rèn)是原始數(shù)據(jù)段的確認(rèn)還是重發(fā)數(shù)據(jù)段的確認(rèn)。更明確地,在此描述的技術(shù)沒有增加數(shù)據(jù)量,并且不須重新設(shè)計(jì)接收機(jī)設(shè)備而只需要對發(fā)送器設(shè)備進(jìn)行一點(diǎn)點(diǎn)重新設(shè)計(jì)。
為了解決上面的問題,本發(fā)明提供一種使用在通信網(wǎng)中的發(fā)射控制方法,包括把序列信息分配給要按順序從發(fā)送器設(shè)備發(fā)射到接收機(jī)設(shè)備的每個(gè)數(shù)據(jù)塊;在把序列信息分配給多個(gè)數(shù)據(jù)塊的每一個(gè)之后,把多個(gè)數(shù)據(jù)塊發(fā)射到接收機(jī)設(shè)備;從多個(gè)數(shù)據(jù)塊中重發(fā)確認(rèn)信號未被接收的數(shù)據(jù)塊;接收一個(gè)確認(rèn)信號,該確認(rèn)信號包含多個(gè)數(shù)據(jù)塊中沒有被接收機(jī)設(shè)備接收的最早數(shù)據(jù)塊的序列信息;和根據(jù)重發(fā)數(shù)據(jù)塊的序列信息以及包含在確認(rèn)信號中的序列信息來判定該確認(rèn)信號是否確認(rèn)收到多個(gè)數(shù)據(jù)塊的一個(gè),其中,發(fā)射步驟包括當(dāng)判定該確認(rèn)信號確認(rèn)收到多個(gè)數(shù)據(jù)塊的一個(gè)時(shí),發(fā)射所述已發(fā)射的多個(gè)數(shù)據(jù)塊之后的一個(gè)數(shù)據(jù)塊。數(shù)據(jù)塊的一個(gè)示例是按照TCP的一個(gè)數(shù)據(jù)段。優(yōu)選地,接收機(jī)設(shè)備是經(jīng)由移動(dòng)通信網(wǎng)執(zhí)行分組通信的一個(gè)移動(dòng)通信終端。
在一個(gè)優(yōu)選實(shí)施例中,該發(fā)射控制方法還包括如下步驟在一個(gè)存儲(chǔ)裝置中存儲(chǔ)重發(fā)數(shù)據(jù)塊之后的數(shù)據(jù)塊的序列信息,其中,判定步驟包括通過把儲(chǔ)存在存儲(chǔ)裝置中的序列信息與包含在確認(rèn)信號中的序列信息進(jìn)行比較來執(zhí)行所述判定。優(yōu)選地,當(dāng)包含在確認(rèn)信號中的序列信息所識(shí)別的一個(gè)數(shù)據(jù)塊緊跟著由儲(chǔ)存在存儲(chǔ)裝置中的序列信息所識(shí)別的那個(gè)數(shù)據(jù)塊時(shí),判定該確認(rèn)信號確認(rèn)收到了多個(gè)數(shù)據(jù)塊的一個(gè)。
在該發(fā)射控制方法的另一優(yōu)選實(shí)施例中,根據(jù)一個(gè)窗口大小來判定在發(fā)射步驟中發(fā)射的多個(gè)數(shù)據(jù)塊的數(shù)目,該窗口大小定義了不必接收確認(rèn)就可以被發(fā)射的數(shù)據(jù)塊數(shù)目;在這種情況下,重發(fā)步驟包括當(dāng)重發(fā)在計(jì)劃時(shí)間內(nèi)未被確認(rèn)的數(shù)據(jù)塊時(shí)把窗口尺寸改變?yōu)樽钚〕叽纾⑶抑匕l(fā)根據(jù)改變了的窗口大小所判定的數(shù)據(jù)塊數(shù)目;并且發(fā)射步驟包括當(dāng)判定確認(rèn)信號確認(rèn)收到多個(gè)數(shù)據(jù)塊中的一個(gè)時(shí)增加窗口大小,如此使窗口大小等于或大于重發(fā)步驟中窗口大小被改變?yōu)樽钚〕叽缰暗拇翱诖笮?,并且發(fā)射根據(jù)增加了的窗口大小所判定的數(shù)據(jù)塊數(shù)目。
本發(fā)明還提供一個(gè)通信設(shè)備,包括分配裝置,把序列信息分配給要按順序發(fā)射到接收機(jī)設(shè)備的每個(gè)數(shù)據(jù)塊;發(fā)射裝置,在把序列信息分配給多個(gè)數(shù)據(jù)塊的每一個(gè)之后,用于把多個(gè)數(shù)據(jù)塊發(fā)射到接收機(jī);重發(fā)裝置,用于重發(fā)本多個(gè)數(shù)據(jù)塊中沒有接收到確認(rèn)信號的一個(gè)數(shù)據(jù)塊;接收裝置,用于接收一個(gè)確認(rèn)信號,該確認(rèn)信號包含多個(gè)數(shù)據(jù)塊中沒有被接收機(jī)設(shè)備接收的最早數(shù)據(jù)塊的序列信息;和判定裝置,用于根據(jù)重發(fā)數(shù)據(jù)塊的序列信息以及包含在確認(rèn)信號中的序列信息來判定該確認(rèn)信號是否確認(rèn)收到多個(gè)數(shù)據(jù)塊的一個(gè),其中,當(dāng)判定該確認(rèn)信號確認(rèn)收到多個(gè)數(shù)據(jù)塊的一個(gè)時(shí),該發(fā)射裝置發(fā)射所述已發(fā)射的多個(gè)數(shù)據(jù)塊之后的一個(gè)數(shù)據(jù)塊。
在一個(gè)優(yōu)選實(shí)施例中,通信設(shè)備還包括存儲(chǔ)裝置,用于存儲(chǔ)該重發(fā)數(shù)據(jù)塊之后的一個(gè)數(shù)據(jù)塊的序列信息,其中該判定裝置通過把儲(chǔ)存在該存儲(chǔ)裝置中的序列信息與包含在確認(rèn)信號中的序列信息進(jìn)行比較來執(zhí)行所述判定。優(yōu)選地,當(dāng)由包含在確認(rèn)信號中的序列信息所識(shí)別的一個(gè)數(shù)據(jù)塊緊跟著由儲(chǔ)存在存儲(chǔ)裝置中的序列信息所識(shí)別的數(shù)據(jù)塊時(shí),所述判定裝置判定確認(rèn)信號確認(rèn)收到了多個(gè)數(shù)據(jù)塊的一個(gè)。
在另一優(yōu)選實(shí)施例中,根據(jù)一個(gè)窗口大小來判定由通信設(shè)備的發(fā)射裝置發(fā)射的多個(gè)數(shù)據(jù)塊的數(shù)目,該窗口大小定義了不必接收確認(rèn)就可以被發(fā)射的數(shù)據(jù)塊數(shù)目。在這種情況下,當(dāng)重發(fā)在計(jì)劃時(shí)間內(nèi)未被確認(rèn)的一個(gè)數(shù)據(jù)塊時(shí)重發(fā)裝置把窗口尺寸改變?yōu)樽钚〕叽?,并且重發(fā)根據(jù)改變了的窗口大小所判定的數(shù)據(jù)塊數(shù)目;并且當(dāng)判定確認(rèn)信號確認(rèn)收到多個(gè)數(shù)據(jù)塊中的一個(gè)時(shí)發(fā)射裝置增加窗口大小,如此使窗口大小等于或大于窗口大小被重發(fā)裝置改變?yōu)樽钚〕叽缰暗拇翱诖笮?,并且發(fā)射根據(jù)增加了的窗口大小所判定的數(shù)據(jù)塊數(shù)目。
本呈現(xiàn)發(fā)明還提供一種通信系統(tǒng),通過提供至少兩個(gè)設(shè)備,這至少兩個(gè)設(shè)備具有上面通信設(shè)備所包括的各個(gè)裝置,則在上述各個(gè)實(shí)施例中由該通信系統(tǒng)實(shí)現(xiàn)所述發(fā)射控制方法。
另外,本發(fā)明提供一種程序,用于使計(jì)算機(jī)執(zhí)行上述各個(gè)實(shí)施例中的發(fā)射控制方法。該程序可以被儲(chǔ)存在各種類型的記錄介質(zhì)中,比如磁帶、磁盤、軟盤、光記錄介質(zhì)、磁光記錄介質(zhì)、DVD(數(shù)字視頻光盤)、RAM等等。
關(guān)于在發(fā)送器設(shè)備處接收到的一個(gè)確認(rèn)是和原始數(shù)據(jù)段有關(guān)還是和重發(fā)數(shù)據(jù)段有關(guān),本發(fā)明實(shí)現(xiàn)了最佳判斷,同時(shí)沒有增加數(shù)據(jù)段的數(shù)據(jù)量。結(jié)果,能夠防止不必要的數(shù)據(jù)段發(fā)射。而且,本發(fā)明不須重新設(shè)計(jì)接收機(jī)設(shè)備而只是對發(fā)送器設(shè)備進(jìn)行一點(diǎn)點(diǎn)重新設(shè)計(jì)。


圖1是示出根據(jù)本發(fā)明第一實(shí)施例的通信系統(tǒng)1結(jié)構(gòu)的框圖。
圖2是示出按照實(shí)施例的服務(wù)器設(shè)備10的示例結(jié)構(gòu)的框圖。
圖3是說明根據(jù)實(shí)施例附加到數(shù)據(jù)段的報(bào)頭數(shù)據(jù)結(jié)構(gòu)的圖。
圖4是一個(gè)序列圖表,說明了根據(jù)實(shí)施例的服務(wù)器設(shè)備10和客戶端設(shè)備40之間執(zhí)行分組通信的示例。
圖5是示出在服務(wù)器設(shè)備10處發(fā)射和接收數(shù)據(jù)段的操作流程圖。
圖6是用于描述根據(jù)本發(fā)明第二實(shí)施例的窗口的圖。
圖7是一個(gè)序列圖表,示出了根據(jù)第二實(shí)施例的服務(wù)器設(shè)備10和客戶端設(shè)備50之間執(zhí)行分組通信的示例。
圖8是示出根據(jù)第二實(shí)施例服務(wù)器設(shè)備10發(fā)射和接收數(shù)據(jù)段的操作流程圖。
圖9A到9C是用于描述根據(jù)第二實(shí)施例的擁塞窗口變化的圖。
圖10是一個(gè)序列圖表,示出了在傳統(tǒng)服務(wù)器設(shè)備10′和客戶端設(shè)備50之間執(zhí)行分組通信的示例。
圖11是一個(gè)序列圖表,示出了在傳統(tǒng)服務(wù)器設(shè)備10′和客戶端設(shè)備50’之間執(zhí)行分組通信的另一示例。
具體實(shí)施例方式
以下將參考附圖解釋本發(fā)明的優(yōu)選實(shí)施例。為了避免不必要的說明,組件說明將不重復(fù)。
A.第一實(shí)施例1.結(jié)構(gòu)通信系統(tǒng)1的結(jié)構(gòu)圖1是說明根據(jù)本發(fā)明第一實(shí)施例的通信系統(tǒng)1的結(jié)構(gòu)框圖。
通信終端40連接到客戶端設(shè)備50并且執(zhí)行與客戶端設(shè)備50的通信。移動(dòng)分組通信網(wǎng)30提供分組通信服務(wù)給由網(wǎng)絡(luò)30服務(wù)的通信終端40。服務(wù)器設(shè)備10經(jīng)由互聯(lián)網(wǎng)20、移動(dòng)分組通信網(wǎng)30和通信終端40來執(zhí)行與客戶端設(shè)備50的分組通信。假設(shè)在當(dāng)前實(shí)施例中,TCP(傳輸控制協(xié)議)被用來執(zhí)行分組通信從而發(fā)射數(shù)據(jù)段。
服務(wù)器設(shè)備10的結(jié)構(gòu)
接下來,將給出服務(wù)器設(shè)備10的結(jié)構(gòu)說明。服務(wù)器設(shè)備10按照與標(biāo)準(zhǔn)計(jì)算機(jī)相同的方式來配置,因此只參照圖2描述涉及本發(fā)明的那些元件。
CPU 100執(zhí)行存儲(chǔ)在存儲(chǔ)器單元105中的程序,從而控制服務(wù)器設(shè)備10的每個(gè)元件。CPU 100包括一個(gè)計(jì)時(shí)器100a,當(dāng)由CPU 100設(shè)置的一個(gè)預(yù)定時(shí)間已經(jīng)過去時(shí),其輸出一個(gè)觸發(fā)信號。存儲(chǔ)器單元105包括一個(gè)RAM(隨機(jī)存取存儲(chǔ)器)102和一個(gè)ROM(只讀存儲(chǔ)器)103,以及一個(gè)HD(硬盤)104。
只讀存儲(chǔ)器103存儲(chǔ)一個(gè)使CPU 100控制數(shù)據(jù)段發(fā)射的程序。特別地,當(dāng)發(fā)射數(shù)據(jù)到客戶端設(shè)備50時(shí),CPU 100把數(shù)據(jù)分成段,給分成的每個(gè)數(shù)據(jù)段附加一個(gè)報(bào)頭,并且依次發(fā)射那些數(shù)據(jù)段到客戶端設(shè)備50。
在當(dāng)前優(yōu)選實(shí)施例中,CPU 100基于存儲(chǔ)在硬盤104中的參數(shù)變量(在第二實(shí)施例中詳述)用上述滑動(dòng)窗口方法來發(fā)射數(shù)據(jù)段到客戶端設(shè)備50。
圖3示出附加給數(shù)據(jù)段的報(bào)頭的數(shù)據(jù)結(jié)構(gòu)。CPU 100給圖3中所示報(bào)頭的″序列號″字段分配一個(gè)序列號,輸入其它必需的信息到報(bào)頭的每個(gè)數(shù)據(jù)區(qū)域里,并且把報(bào)頭附加到數(shù)據(jù)段。
在發(fā)射數(shù)據(jù)段到客戶端設(shè)備50之后,CPU 100等候一個(gè)確認(rèn),其指示數(shù)據(jù)段已經(jīng)被客戶端設(shè)備50接收。附加到確認(rèn)上的報(bào)頭的數(shù)據(jù)結(jié)構(gòu)與圖3中所示的相同。在圖3中所示的報(bào)頭的″確認(rèn)號″字段中,一個(gè)客戶端設(shè)備50期待下一個(gè)接收的序列號由客戶端設(shè)備50來設(shè)置。
CPU 100給計(jì)時(shí)器100a設(shè)置一個(gè)預(yù)定值(以下簡稱″超時(shí)值″)并且使計(jì)時(shí)器100a測量服務(wù)器設(shè)備10等候確認(rèn)的逝去時(shí)間。在從計(jì)時(shí)器100a輸出一個(gè)觸發(fā)信號的情況下,該信號指示超時(shí)值在確認(rèn)被接收之前已經(jīng)過去,CPU 100判定數(shù)據(jù)段沒有被客戶端設(shè)備50接收。CPU100然后重新設(shè)置計(jì)時(shí)器100a的值并重發(fā)該數(shù)據(jù)段。當(dāng)服務(wù)器設(shè)備10在重發(fā)之后接收到確認(rèn)時(shí),CPU 100用下述方法來判定所接收的確認(rèn)對應(yīng)原始數(shù)據(jù)段還是重發(fā)數(shù)據(jù)段。
在判定處理中,CPU 100首先比較包含在所接收的確認(rèn)中的確認(rèn)號(在下文中提到的″對比確認(rèn)號″)和響應(yīng)于重發(fā)段而被發(fā)射的確認(rèn)所期待具有的確認(rèn)號(以下簡稱″期待確認(rèn)號″)。應(yīng)當(dāng)指出,響應(yīng)于重發(fā)數(shù)據(jù)段而被發(fā)射的確認(rèn)號是在重發(fā)數(shù)據(jù)段之后的數(shù)據(jù)段的序列號。在一個(gè)實(shí)施例中,CPU 100可以在重發(fā)時(shí)把數(shù)據(jù)段的序列號記錄在RAM 102中作為一個(gè)期待確認(rèn)號,其中該數(shù)據(jù)段是緊跟著該重發(fā)數(shù)據(jù)段。在剛一接收確認(rèn)就執(zhí)行判定處理的情況下,所記錄的期待確認(rèn)號被讀取并且被用于比較。此外,在第二實(shí)施例中將被詳細(xì)描述的是服務(wù)器設(shè)備10存儲(chǔ)多種類型的參數(shù)變量并且將其用于擁塞控制。在這些變量當(dāng)中,變量snd_nxt表示下一個(gè)將被發(fā)射的數(shù)據(jù)段的序列號;并且snd_nxt的值指示在該重發(fā)數(shù)據(jù)段之后緊跟著的數(shù)據(jù)段的序列號。因此,snd_nxt的值可以在執(zhí)行判定中被用作一個(gè)期待確認(rèn)號,代替在RAM 102中記錄期待確認(rèn)號。
在用于對比的確認(rèn)號的值大于期待確認(rèn)號的情況下,判定該確認(rèn)對應(yīng)原始數(shù)據(jù)段。簡言之,CPU 100判定客戶端設(shè)備50已經(jīng)接收原始數(shù)據(jù)段,然后發(fā)射一個(gè)后續(xù)原始數(shù)據(jù)段。
在用于對比的確認(rèn)號的值與期待確認(rèn)號的值相同的情況下,不能判定該確認(rèn)對應(yīng)原始數(shù)據(jù)段還是重發(fā)數(shù)據(jù)段。因此,CPU 100假設(shè)確認(rèn)與重發(fā)數(shù)據(jù)段相稱,然后判定是否有后續(xù)到重發(fā)數(shù)據(jù)段的任何用于重發(fā)的數(shù)據(jù)段。在有這種數(shù)據(jù)段的情況下,用于重發(fā)的后續(xù)數(shù)據(jù)段被發(fā)射;而當(dāng)沒有這種數(shù)據(jù)段時(shí),一個(gè)后續(xù)原始數(shù)據(jù)段被發(fā)射。
客戶端設(shè)備50的結(jié)構(gòu)客戶端設(shè)備50具有通常被使用的計(jì)算機(jī)的結(jié)構(gòu),因此將只說明設(shè)備50具體涉及當(dāng)前優(yōu)選實(shí)施例的功能。
一從服務(wù)器設(shè)備10接收到一個(gè)數(shù)據(jù)段,客戶端設(shè)備50就向服務(wù)器設(shè)備10發(fā)射通知數(shù)據(jù)段已經(jīng)被接收的確認(rèn)。指示該數(shù)據(jù)段之后緊接著的那個(gè)順序位置的序列號被設(shè)置為包含在用于發(fā)射到服務(wù)器設(shè)備10的確認(rèn)中的確認(rèn)號。
在這里假設(shè)當(dāng)客戶端設(shè)備50正在執(zhí)行同服務(wù)器設(shè)備10的分組通信時(shí),通信終端40和移動(dòng)分組通信網(wǎng)30之間的無線電通信環(huán)境惡化。在這種情況下,客戶端設(shè)備50依次延遲接收從服務(wù)器設(shè)備10發(fā)射的數(shù)據(jù)段。在從第一個(gè)數(shù)據(jù)段被接收到第二個(gè)數(shù)據(jù)段被接收為止的時(shí)間間隔比預(yù)定時(shí)期短的情況下,只發(fā)射第二個(gè)數(shù)據(jù)段的確認(rèn),從而通知服務(wù)器設(shè)備10兩個(gè)數(shù)據(jù)段都已經(jīng)被接收。特別地,指示該第二數(shù)據(jù)段之后緊接著的那個(gè)順序位置的序列號被設(shè)置為包含在用于發(fā)射到服務(wù)器設(shè)備10的確認(rèn)中的確認(rèn)號。
2.操作接下來,將描述當(dāng)前優(yōu)選實(shí)施例的操作。
圖4是一個(gè)程序圖,其示出在服務(wù)器設(shè)備10和客戶端設(shè)備50之間執(zhí)分組通信的例子。圖5是說明在根據(jù)當(dāng)前實(shí)施例的服務(wù)器設(shè)備10發(fā)射和接收數(shù)據(jù)段的操作流程圖。假設(shè)在當(dāng)前實(shí)施例中,滑動(dòng)窗口方法被用來發(fā)射數(shù)據(jù)段。在第二實(shí)施例中,初始窗口大小被設(shè)置為3,并且可能被客戶端設(shè)備50接收的數(shù)據(jù)段的數(shù)量相對于由服務(wù)器設(shè)備10設(shè)置的窗口大小來說是很大的。為簡單起見,假設(shè)窗口大小被調(diào)整為3,而且窗口大小不因?yàn)閾砣刂贫黾?。在超時(shí)的情況下,服務(wù)器設(shè)備10在檢測到重發(fā)超時(shí)之前立即記錄窗口大小。
在圖4中,序列號為0、1000和2000的數(shù)據(jù)段(原始數(shù)據(jù)段S1、S2和S3)從服務(wù)器設(shè)備10分別被發(fā)射到客戶端設(shè)備50。
在圖中所示的例子中,通信終端40和移動(dòng)分組通信網(wǎng)30之間的無線通信環(huán)境已經(jīng)惡化,并且原始數(shù)據(jù)段S1、S2和S3的發(fā)射已經(jīng)被中止。當(dāng)無線通信電環(huán)境改善并且通信得到恢復(fù)時(shí),在網(wǎng)絡(luò)30中已經(jīng)駐留的原始數(shù)據(jù)段S1、S2和S3就被發(fā)射到客戶端設(shè)備50。
另一方面,客戶端設(shè)備50依次延遲接收原始數(shù)據(jù)段S1、S2和S3。在這個(gè)例子中,從原始數(shù)據(jù)段被接收到原始數(shù)據(jù)段S2被接收為止的時(shí)間間隔比預(yù)定時(shí)間短,并且確認(rèn)號為2000的確認(rèn)作為原始數(shù)據(jù)段S1和S2的確認(rèn)被發(fā)射到服務(wù)器設(shè)備10。
現(xiàn)在,參照圖5將給出由服務(wù)器設(shè)備10執(zhí)行的操作說明。在步驟S300中,服務(wù)器設(shè)備10的CPU 100發(fā)射原始數(shù)據(jù)段S1、S2和S3,然后等候響應(yīng)于原始數(shù)據(jù)段S1的接收而從客戶端設(shè)備50發(fā)射來的確認(rèn)。在等候確認(rèn)時(shí),CPU 100給計(jì)時(shí)器100a設(shè)置一個(gè)超時(shí)值來使之測量逝去時(shí)間(步驟S301)。
CPU 100然后判定是否有任何確認(rèn)被接收(步驟S302)。當(dāng)在步驟S302中判定為“否”的時(shí)候,CPU 100然后判定由計(jì)時(shí)器100a判定的超時(shí)是否出現(xiàn)(步驟S303)。在步驟S303中判定為“否”的情況下,程序回到步驟S302。在沒有接收到確認(rèn)而一個(gè)超時(shí)已經(jīng)出現(xiàn)之前,由CPU 100重復(fù)步驟S302和S303的判定。
在這里更進(jìn)一步假設(shè),因?yàn)閿?shù)據(jù)段S1到S3的到達(dá)延遲,所以逝去時(shí)間在確認(rèn)R2被接收之前達(dá)到超時(shí)值。在這種情況下,在沒有接收到確認(rèn)的情況下(步驟S302;否,步驟S303;是),在由計(jì)時(shí)器100a測量的逝去時(shí)間達(dá)到超時(shí)值之后,從計(jì)時(shí)器100a輸出一個(gè)觸發(fā)信號。CPU 100然后重新設(shè)置計(jì)時(shí)器100a并進(jìn)行到步驟S304。
在步驟S304中,CPU 100判定客戶端設(shè)備50沒有接收原始數(shù)據(jù)段S1,然后重發(fā)序列為號0(圖4中的重發(fā)數(shù)據(jù)段S′1)的數(shù)據(jù)段到客戶端設(shè)備50。窗口大小由于超時(shí)而被減小到一個(gè)最小值,并且在這里只有一個(gè)數(shù)據(jù)段被重發(fā)。CPU 100此外給計(jì)時(shí)器100a設(shè)置一個(gè)超時(shí)值來使之測量逝去時(shí)間。
CPU 100然后判定是否有任何確認(rèn)被接收(步驟S305),并且在步驟S305中判定為“否”的情況下,CPU 100然后判定由計(jì)時(shí)器100a判斷的一個(gè)超時(shí)是否出現(xiàn)(步驟S306)。當(dāng)步驟S306的判定是“否”的時(shí)候,程序回到步驟S305。此后,在沒有接收到確認(rèn)而一個(gè)超時(shí)已經(jīng)出現(xiàn)之前,由CPU 100重復(fù)步驟S305和S306的判定。
假設(shè)CPU 100隨后在達(dá)到超時(shí)值之前接收到確認(rèn)R2,例如在從計(jì)時(shí)器100a輸出一個(gè)觸發(fā)信號之前,其中,在步驟S305中判定為“是”,那么程序進(jìn)行到步驟S307。
在步驟S307中,CPU 100重新設(shè)置計(jì)時(shí)器100a。CPU 100然后比較包含在確認(rèn)R2中的確認(rèn)號2000(對比確認(rèn)號)和期待確認(rèn)號1000,其中期待確認(rèn)號是被期待包含在響應(yīng)于在步驟S304中被發(fā)射的重發(fā)數(shù)據(jù)段的接收而被發(fā)射的確認(rèn)中;期待確認(rèn)號在重發(fā)時(shí)已經(jīng)被存儲(chǔ)在RAM 102中。在該示例中,因?yàn)閷Ρ却_認(rèn)號比期待確認(rèn)號大,所以CPU 100判定確認(rèn)R2對應(yīng)原始數(shù)據(jù)段S1和S2。換言之,CPU 100判定原始數(shù)據(jù)段S1和S2被客戶端設(shè)備50接收而沒有丟失。從而,窗口大小通過參考存儲(chǔ)在RAM 102中的信息而被恢復(fù)到超時(shí)之前的“3”,并且窗口按照原始數(shù)據(jù)段S1和S2滑動(dòng)。從而,在已發(fā)射數(shù)據(jù)段S3之后緊接著的兩個(gè)數(shù)據(jù)段現(xiàn)在可以被發(fā)射。
在步驟S309中,服務(wù)器設(shè)備10的CPU 100發(fā)射原始數(shù)據(jù)段S3之后緊接著的兩個(gè)原始數(shù)據(jù)段S4和S5。在圖4中示出了對應(yīng)步驟S309的處理,其中,服務(wù)器設(shè)備10發(fā)射原始數(shù)據(jù)段S4和S5到客戶端設(shè)備50。程序然后回到步驟S301,并且計(jì)時(shí)器100a開始測量逝去時(shí)間。
隨后,在沒有接收到確認(rèn)而一個(gè)超時(shí)已經(jīng)出現(xiàn)之前,由CPU 100重復(fù)步驟S302和S303的判定。
當(dāng)服務(wù)器設(shè)備10執(zhí)行上述處理時(shí),原始數(shù)據(jù)段S3被客戶端設(shè)備50接收。然后,確認(rèn)號為3000的確認(rèn)R3響應(yīng)于原始數(shù)據(jù)段S3而被發(fā)射到服務(wù)器設(shè)備10。
在圖5中,當(dāng)確認(rèn)號為3000的確認(rèn)R3到達(dá)服務(wù)器設(shè)備10時(shí),服務(wù)器設(shè)備10的CPU 100在步驟S302中判定“是”。從而,窗口再滑動(dòng)一個(gè)數(shù)據(jù)段,并且服務(wù)器設(shè)備10現(xiàn)在可以發(fā)射在先前被發(fā)射的數(shù)據(jù)段中最后一個(gè)的數(shù)據(jù)段S5之后緊接著的一個(gè)數(shù)據(jù)段。在步驟S300中,CPU 100發(fā)射后續(xù)序列號為5000的原始數(shù)據(jù)段S6。
在圖4中,在對應(yīng)步驟S302的一個(gè)處理中,服務(wù)器設(shè)備10發(fā)射原始數(shù)據(jù)段S6到客戶端設(shè)備50。
上文解釋了數(shù)據(jù)段怎樣從服務(wù)器設(shè)備10被發(fā)射到客戶端設(shè)備50。
B.第二實(shí)施例接下來,將描述執(zhí)行服務(wù)器設(shè)備10和客戶端設(shè)備50之間的分組通信的例子。在下文中,與第一實(shí)施例相同的元件的描述將被省略。此外,同樣的元件將用同樣的指定附圖標(biāo)記來描述。
1.結(jié)構(gòu)服務(wù)器設(shè)備10的結(jié)構(gòu)將只給出涉及當(dāng)前實(shí)施例的那些結(jié)構(gòu)的描述。
服務(wù)器設(shè)備10的ROM 103存儲(chǔ)一個(gè)用于使CPU 100執(zhí)行數(shù)據(jù)段發(fā)射控制處理的程序。該處理在下面將被詳細(xì)描述,并且應(yīng)當(dāng)指出,那些和第一實(shí)施例一樣的部分在這里不會(huì)被描述。
在當(dāng)前實(shí)施例中,在發(fā)射數(shù)據(jù)段到客戶端設(shè)備50的過程中,CPU 100除了利用第一實(shí)施例描述的滑動(dòng)窗口方法之外還利用執(zhí)行擁塞控制來控制數(shù)據(jù)段的數(shù)據(jù)流。特別地,CPU 100增加或者降低窗口大小,例如多個(gè)數(shù)據(jù)段可能被發(fā)射而沒有確認(rèn)。每當(dāng)一個(gè)已發(fā)射數(shù)據(jù)段的接收被確認(rèn)時(shí),窗口大小的變化就被發(fā)出。此外應(yīng)當(dāng)指出,ROM 103提前存儲(chǔ)關(guān)于擁塞窗口控制的信息。
在以下描述中,將詳述窗口擁塞控制。根據(jù)當(dāng)前實(shí)施例的服務(wù)器設(shè)備10在硬盤104中存儲(chǔ)至少五個(gè)參數(shù)變量,snd_max、snd_nxt、snd_una、snd_wnd和snd_cwnd。擁塞控制通過發(fā)射基于那些參數(shù)變量所標(biāo)識(shí)的多個(gè)數(shù)據(jù)段而被執(zhí)行。圖6是一個(gè)框圖,其描述這五個(gè)參數(shù)變量的相互關(guān)系。snd_max示出將被發(fā)射的原始數(shù)據(jù)段的序列號(圖6中的序列號5000);snd_nxt示出數(shù)據(jù)段服務(wù)器設(shè)備10將發(fā)射或重發(fā)的下一個(gè)序列號(圖6中的序列號5000);snd_una示出在已經(jīng)被發(fā)射的數(shù)據(jù)段當(dāng)中最近的未確認(rèn)序列號(圖6中的序列號2000)。
snd_cwnd示出可能沒有接收到先前被發(fā)射的數(shù)據(jù)段的確認(rèn)而由服務(wù)器設(shè)備10發(fā)射的多個(gè)數(shù)據(jù)段。一個(gè)分段按照被稱為最大分段尺寸(以下簡稱”MSS”)的單位來被表示,其中,1MSS的缺省大小被確定為1,460字節(jié);并且例如snd_cwnd具有3MSS的初始值。服務(wù)器設(shè)備10的CPU 100用″緩慢啟動(dòng)″算法來增加snd_cwnd的值,其中,每當(dāng)接收到一個(gè)已發(fā)射數(shù)據(jù)段的確認(rèn)時(shí),被發(fā)射的多個(gè)數(shù)據(jù)段就按指數(shù)規(guī)律地被遞增直到它的值達(dá)到一個(gè)預(yù)定閾值(例如,65,535字節(jié));cnd_cwnd是由服務(wù)器設(shè)備10控制的一個(gè)值并且表示一個(gè)″擁塞窗口大小″。
相反,snd_wnd表示從客戶端設(shè)備50被告知的通知窗口大??;并且通知窗口大小的值指示客戶端設(shè)備50的一個(gè)可用緩沖區(qū)接收空間,并且用字節(jié)表示。
服務(wù)器設(shè)備10的CPU 100基于執(zhí)行窗口控制來判定用于發(fā)射的窗口大小的通知窗口大小(snd_wnd)和擁塞窗口大小(snd_cwnd)的最小值。因此,發(fā)射窗口大小從來不超過通知窗口大小,并且被發(fā)射到客戶端設(shè)備50的多個(gè)數(shù)據(jù)段從來不超過客戶端設(shè)備50的可用緩沖空間。在當(dāng)前實(shí)施例中,假設(shè)通知窗口大小比擁塞窗口大小大得多;并且為了解釋起見,發(fā)射窗口大小是指″擁塞窗口大小″。
在當(dāng)前實(shí)施例中,當(dāng)檢測到重發(fā)超時(shí)時(shí),服務(wù)器設(shè)備10的CPU100首先設(shè)置snd_cwnd的值為1MSS,并且在檢測到重發(fā)超時(shí)之前立即把snd_cwnd的值記錄在RAM 102中。CPU 100用snd_una的值取代snd_nxt的值,然后重發(fā)一個(gè)由snd_nxt指定的數(shù)據(jù)段。每當(dāng)接收到重發(fā)數(shù)據(jù)段的確認(rèn)時(shí),在snd_cwnd中設(shè)置的值就根據(jù)上述的緩慢啟動(dòng)算法被增加1MSS。
在當(dāng)前實(shí)施例中,當(dāng)一個(gè)確認(rèn)在數(shù)據(jù)段重發(fā)之后被接收時(shí),執(zhí)行在第一實(shí)施例中描述的判定處理(圖5的步驟S307;第二實(shí)施例中的圖8的步驟S307)。從而,在被接收的確認(rèn)對應(yīng)原始數(shù)據(jù)段的情況下,擁塞窗口大小被立即恢復(fù)到重發(fā)之前的大小。特別地,擁塞窗口大小的值用snd_cwnd的值來更新,snd_cwnd的值在檢測到重發(fā)超時(shí)的時(shí)候已經(jīng)被存儲(chǔ)在RAM 102中。同時(shí),CPU 100用snd_max的值來替換snd_nxt的值,并且從一個(gè)由snd_nxt指定的數(shù)據(jù)段開始數(shù)據(jù)發(fā)射。
在當(dāng)前實(shí)施例中,CPU 100執(zhí)行所描述的擁塞控制,憑此在超時(shí)之前的數(shù)據(jù)流能夠被迅速地恢復(fù)。
2.操作圖7是一個(gè)序列圖,其示出執(zhí)行在服務(wù)器設(shè)備10和客戶端設(shè)備50之間的分組通信的另一個(gè)例子。圖8是示出通過根據(jù)當(dāng)前實(shí)施例的服務(wù)器設(shè)備10的數(shù)據(jù)段的發(fā)射和接收操作流程圖。圖9A到9C是示出擁塞窗口大小中的變化的示意圖。應(yīng)當(dāng)指出,同樣的附圖標(biāo)記指示在第一實(shí)施例中被描述的同樣的步驟,并且因此那里的描述被省略。
在圖7中,序列號為0、1000、2000、3000和4000的數(shù)據(jù)段(原始數(shù)據(jù)段S11、S12和S13、S14、S15)從服務(wù)器設(shè)備10被發(fā)射到客戶端設(shè)備50。在這時(shí)候所應(yīng)用的擁塞窗口大小snd_cwnd是5MSS。如圖9A中所示,最近的未確認(rèn)序列號0(S11)被設(shè)置為snd_una的值。下一個(gè)將被發(fā)射的原始序列號5000被設(shè)置為snd_max;并且下一個(gè)將被發(fā)射的數(shù)據(jù)段(S16)的序列號5000被設(shè)置為snd_nxt。
在圖中所示的例子中,終端40和移動(dòng)分組通信網(wǎng)30之間的無線通信惡化,結(jié)果原始數(shù)據(jù)段S11到S15的發(fā)射被中止。當(dāng)無線情況得到改善并且通信恢復(fù)時(shí),原始數(shù)據(jù)段S11到S15依次被發(fā)射到客戶端設(shè)備50。客戶端設(shè)備50然后依次很大延遲地接收原始數(shù)據(jù)段S11到S15。
剛一接收到原始數(shù)據(jù)段S11,作為對原始數(shù)據(jù)段S11的接收響應(yīng),客戶端設(shè)備50就發(fā)射確認(rèn)號為1000的確認(rèn)R11。
更進(jìn)一步假設(shè),由于數(shù)據(jù)段S11到S15的延遲接收,在確認(rèn)R11的接收之前在服務(wù)器設(shè)備10處出現(xiàn)一個(gè)超時(shí)。簡言之,即使超時(shí)值在步驟S301之后被超過之后,一個(gè)觸發(fā)信號從計(jì)時(shí)器100a被輸出,CPU 100也沒有接收到確認(rèn)。如圖9A中所示,剛一超時(shí),服務(wù)器設(shè)備10就用1MSS來更新?lián)砣翱诖笮?,并且用snd_una的值替換snd_nxt的值。
接下來在步驟S′304中,CPU 100判定原始數(shù)據(jù)段S11沒有被客戶端設(shè)備50接收。CPU 100然后重發(fā)具有通過snd_nxt的值指定的序列號0的數(shù)據(jù)段(圖7中的一個(gè)重發(fā)數(shù)據(jù)段S′11)到客戶端設(shè)備50。CPU100還給計(jì)時(shí)器100a設(shè)置一個(gè)超時(shí)值來使之測量超時(shí)值。
隨后,在一個(gè)觸發(fā)信號在計(jì)時(shí)器時(shí)間期滿之前從計(jì)時(shí)器100a輸出之前,服務(wù)器設(shè)備10的CPU 100接收確認(rèn)R11,并且程序然后進(jìn)行到步驟S307。
接下來,將參考圖8描述服務(wù)器設(shè)備10對應(yīng)上述步驟的操作。
在步驟S300中,服務(wù)器設(shè)備10的CPU 100用5MSS的擁塞窗口大小來發(fā)射五個(gè)原始數(shù)據(jù)段S11-S15。CPU 100然后執(zhí)行S301到S303的處理,并且程序然后進(jìn)行到步驟S′304。在步驟S′304中,CPU 100為了擁塞控制而把擁塞窗口大小改變?yōu)?MSS,并且重發(fā)序列號為0的數(shù)據(jù)段(重發(fā)數(shù)據(jù)段S′11)。隨后,服務(wù)器設(shè)備10接收確認(rèn)R11(步驟S305;是),并且步驟S307的處理被執(zhí)行。
在步驟S307中,CPU 100比較包含在確認(rèn)R11中的確認(rèn)號1000(對比確認(rèn)號)和用于在步驟S304中被發(fā)射的重發(fā)數(shù)據(jù)段的期待確認(rèn)號(1000)。期待確認(rèn)號的值可以通過參考snd_nxt的值而被獲得;并且換言之,RAM 102的存儲(chǔ)信息可以被認(rèn)為與第一實(shí)施例中的相同。在這種情況下,對比確認(rèn)號和期待確認(rèn)號相同;并且不可能判定確認(rèn)R11對應(yīng)原始數(shù)據(jù)段S11還是重發(fā)數(shù)據(jù)段。因此,CPU 100判斷確認(rèn)R11對應(yīng)重發(fā)數(shù)據(jù)段S′11。簡言之,判定原始數(shù)據(jù)段S11由于數(shù)據(jù)段的丟失而沒有被客戶端設(shè)備50接收,并且程序進(jìn)行到步驟S308。
在步驟S308中,判定重發(fā)數(shù)據(jù)段S′11之后緊接著的任何重發(fā)數(shù)據(jù)段是否存在。在這時(shí)候,snd_nxt的值是已發(fā)射數(shù)據(jù)段S12的序列號1000(見圖9A)。因此,判定重發(fā)數(shù)據(jù)段的確存在,并且然后程序進(jìn)行到步驟S′304。在步驟S′304中,確認(rèn)R11被接收,因此擁塞窗口大小被增加到2MSS,憑此執(zhí)行擁塞控制。兩個(gè)后續(xù)序列號為1000和2000的數(shù)據(jù)段(S′12和S′13)然后被重發(fā)。CPU 100同時(shí)設(shè)置計(jì)時(shí)器100a。
在圖7中,重發(fā)數(shù)據(jù)段S′12和S′13從服務(wù)器設(shè)備10被發(fā)射。
另一方面,客戶端設(shè)備50響應(yīng)于原始數(shù)據(jù)段S12、S13和S14的接收而分別發(fā)射確認(rèn)號為2000、3000和4000的確認(rèn)。在這里假設(shè)確認(rèn)R12和R13由于在無線通信中的惡化而已經(jīng)丟失。從而,確認(rèn)R14被發(fā)射到服務(wù)器設(shè)備10。
在圖8中,CPU 100在由計(jì)時(shí)器100a測量的逝去時(shí)間超過超時(shí)值之前接收確認(rèn)R14(步驟S305;是)。程序然后進(jìn)行到步驟S307。
在步驟S307中,CPU 100比較包含在確認(rèn)R14中的確認(rèn)號4000(對比確認(rèn)號)和重發(fā)數(shù)據(jù)段S′13的期待確認(rèn)號(3000)。因?yàn)閷Ρ却_認(rèn)號比期待確認(rèn)號大,所以判定原始數(shù)據(jù)段S11到S14已經(jīng)安全地被客戶端設(shè)備50接收而沒有丟失。程序然后進(jìn)行到步驟S′309。
在步驟S′309中,CPU 100參考RAM 102中的存儲(chǔ)信息并且立即恢復(fù)在重發(fā)超時(shí)之前存在的擁塞窗口大小。特別地,擁塞窗口大小被恢復(fù)到存儲(chǔ)在RAM 102中的5MSS,并且更進(jìn)一步由于確認(rèn)R14的接收而被加1,這樣總共是6MSS。如圖9B中所示,snd_nxt的值用snd_max的值來替換。此外,因?yàn)樵紨?shù)據(jù)段S15沒有被確認(rèn),所以snd_una的值被改變?yōu)?000,其是原始數(shù)據(jù)段S15的序列號。只要擁塞窗口是從snd_una的值開始的6MSS,沒有被發(fā)射而且低于擁塞窗口的5個(gè)原始數(shù)據(jù)段S16到S20被依次發(fā)射。
在圖8中,序列號為5000、6000、7000、8000和9000的原始數(shù)據(jù)段S16、S17、S18、S19和S20從服務(wù)器設(shè)備10分別被發(fā)射到客戶端設(shè)備50。
當(dāng)發(fā)射這些原始數(shù)據(jù)段時(shí),CPU 100接收確認(rèn)R15。CPU 100然后判定原始數(shù)據(jù)段S15已經(jīng)被客戶端設(shè)備50接收,并且改變snd_una的值到對應(yīng)原始數(shù)據(jù)段S16的序列號5000。擁塞窗口大小被增加1MSS,結(jié)果形成7MSS(參考圖9C)。從而,后續(xù)原始數(shù)據(jù)段S21和S22可以被發(fā)射,并且這些數(shù)據(jù)段從服務(wù)器設(shè)備10被發(fā)射到客戶端設(shè)備50。
如上所述的結(jié)構(gòu)防止數(shù)據(jù)段不必要的重發(fā)以及防止在數(shù)據(jù)段的發(fā)射率的不必要的降低。此外,因?yàn)榘l(fā)射率被立即恢復(fù)到從重發(fā)超時(shí)之前存在的值來判定的一個(gè)值,所以由于不必要的重發(fā)所引起被降低的發(fā)射率可以被迅速地更正。
C.改進(jìn)在上文中,本發(fā)明的一個(gè)優(yōu)選實(shí)施例已經(jīng)被說明。本發(fā)明可以在不背離本發(fā)明的主要特性的前提下而在各種其它實(shí)施例中被執(zhí)行。下面是例子改進(jìn)。
在上述優(yōu)選實(shí)施例中,分組通信根據(jù)TCP被執(zhí)行。然而,如果它執(zhí)行數(shù)據(jù)塊或者數(shù)據(jù)段的重發(fā)控制,本發(fā)明可以被用于不同于TCP的分組通信的通信協(xié)議。在這種情況下,數(shù)據(jù)段可以用類似在TCP中使用的滑動(dòng)窗口的一個(gè)窗口來發(fā)射。
一個(gè)單獨(dú)的服務(wù)器設(shè)備可以取代由服務(wù)器設(shè)備10執(zhí)行的判定功能判定哪一數(shù)據(jù)段對應(yīng)所接收確認(rèn)。在這種情況下,在發(fā)射重發(fā)數(shù)據(jù)段之后接收到確認(rèn)時(shí),緊接著服務(wù)器設(shè)備10在一個(gè)單獨(dú)服務(wù)器設(shè)備處查詢確認(rèn)是對應(yīng)于一個(gè)原始數(shù)據(jù)段還是對應(yīng)于重發(fā)數(shù)據(jù)段。這個(gè)單獨(dú)的服務(wù)設(shè)備執(zhí)行所述判定并把判定結(jié)果發(fā)射到服務(wù)器設(shè)備10。服務(wù)器設(shè)備10然后能夠根據(jù)所發(fā)射的判定結(jié)果來判定是哪一數(shù)據(jù)段對應(yīng)該確認(rèn)。
在上面的實(shí)施例中,客戶端設(shè)備50通過通信終端40執(zhí)行與服務(wù)器設(shè)備10的分組通信。然而,客戶端設(shè)備50可以包括無線通信功能并通過移動(dòng)分組通信網(wǎng)30、互聯(lián)網(wǎng)20,而不是通過通信終端40,與服務(wù)器設(shè)備10執(zhí)行分組通信。
權(quán)利要求
1.一種使用在通信網(wǎng)中的發(fā)射控制方法,包括把序列信息分配給要按順序從發(fā)送器設(shè)備發(fā)射到接收機(jī)設(shè)備的每個(gè)數(shù)據(jù)塊;在把所述序列信息分配給多個(gè)數(shù)據(jù)塊中的每一個(gè)之后,把所述多個(gè)數(shù)據(jù)塊發(fā)射到所述接收機(jī);從所述多個(gè)數(shù)據(jù)塊中重發(fā)確認(rèn)信號未被接收的數(shù)據(jù)塊;接收一個(gè)確認(rèn)信號,所述確認(rèn)信號包含所述多個(gè)數(shù)據(jù)塊中沒有被所述接收機(jī)設(shè)備接收的最早數(shù)據(jù)塊的序列信息;以及根據(jù)所述重發(fā)數(shù)據(jù)塊的序列信息以及包含在所述確認(rèn)信號中的所述序列信息來判定所述確認(rèn)信號是否確認(rèn)收到所述多個(gè)數(shù)據(jù)塊中的一個(gè),其中,所述發(fā)射步驟包括當(dāng)判定所述確認(rèn)信號確認(rèn)收到所述多個(gè)數(shù)據(jù)塊的一個(gè)時(shí),發(fā)射所述已發(fā)射的多個(gè)數(shù)據(jù)塊之后的一個(gè)數(shù)據(jù)塊。
2.根據(jù)權(quán)利要求1的發(fā)射控制方法,其中,根據(jù)一個(gè)窗口大小來判定在所述發(fā)射步驟中發(fā)射的所述多個(gè)數(shù)據(jù)塊中的數(shù)目,所述窗口大小定義了不必接收確認(rèn)就可以被發(fā)射的數(shù)據(jù)塊數(shù)目;所述重發(fā)步驟包括當(dāng)重發(fā)在計(jì)劃時(shí)間內(nèi)未被確認(rèn)的一個(gè)數(shù)據(jù)塊時(shí)把所述窗口尺寸改變?yōu)樽钚〕叽纾⑶抑匕l(fā)根據(jù)改變了的窗口大小所判定的數(shù)據(jù)塊數(shù)目;并且所述發(fā)射步驟包括當(dāng)判定所述確認(rèn)信號確認(rèn)收到所述多個(gè)數(shù)據(jù)塊的一個(gè)時(shí)增加所述窗口大小,如此使所述窗口大小等于或大于所述重發(fā)步驟中所述窗口大小被改變?yōu)樗鲎钚〕叽缰暗拇翱诖笮?,并且發(fā)射根據(jù)增加了的窗口大小所判定的數(shù)據(jù)塊數(shù)目。
3.一種通信設(shè)備,包括分配裝置,把序列信息分配給要按順序發(fā)射到接收機(jī)設(shè)備的每個(gè)數(shù)據(jù)塊;發(fā)射裝置,在把所述序列信息分配給多個(gè)數(shù)據(jù)塊中的每一個(gè)之后,所述發(fā)射裝置用于把所述多個(gè)數(shù)據(jù)塊發(fā)射到所述接收機(jī)設(shè)備;重發(fā)裝置,用于從所述多個(gè)數(shù)據(jù)塊中重發(fā)沒有接收到確認(rèn)的數(shù)據(jù)塊;接收裝置,用于接收一個(gè)確認(rèn)信號,所述確認(rèn)信號包含所述多個(gè)數(shù)據(jù)塊中沒有被所述接收機(jī)設(shè)備接收的最早數(shù)據(jù)塊的序列信息;以及判定裝置,用于根據(jù)所述重發(fā)數(shù)據(jù)塊的序列信息和包含在所述確認(rèn)信號中的所述序列信息,判定所述確認(rèn)信號是否確認(rèn)收到所述多個(gè)數(shù)據(jù)塊的一個(gè);其中,當(dāng)判定所述確認(rèn)信號確認(rèn)收到所述多個(gè)數(shù)據(jù)塊中的一個(gè)時(shí),所述發(fā)射裝置發(fā)射所述已發(fā)射的多個(gè)數(shù)據(jù)塊之后的一個(gè)數(shù)據(jù)塊。
4.根據(jù)權(quán)利要求3的通信設(shè)備,還包括存儲(chǔ)裝置,用于存儲(chǔ)所述重發(fā)數(shù)據(jù)塊之后緊接著的一個(gè)數(shù)據(jù)塊的序列信息,其中,所述判定裝置通過把儲(chǔ)存在所述存儲(chǔ)裝置中的所述序列信息與包含在所述確認(rèn)信號中的所述序列信息進(jìn)行比較來執(zhí)行所述判定。
5.根據(jù)權(quán)利要求4的通信設(shè)備,其中,當(dāng)由包含在所述確認(rèn)信號中的所述序列信息所識(shí)別的一個(gè)數(shù)據(jù)塊緊跟著由儲(chǔ)存在所述存儲(chǔ)裝置中的所述序列信息所識(shí)別的所述數(shù)據(jù)塊時(shí),所述判定裝置判定所述確認(rèn)信號確認(rèn)收到所述多個(gè)數(shù)據(jù)塊中的一個(gè)。
6.根據(jù)權(quán)利要求3-5任何一個(gè)的通信設(shè)備,其中,根據(jù)一個(gè)窗口大小來判定由所述發(fā)射裝置發(fā)射的所述多個(gè)數(shù)據(jù)塊中的數(shù)目,所述窗口大小定義了不必接收確認(rèn)就可以被發(fā)射的數(shù)據(jù)塊數(shù)目;當(dāng)重發(fā)在計(jì)劃時(shí)間內(nèi)未被確認(rèn)的一個(gè)數(shù)據(jù)塊時(shí)所述重發(fā)裝置把所述窗口尺寸改變?yōu)樽钚〕叽?,并且重發(fā)根據(jù)改變了的窗口大小所判定的數(shù)據(jù)塊數(shù)目;并且當(dāng)判定所述確認(rèn)信號確認(rèn)收到所述多個(gè)數(shù)據(jù)塊中的一個(gè)時(shí),所述發(fā)射裝置增加所述窗口大小,如此使所述窗口大小等于或大于所述窗口大小被所述重發(fā)裝置改變?yōu)樗鲎钚〕叽缰暗拇翱诖笮?,并且發(fā)射根據(jù)增加了的窗口大小所判定的數(shù)據(jù)塊數(shù)目。
7.一個(gè)通信系統(tǒng),包括分配裝置,用于把序列信息分配給要按順序從發(fā)送器設(shè)備發(fā)射到接收機(jī)設(shè)備的每個(gè)數(shù)據(jù)塊;發(fā)射裝置,在把所述序列信息分配給多個(gè)數(shù)據(jù)塊中的每一個(gè)之后,所述發(fā)射裝置用于把所述多個(gè)數(shù)據(jù)塊發(fā)射到所述接收機(jī);重發(fā)裝置,用于從所述多個(gè)數(shù)據(jù)塊中重發(fā)沒有接收到確認(rèn)的一個(gè)數(shù)據(jù)塊;接收裝置,用于接收一個(gè)確認(rèn)信號,所述確認(rèn)信號包含所述多個(gè)數(shù)據(jù)塊中沒有被所述接收機(jī)設(shè)備接收的最早數(shù)據(jù)塊的序列信息;以及判定裝置,用于根據(jù)所述重發(fā)數(shù)據(jù)塊的序列信息和包含在所述確認(rèn)信號中的所述序列信息來判定所述確認(rèn)信號是否確認(rèn)收到所述多個(gè)數(shù)據(jù)塊的一個(gè);其中,當(dāng)判定所述確認(rèn)信號確認(rèn)收到所述多個(gè)數(shù)據(jù)塊中的一個(gè)時(shí),所述發(fā)射裝置發(fā)射所述已發(fā)射的多個(gè)數(shù)據(jù)塊之后的一個(gè)數(shù)據(jù)塊。
8.一種程序產(chǎn)品,用于使計(jì)算機(jī)執(zhí)行如下處理把序列信息分配給要按順序從發(fā)送器設(shè)備發(fā)射到接收機(jī)設(shè)備的每個(gè)數(shù)據(jù)塊的處理;在把所述序列信息分配給多個(gè)數(shù)據(jù)塊中的每一個(gè)之后把所述多個(gè)數(shù)據(jù)塊發(fā)射到所述接收機(jī)設(shè)備的處理;從所述多個(gè)數(shù)據(jù)塊中重發(fā)未接收確認(rèn)信號的那個(gè)數(shù)據(jù)塊的處理;接收一個(gè)確認(rèn)信號的處理,該確認(rèn)信號包含所述多個(gè)數(shù)據(jù)塊中沒有被所述接收機(jī)設(shè)備接收的一個(gè)最早數(shù)據(jù)塊的序列信息;以及根據(jù)所述重發(fā)數(shù)據(jù)塊的序列信息和包含在所述確認(rèn)信號中的所述序列信息來判定所述確認(rèn)信號是否確認(rèn)收到所述多個(gè)數(shù)據(jù)塊中的一個(gè)的處理,其中,所述發(fā)射處理包括當(dāng)判定所述確認(rèn)信號確認(rèn)收到所述多個(gè)數(shù)據(jù)塊中的一個(gè)時(shí),發(fā)射所述已發(fā)射的多個(gè)數(shù)據(jù)塊之后的一個(gè)數(shù)據(jù)塊。
全文摘要
本發(fā)明在重發(fā)一個(gè)數(shù)據(jù)段之后接收到一個(gè)確認(rèn)時(shí),緊接著把包含在該確認(rèn)中的一個(gè)確認(rèn)號與期望被包含在關(guān)于該重發(fā)數(shù)據(jù)段的確認(rèn)中的一個(gè)確認(rèn)號相比較。當(dāng)前者比后者大時(shí),判定該確認(rèn)和原始發(fā)射的一個(gè)數(shù)據(jù)段有關(guān)。
文檔編號H04L1/18GK1512710SQ20031012433
公開日2004年7月14日 申請日期2003年12月26日 優(yōu)先權(quán)日2002年12月27日
發(fā)明者三宅基治, 稻村浩, 高橋修 申請人:株式會(huì)社Ntt都科摩
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
兴国县| 灵川县| 洮南市| 石景山区| 平安县| 安远县| 兴和县| 宁强县| 丹东市| 屏山县| 巩留县| 鄄城县| 三亚市| 贵阳市| 黑水县| 盱眙县| 苏州市| 四子王旗| 鸡东县| 巨鹿县| 平安县| 务川| 寿光市| 叶城县| 进贤县| 高台县| 鹤岗市| 库尔勒市| 前郭尔| 交口县| 三穗县| 临清市| 唐河县| 突泉县| 电白县| 扬州市| 枝江市| 洛隆县| 藁城市| 东莞市| 调兵山市|