專利名稱:用于網(wǎng)絡(luò)通信的知道時間的最大努力的填孔再試方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及網(wǎng)絡(luò)通信技術(shù)。
背景技術(shù):
在電子通信的領(lǐng)域中,至少有某種程度的假設(shè)的不可靠性,許多通信系統(tǒng)具有一種機制,用于確定是否成功地接收特定的通信或者通信是否以某種方式失敗或者兩者。
例如采用TCP。這是傳輸控制協(xié)議(Transmission Control Protocol)的簡略。它是TCP/IP網(wǎng)絡(luò)中的主要協(xié)議之一。然而,IP協(xié)議只處理數(shù)據(jù)包,TCP使兩個主機能夠建立連接和交換數(shù)據(jù)流。
總而言之,TCP保證數(shù)據(jù)的傳送,以及還保證將以數(shù)據(jù)被發(fā)送的相同順序傳送數(shù)據(jù)。要完成那個,TCP使用基于確認(rèn)的再試過程來檢測和再試失敗的通信。
在TCP中,主機發(fā)送一群(即窗口)數(shù)據(jù)包至通信網(wǎng)絡(luò)上的接收器。群可被稱為“窗口(window)”。TCP窗口是,在發(fā)送器從接收器取得返回的ACK之前,即接收器已經(jīng)取得它的一些數(shù)據(jù)之前,允許發(fā)送器在特定的連接上未完成的(即接受者未確認(rèn)的)數(shù)據(jù)的數(shù)量。
ACK是確認(rèn)碼(acknowledgement code)的簡略。它一般是一個傳輸控制指示符,表示接收到未破壞的或者沒有錯誤的被傳輸?shù)南?,或者表示接收站?zhǔn)備好接受更多的傳輸。接收器發(fā)送代碼至發(fā)送器,表示已經(jīng)接受了傳輸。
在主機發(fā)送了包的窗口,它等待來自那個接收器的、表示成功接收到窗口的所有或某些包的ACK。如果它未能在規(guī)定的再試時間段內(nèi)接收到ACK,則主機再發(fā)窗口的所有包。因此,如果發(fā)送器沒有接收到ACK,它假設(shè)接收器自從上次發(fā)送器從接收器取得ACK起,沒有接收到任何數(shù)據(jù)。
由主機接收的ACK可表示成功接收窗口的上一次連續(xù)的包。如果這樣,主機再發(fā)在窗口中的在由ACK指定為成功接收的包之后的所有包。
常規(guī)的再試方法常規(guī)的再試方法一般再發(fā)大群的數(shù)據(jù)-可能甚至相當(dāng)于整個窗口的包--當(dāng)檢測到通信失敗時。而且,這些常規(guī)的方法一般是基于ACK的。此外,這些常規(guī)的方法一般不考慮任何接收數(shù)據(jù)的時間臨界性質(zhì)。這樣一個常規(guī)方法的例子是上面討論的TCP再試方法。
那些本領(lǐng)域普通技術(shù)人員通常熟悉常規(guī)的再試方法,尤其是TCP的再試方法。
概述本發(fā)明主要涉及網(wǎng)絡(luò)通信技術(shù)。在此所述的實現(xiàn),在通信網(wǎng)絡(luò)上執(zhí)行一個知道時間的、最大努力的、填孔的通信再試功能。除非接收器不同地表示,則假設(shè)成功的接收數(shù)據(jù),以這種方式來完成這個功能。該表示明確地識別丟失數(shù)據(jù)。有了這個表示,發(fā)送器只再發(fā)送明確識別的丟失數(shù)據(jù)。
這個概述本身不是想要限制本發(fā)明的范圍。此外,本發(fā)明的標(biāo)題不是想要限制本發(fā)明的范圍。為了更好地理解本發(fā)明,請結(jié)合附圖看下面詳細的描述和所附的權(quán)利要求書。在所附的權(quán)利要求書中指出本發(fā)明的范圍。
在全部附圖中,使用相同的數(shù)字引用同樣的元件和特征。
圖1是例示按照在此所述的實現(xiàn)的典型網(wǎng)絡(luò)和通信狀態(tài)的快照的圖。
圖2是流程圖,示出在此所述的方法實現(xiàn)。
圖3是流程圖,示出在此所述的方法實現(xiàn)。
圖4例示可使用在此所述的實現(xiàn)的示例性環(huán)境。
圖5例示實例顯示設(shè)備,電視,以及與顯示設(shè)備交互的各種輸入設(shè)備。
圖6是能夠(完整地或部分地)實現(xiàn)在此所述的至少一個實施例的計算機操作環(huán)境。
詳細說明在下面的描述中,為了說明,闡述特定的數(shù)字、材料和配置,以便提供本發(fā)明的完整理解。不過,對于本領(lǐng)域中一個熟練的技術(shù)人員這是顯而易見的,即可在沒有特定的示例性細節(jié)的情況下實施本發(fā)明。在其它實例中,省略或簡化眾所周知的特征以闡明本發(fā)明的示例性實現(xiàn)的描述,并且因此更好地說明本發(fā)明。而且,為了易于理解,將某些方法步驟描繪成獨立的步驟;不過,這些獨立地描述的步驟不應(yīng)被解釋為它們的性能必須依賴于順序。
下面的描述闡述用于網(wǎng)絡(luò)通信的知道時間的最大努力的填孔的再試方法和系統(tǒng)的一個或多個示例性實現(xiàn),所述網(wǎng)絡(luò)通信包括在所附權(quán)利要求書中所述的要素。以特征描述這些實現(xiàn),以便滿足法定的書面描述、允許和最佳模式要求。不過,描述本身不是想要限制本發(fā)明的范圍。
發(fā)明者想要使這些示例性實現(xiàn)作為實例。發(fā)明人不想使這些示例性實現(xiàn)限制所要求的本發(fā)明的范圍;而是,發(fā)明人已經(jīng)預(yù)期,可能結(jié)合其它現(xiàn)在或?qū)淼募夹g(shù)以其它方法實施和實現(xiàn)所要求的本發(fā)明。
用于網(wǎng)絡(luò)通信的知道時間的最大努力的填孔再試方法和系統(tǒng)的實施例的例子,可稱為“示例性填孔再試方法”。
導(dǎo)言在此所述的所要求的本發(fā)明的一個或多個示例性實現(xiàn),可由圖4和5的顯示設(shè)備408、圖6的計算機602、和/或作為與在圖4-6中所示的相似的計算環(huán)境來實現(xiàn)。
常規(guī)的再試方法一般在響應(yīng)通信失敗時再發(fā)大群的數(shù)據(jù)。一般地,這些常規(guī)的方法基于ACK并且不考慮任何接收數(shù)據(jù)的時間臨界性質(zhì)。
這種常規(guī)的再試方法在將大量數(shù)據(jù)單向地涌入通過網(wǎng)絡(luò)的情況下效率很差,例如,在時間敏感的流多媒體數(shù)據(jù)應(yīng)用中。常規(guī)的方法效率差,因為頻繁地使用從接收器到發(fā)送器的ACK包,并且因為當(dāng)只有部分再發(fā)送的數(shù)據(jù)丟失時(而不是僅當(dāng)所有再發(fā)數(shù)據(jù)丟失時),它們傾向于在再試期間再發(fā)送大塊數(shù)據(jù)。
有了常規(guī)的基于ACK的方法,通常在選擇窗口大小時存在涉及的權(quán)衡。在沒有錯誤時,大的窗口大小允許通過高等待延遲連接以高帶寬發(fā)送許多數(shù)據(jù)。小的窗口大小在減少了不必要地再發(fā)送的數(shù)據(jù)量。
一般地,這個權(quán)衡產(chǎn)生具有長超時的情況(例如,發(fā)送器等待ACK)。如果從發(fā)送器到接收器的等待延遲與位速率相比較長,這些常規(guī)的基于ACK的方法隨著包丟失增加變得更無效率。
示例性填孔再試方法克服這些常規(guī)的再試方法的缺點。它增加通信的效率--尤其對于大量數(shù)據(jù)單向地涌過網(wǎng)絡(luò)的情況。諸如具有流多媒體數(shù)據(jù)的情況。
示例性填孔再試方法在通信網(wǎng)絡(luò)上執(zhí)行知道時間的、最大努力的填孔通信再試功能。使用基于NACK的方法,發(fā)送器只再發(fā)接收器識別為還沒有接收到的數(shù)據(jù)至接收器。
最大努力是因為不保證接收器將取得數(shù)據(jù)。但示例性填孔再試方法不保證接收器將或者取得所有數(shù)據(jù)包或者知道它沒有取得所有數(shù)據(jù)包。
而且,示例填孔再試方法具有放棄獲得丟失數(shù)據(jù)的嘗試的能力,在那個數(shù)據(jù)因為太久而變得不相干的時候。不象常規(guī)的方法,示例性填孔再試方法可越過通信網(wǎng)絡(luò)(例如因特網(wǎng))維持有效的、非突發(fā)的高吞吐量連接,甚至在存在與數(shù)據(jù)速率相比高的等待延遲以及顯著的包丟失的情況下。
示例性填孔再試方法圖1例示典型通信網(wǎng)絡(luò),具有主機110(在此即發(fā)送器)、通信網(wǎng)絡(luò)基礎(chǔ)設(shè)施130(諸如因特網(wǎng))和客戶設(shè)備140(在此即接收器)。
示例性填孔再試方法基于序列號再試。序列號是對于每個發(fā)送的包按一遞增的數(shù)字。示例性填孔再試方法利用UDP而不是TCP,它可以或者是單播或者是多播。
群120代表發(fā)送器110越過網(wǎng)絡(luò)130發(fā)送的包的群的例子。它可具有幫助識別特殊的群的偏移量122。每個包是單獨和順序地編號的。在本例中,將它們編號為1-13。
發(fā)送器110發(fā)送這個包的窗口至接收器140,一次一個包。群150代表接收器140可能在與發(fā)送器通信期間的一個時間片內(nèi)已經(jīng)接收的內(nèi)容的例子。
在接收器140接收已編號的包時,它按照它們的順序編號緩沖它們。它們可能不按順序或者沒有全部到達,但在它們到達時,接收器將它們放在接收群150中它們適當(dāng)?shù)奈恢弥?。一種建立適當(dāng)位置的方法是規(guī)定所有包具有不變的大小。這是一種可檢測到孔并且容易確定其邊界的方法??墒褂闷渌椒ǘx孔的邊界。
當(dāng)接收器140接收具有不按順序的序列號的包時,它意味著接收器已經(jīng)丟失介于其間編號的包。這些丟失的包或包的集聚(grouping)被稱為“孔(hole)”??椎倪吔缡怯山邮盏膰@孔的包的存在定義的。
實例的接收群150具有三個孔???52代表丟失包#5、6和7???54代表丟失的包#10???56表示丟失的包#12。
當(dāng)接收器檢測到一個新孔時,它將孔添加到活動孔的表。表中的每個表項具有規(guī)定的再試時間-這是一個可配置的參數(shù)。
由于UDP不保證順序,包可能不按順序到達。丟失的包可能還在到接收器的運輸中。那是由在運輸中的包124例示的-這是丟失的包#12。
因此,令人想要的是在報告孔之前等待一會兒。那一會兒時間可稱為拖延(HO)期。因此,HO期避免了在丟失的包有可能在到接收器的路上時,接收器請求再發(fā)送丟失的包的問題。因此,再試時間最初被設(shè)置為所規(guī)定的“拖延”期。
如果再試時間期滿并且孔仍在,則接收器140發(fā)送“孔報告”UDP包至發(fā)送器110,通知發(fā)送器關(guān)于一個或多個孔。這個報告實際上是丟失包的否定確認(rèn)(negative-acknowledgement)(NACK)。
因為孔報告可能到達發(fā)送器,或者可能到不了發(fā)送器,再試定時器一般被重置為再報告值(RR),它是直到進行再報告為止的一段時間。RR的值可以是一個可定制的參數(shù),但一般是一個比所觀測到的網(wǎng)絡(luò)的來回程延遲稍微長一些的值。RR期被設(shè)計為給出用于發(fā)送器接收報告、響應(yīng)以及用于接收器接收那個響應(yīng)的時間。
再報告值一般比拖延值大,因為再報告值大約是網(wǎng)絡(luò)的來回程等待延遲,而拖延時間一般是網(wǎng)絡(luò)的單向等待延遲的某一分?jǐn)?shù)。
在收到孔報告時,發(fā)送器110再發(fā)送由包含在孔報告中的序列號范圍表示的UDP包。如果接收器140暫時沒有接收到響應(yīng)-例如,當(dāng)再試請求或者再試請求的響應(yīng)丟失了-接收器在再試定時器期滿時再次發(fā)送對丟失包的再試請求。
任何時候一個包到達,它部分地填入一個孔,這個孔的剩余部分(或者作為結(jié)果得到的孔的兩個剩余部分)的再試定時器被設(shè)置成拖延期。
在此所述的用于通過IP的流多媒體應(yīng)用的實現(xiàn)具有下列特性·每個包是相同大小的。
·所保證的傳送信道具有在正在進行的基礎(chǔ)上通過它正在發(fā)送的數(shù)據(jù)·它在UDP的頂部運行。
這些是一個特殊實現(xiàn)的特性。然而,其它實現(xiàn)可能具有其它特性。例如,其它實現(xiàn)可能在其它數(shù)據(jù)報傳送協(xié)議而不是UDP上運行。
活動孔表當(dāng)接收器140檢測到一個新孔,它將這個孔添加到活動孔的表。表中每個表項具有動態(tài)計算的再試時間(RT)。這個表存儲在接收器的存儲器中。
由于包可能不按順序到達,令人想要的是在報告孔之前等待一會兒。因此,最初將再試時間設(shè)置成所規(guī)定的拖延(HO)期以避免,當(dāng)丟失包可能還在到接收器的運輸中時接收器就請求再發(fā)送那個丟失包的問題。
再報告時間(RR)和初始的“拖延”(HO)期是動態(tài)可調(diào)整的,基于許多因素諸如網(wǎng)絡(luò)的觀測到的行為。
拖延期一般設(shè)置成一個值,它包含當(dāng)包處于錯誤的順序中時在包之間觀測到的延遲的大的百分比。換句話說,如果A、B是包,以這個順序不必相鄰,并且觀測到它們以B、A到達(可能有介于其間的包),延遲A-B是由拖延期一般包含的值。不過,A-B延遲應(yīng)該只在還沒有NACK(否定確認(rèn))A的時候觀測到的,因為否則A在B之后可能是再試的結(jié)果。
可供替換地,HO期可設(shè)置成通過網(wǎng)絡(luò)的最大單向等待延遲減去通過網(wǎng)絡(luò)的的最小單向等待延遲加上有些小調(diào)整(例如增量)。
由于孔報告可能到達發(fā)送器或者可能不到達發(fā)送器,接收器等待一個短時間(例如RR值)用于發(fā)送器在再發(fā)送報告之前響應(yīng)。
下面是接收器140可能產(chǎn)生的“活動孔表”的例子。它列出用于活動孔的表項(基于圖1的接收群150),它們的當(dāng)前再試時間以及它們的期滿時間。
示例活動孔表在上表中的時間值是以毫秒為單位,并且只作為說明性例子提供的。典型的拖延(HO)期可大約是10ms的數(shù)量級,以及典型的再報告(RR)期可大約是100ms的數(shù)量級。
而且,在這個表中列出的時間相對于當(dāng)前時間并且已經(jīng)完成,因此只是用于說明的目的。在現(xiàn)實中,一個實現(xiàn)可能規(guī)定絕對的時間值(而不是相對的)。
下面列出一些條件,在這些條件下,當(dāng)使用示例性填孔再試方法時,用于進入活動孔表的表項的RT是動態(tài)計算或重新計算的·當(dāng)產(chǎn)生在孔表中的表項時,初始RT設(shè)置成now(現(xiàn)在)+HO·當(dāng)發(fā)送用于一個特殊孔的報告時,RT重新設(shè)置成now(現(xiàn)在)+RR。
·當(dāng)一個包部分地填充或拆分一個孔時,那么用于作為結(jié)果而發(fā)生的孔(或多個孔)的RT設(shè)置成now(現(xiàn)在)+HO。
用示例性填孔再試方法,基于RT保持在表中的表項的順序。那樣最近要再試的表項總是第一個。
拆分孔當(dāng)接收器140接收了只部分地填充一個孔的包時,那個孔可能被拆分或者縮小。例如,如果圖1的接收群150的丟失包#5到達接收器140,則縮小孔#152???52的新的范圍是包6-7。如果,例如,接收群150的丟失包#6到達,則孔152實際上被拆分成兩個孔其中一個是包#5,一個是包#7。
如果新到達的包填充孔的中間,則它實現(xiàn)上將這個孔拆分成兩個孔。這兩個新的孔取得now(現(xiàn)在)+HO的再試時間(RT),因為HO正好足以通常保持從被生成起的一個孔報告,由于按順序發(fā)送的UDP包的正常重新排序,以及按順序發(fā)送填充孔的包,因為整個孔最初被報告為單個孔。
期滿時間每個包具有一個期滿時間標(biāo)記(ETS)。由于在包中的數(shù)據(jù)是時間敏感的,所以存在一個其數(shù)據(jù)是不相干的時間。那意味著存在一個時間,它不再關(guān)心接收器是否實際上接收到這個包的時間。那個時間是它的期滿時間。
關(guān)聯(lián)于活動孔表中每個表項的期滿時間是定義關(guān)聯(lián)的孔的結(jié)束邊界的包的ETS。例如,圖1的接收群150的包#11的ETS是輸入到活動孔表中孔154的值(用于丟失包#10)。
如果活動孔表中一個表項的RT>ETS,那么認(rèn)為這個丟失包是不相干的。象這樣,接收器140將不再嘗試獲得那些丟失包以填充那個孔。從表中移除那個表項并且標(biāo)記流中的不連續(xù)。
在傳輸中暫停在某些條件下,對于接收器有可能未能識別出傳輸中一個短暫暫停之前剛發(fā)生的孔。由于后面的包還沒有到達接收器(因為它們還沒有被發(fā)送),接收器沒有識別出孔的存在。一個包未能到達,但接收器還不知道這個。因此,接收器一定要直到全部傳輸重新開始才識別出孔的存在。
不過,通過發(fā)送臨時的狀態(tài)包,尤其是在傳輸中存在一個暫停時,可能減輕這種情況。狀態(tài)包通知接收器直接在前的包應(yīng)該是什么和/或下一個包將是什么。假設(shè)存在一個孔,接收器現(xiàn)在可識別它并且相應(yīng)地行動。
在接收器處示例性填孔再試方法的操作圖2示出示例性填孔再試方法的方法實現(xiàn)。這個方法實現(xiàn)可以用軟件、硬件或它們的組合來執(zhí)行。
在圖2的210,圖1的接收器140接收一群包的一系列編號的包。
在212,它將數(shù)據(jù)包的一個集合(諸如圖1的群150)接收到接收緩沖器中。它按編號包的編號放置每個包。它使用偏移量(諸如定義的恒定的包大小)確定每個包放在緩沖器中的位置。在完成這個的同時,它留下丟失的編號包的孔。例如,圖1的孔152是用于丟失包#5,6和7的。
在214,接收器將新的表項填入活動孔表。它輸入每個新的孔作為一個新的表項到表中。對于每個新的表項,它為新的表項計算和輸入初始的再試時間(RT)為現(xiàn)在+拖延(HO)期。對于每個新的表項,接收器還為在那個表項的孔的之后和邊界處所接收的包輸入期滿時間標(biāo)記(ETS)。
在216,當(dāng)當(dāng)前時間匹配表中一個表項的RT時,接收器140產(chǎn)生和發(fā)送一個“孔報告”包至發(fā)送器110,通知發(fā)送器關(guān)于一個或多個孔。
在218,在發(fā)送孔報告之后,接收器更新被報告的表項的RT。它將RT重新設(shè)置成現(xiàn)在+再報告(RR)期。
在220,當(dāng)一個給定表項的RT>ETS時,那么它從表中移除那個表項并且標(biāo)記流中的不連續(xù)。這意味著一個孔已經(jīng)期滿,以及它從表中移除意味著接收器將不再嘗試取回它。
在222,當(dāng)它接收一個丟失包時,它填充孔(或者部分地或者全部地)。如果丟失包完全填充這個孔,那么移除表中它的相應(yīng)表項。如果丟失包只部分地填充它,那么它重新調(diào)整孔的大小。如果丟失包將孔拆分成兩個孔,那么它重新調(diào)整一個孔的大小,以及為新產(chǎn)生的孔產(chǎn)生新的表項,對于較小的原來的孔和新產(chǎn)生的孔,兩者都具有現(xiàn)在+HO的RT。
這個過程隨著收到接收群的包而繼續(xù)。
在接收器處示例性填孔再試方法的操作圖3示出示例性填孔再試方法的方法實現(xiàn)。這個方法實現(xiàn)可以用軟件、硬件或它們的組合來執(zhí)行。
在圖3的310,圖1的發(fā)送器110將順序列舉的包發(fā)送至接收器140,并且它將這些包存儲在歷史緩沖器中。發(fā)送器保持這個歷史緩沖器,因此它能當(dāng)請求再發(fā)送包時再發(fā)送這些包。而且,發(fā)送器給每個包分配一個ETS。
在312,發(fā)送器從接收器接收識別哪個包未收到的“孔報告”。
在314,在響應(yīng)那個報告時,發(fā)送器從它的歷史緩沖器取回所識別的包,并且再次將它們發(fā)送至接收器。如果發(fā)送器得到再發(fā)送一個不再在歷史緩沖器中的包的請求,它忽略這個請求。
示例性環(huán)境圖4例示示例性環(huán)境400,其中可(部分地或全部地)實現(xiàn)在此所述的技術(shù)、系統(tǒng)和其它方面。示例性環(huán)境400是一個促進多媒體分發(fā)的電視娛樂系統(tǒng)。典型的數(shù)字視頻廣播(DVB)網(wǎng)絡(luò)是這樣一個環(huán)境的例子。
環(huán)境400包括一個或多個多媒體內(nèi)容供應(yīng)者402,一內(nèi)容分發(fā)系統(tǒng)406,以及一個或多個呈現(xiàn)設(shè)備408(1),408(2),...,408(N),它們通過廣播網(wǎng)絡(luò)410耦合到內(nèi)容分發(fā)系統(tǒng)406。
多媒體內(nèi)容供應(yīng)者402包括內(nèi)容服務(wù)器412和存儲的內(nèi)容414,諸如電影、電視節(jié)目、商業(yè)廣告節(jié)目、音樂和類似的音頻和/或視頻內(nèi)容。內(nèi)容服務(wù)器412控制存儲的內(nèi)容414從內(nèi)容供應(yīng)者402到內(nèi)容分發(fā)系統(tǒng)406的分發(fā)。另外,內(nèi)容服務(wù)器402控制實況轉(zhuǎn)播內(nèi)容(例如,不是預(yù)先存儲的內(nèi)容,諸如實況轉(zhuǎn)播供給)和/或存儲在內(nèi)容分發(fā)系統(tǒng)406之外的其它位置的內(nèi)容的分發(fā)。
內(nèi)容分發(fā)系統(tǒng)406可耦合到網(wǎng)絡(luò)420,諸如企業(yè)內(nèi)部互聯(lián)網(wǎng)或因特網(wǎng)。內(nèi)容分發(fā)系統(tǒng)406包括廣播發(fā)射器428,以及一個或多個內(nèi)容處理器430。廣播發(fā)射器428通過廣播網(wǎng)絡(luò)廣播信號,諸如有線電視信號。
內(nèi)容分發(fā)系統(tǒng)406是頭端(headend)服務(wù)的代表,它提供多媒體內(nèi)容至多個訂戶。
廣播網(wǎng)絡(luò)410能包括有線電視網(wǎng)絡(luò)、RF、微波、衛(wèi)星和/或數(shù)據(jù)網(wǎng)絡(luò)諸如因特網(wǎng),以及還可包括使用任何廣播格式和廣播協(xié)議的有線的或無線的介質(zhì)。另外,廣播網(wǎng)絡(luò)410可以是任何類型的網(wǎng)絡(luò),使用任何類型的網(wǎng)絡(luò)拓撲以及任何網(wǎng)絡(luò)通信協(xié)議,以及可以表示或者以另外方式實現(xiàn)為兩個或多個網(wǎng)絡(luò)的組合。
內(nèi)容處理器430在通過廣播網(wǎng)絡(luò)408發(fā)射內(nèi)容之前,處理從內(nèi)容供應(yīng)者402接收的內(nèi)容。特定的內(nèi)容處理器430可編碼或者以另外的方式處理所接收的內(nèi)容成為一種格式,耦合到廣播網(wǎng)絡(luò)410的多個呈現(xiàn)設(shè)備408(1),408(2),...,408(N)理解所述格式。
呈現(xiàn)設(shè)備408能以許多方法實現(xiàn)。例如,呈現(xiàn)設(shè)備408(1)通過衛(wèi)星天線434從基于衛(wèi)星的發(fā)射器接收廣播內(nèi)容。呈現(xiàn)設(shè)備408(1)也稱為機頂盒或衛(wèi)星接收設(shè)備。呈現(xiàn)設(shè)備408(1)耦合到電視436(1),用于呈現(xiàn)由呈現(xiàn)設(shè)備接收到的內(nèi)容(例如音頻數(shù)據(jù)和視頻數(shù)據(jù)),以及呈現(xiàn)圖形用戶接口。特殊的呈現(xiàn)設(shè)備408能耦合至任何數(shù)量的電視436和/或能實現(xiàn)以顯示或者再現(xiàn)內(nèi)容的相似設(shè)備。同樣,任何數(shù)量的呈現(xiàn)設(shè)備408能耦合至單個電視436。
還耦合呈現(xiàn)設(shè)備408(2)以從廣播網(wǎng)絡(luò)410接收廣播內(nèi)容,并且提供內(nèi)容至關(guān)聯(lián)的電視436(2)。呈現(xiàn)設(shè)備408(N)是組合電視和集成的機頂盒440的例子。在本例中,機頂盒的各種組件和功能被結(jié)合到電視中,而不是使用兩個分開的設(shè)備。結(jié)合在電視中的機頂盒可通過衛(wèi)星天線(與衛(wèi)星天線434相似)和/或廣播網(wǎng)絡(luò)410接收廣播信號。在可替換的實現(xiàn)中,呈現(xiàn)設(shè)備406可通過因特網(wǎng)或任何其它廣播介質(zhì)接收廣播信號。
示例性環(huán)境400還包括存儲的點播內(nèi)容442,諸如視頻點播(VOD)電影內(nèi)容。存儲的點播內(nèi)容能用呈現(xiàn)設(shè)備408例如通過在屏幕上的電影向?qū)碛^看,以及觀眾能輸入指令以使一個特定的電影,或者其它存儲的內(nèi)容,向下流到相應(yīng)的呈現(xiàn)設(shè)備408。
至此,已經(jīng)按照數(shù)字視頻廣播(DVB)環(huán)境描述了這個示例性環(huán)境400。確實,那是一個示例性環(huán)境。不過,在沒有完整的DVB環(huán)境本身的情況下,可實現(xiàn)示例性填孔再試方法。代之以,可由獨立的呈現(xiàn)設(shè)備,諸如由設(shè)備408(1),408(2),...,408(N)例示的,來實現(xiàn)它。
獨立的呈現(xiàn)設(shè)備408(1),408(2),...,408(N)從存儲介質(zhì)444諸如DVD盤訪問數(shù)字視頻。它提供來自介質(zhì)的內(nèi)容至關(guān)聯(lián)的電視439。這樣一個獨立的呈現(xiàn)設(shè)備的例子包括DVD播放器、個人錄像機等。
示例性呈現(xiàn)設(shè)備圖5例示被示為連接至電視436的獨立設(shè)備的呈現(xiàn)設(shè)備408的示例性實現(xiàn)500。呈現(xiàn)設(shè)備408可以在任何數(shù)量的實施例中實現(xiàn),包括作為機頂盒、衛(wèi)星接收器、具有硬盤的TV錄像機、游戲控制臺、信息電器、DVD播放器、個人錄像機、個人計算機、媒體中心等等。
呈現(xiàn)設(shè)備408包括一無線接收端口502,諸如紅外線(IR)或藍牙無線端口,用于從遙控設(shè)備504接收無線通信,一手持輸入設(shè)備506,或者任何其它無線設(shè)備,諸如無線鍵盤。手持輸入設(shè)備506可以是個人數(shù)字助理(PDA)、手持計算機、無線電話等等。另外,耦合無線鍵盤508以與呈現(xiàn)設(shè)備408通信。在可替換的實施例中,遙控設(shè)備504、手持設(shè)備506和/或鍵盤508可使用RF通信鏈路或其它傳輸方式以與呈現(xiàn)設(shè)備408通信。
呈現(xiàn)設(shè)備408可具有存儲介質(zhì)閱讀器509,用于閱讀內(nèi)容存儲介質(zhì)諸如DVD盤。獨立的或非獨立的呈現(xiàn)設(shè)備408可包括存儲介質(zhì)閱讀器509。
呈現(xiàn)設(shè)備408可從一個或多個廣播源接收一個或多個廣播信號510,諸如從衛(wèi)星或者從廣播網(wǎng)絡(luò)。呈現(xiàn)設(shè)備408包括硬件和/或軟件用于接收和解碼廣播信號510,諸如NTSC、PAL、SECAM或其它TV系統(tǒng)視頻信號。
呈現(xiàn)設(shè)備408還包括硬件和/或軟件用于為用戶提供圖形用戶接口,通過圖形用戶接口,用戶能例如訪問各種網(wǎng)絡(luò)服務(wù),配置呈現(xiàn)設(shè)備408以及執(zhí)行其它功能。
呈現(xiàn)設(shè)備408可能能夠通過一個或多個連接,包括常規(guī)的電話鏈路512、ISDN鏈路514、電纜鏈路518、DSL鏈路520等等,與其它設(shè)備通信。呈現(xiàn)設(shè)備408可使用任何一個或多個各種通信鏈路512-520在特定的時刻與任何數(shù)量的其它設(shè)備通信。
呈現(xiàn)設(shè)備408產(chǎn)生視頻信號520和音頻信號522,兩者都被傳送到電視436。視頻信號和音頻信號可以從呈現(xiàn)設(shè)備408傳送到電視436,通過RF(無線電頻率)鏈路、S-視頻鏈路、復(fù)合視頻鏈路、分量視頻鏈路或其它通信鏈路。
盡管在圖5中未示出,但呈現(xiàn)設(shè)備408可包括一個或多個指示燈或其它指示器識別設(shè)備的當(dāng)前狀態(tài)。另外,本設(shè)備可包括一個或多個控制按鈕、開關(guān)或其它可選擇的控制用于控制設(shè)備的操作。
示例性計算系統(tǒng)和環(huán)境圖6例示適合的計算環(huán)境600的例子,在其中可實現(xiàn)(或者全部地或者部分地)如在此所述的示例性填孔再試方法。可在此所述的計算機和網(wǎng)絡(luò)結(jié)構(gòu)中利用計算環(huán)境600。
示例性計算環(huán)境600只是計算環(huán)境的一個例子,并且不是想要建議對任何關(guān)于計算機和網(wǎng)絡(luò)結(jié)構(gòu)的使用范圍和功能的限制。也不應(yīng)將計算環(huán)境600解釋為對于在示例性計算環(huán)境600中例示的任何一個組件或其組合具有任何依賴性和要求。
可用眾多的其它通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置實現(xiàn)示例性填孔再試方法??蛇m用的眾所周知的計算系統(tǒng)、環(huán)境和配置的例子包括,但不限于,個人計算機、服務(wù)器計算機、瘦客戶機、胖客戶機、手持或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、可編程消費電子產(chǎn)品、網(wǎng)絡(luò)PC、小型機、大型計算機、包括任何上述系統(tǒng)或設(shè)備的分布式計算系統(tǒng)等等。
可在由計算機執(zhí)行的計算機可執(zhí)行指令諸如程序模塊的一般環(huán)境中描述示例性填孔再試方法。通常,程序模塊包括執(zhí)行特殊任務(wù)或?qū)崿F(xiàn)特殊抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。示例性填孔再試方法也可在分布式計算環(huán)境中實施,在分布式計算機環(huán)境中通過通信網(wǎng)絡(luò)鏈路的遠程處理設(shè)備執(zhí)行任務(wù)。在分布式計算機環(huán)境中,程序模塊可位于本地和遠程兩者包括存儲器設(shè)備在內(nèi)的計算機存儲介質(zhì)中。
計算環(huán)境600包括計算機602形式的通用計算設(shè)備。計算機602的組件可包括,但不限于,一個或多個處理器或處理單元604,系統(tǒng)存儲器606,以及將包括處理器604在內(nèi)的各種系統(tǒng)組件耦合到系統(tǒng)存儲器606的系統(tǒng)總線608。
系統(tǒng)總線可實現(xiàn)為任何幾種類型的總線結(jié)構(gòu)的一種或多種,包括存儲器總線或存儲控制器、外圍設(shè)備總線、加速圖形接口或使用各種總線結(jié)構(gòu)中任意一種的本地總線。作為例子,這樣的結(jié)構(gòu)可以插件卡總線(Card Bus)、個人計算機存儲卡國際協(xié)會(PCMCIA)、加速圖形端口(AGP)、小型計算機系統(tǒng)接口(SCSI)、通用串行總線(USB)、IEEE 1394、視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)本地總線以及也稱為夾層總線的外設(shè)組件互連(PCI)總線。
計算機602一般包括各種各樣的計算機可讀介質(zhì)。這樣的介質(zhì)可以是任何可由計算機110訪問的可用介質(zhì),并包括易失性和非易失性介質(zhì)、可移動和不可移動介質(zhì)兩者。
系統(tǒng)存儲器606包括以易失性和/或非易失性的存儲器形式的計算機存儲介質(zhì),諸如只讀存儲器(ROM)610和隨機存取存儲器(RAM)612?;据斎?輸出系統(tǒng)614(BIOS),包含幫助計算機602內(nèi)組件之間傳送信息的基本例程,諸如在起動期間,它一般被存儲在ROM 612中。RAM 610一般包含可由處理單元604直接訪問和/或目前操作的數(shù)據(jù)和/或程序模塊。
計算機602還可包括其它可移動的/不可移動的、易失性/非易失性計算機存儲介質(zhì)。作為例子,圖6示出用于讀寫不可移動的、非易失性磁介質(zhì)(未示出)的硬盤驅(qū)動器616,用于讀寫可移動的、非易失性的磁盤620(例如“軟盤”)的磁盤驅(qū)動器618,以及用于讀和/或?qū)懣梢苿拥?、非易失性光盤624諸如CD-ROM、DVD-ROM或其它光介質(zhì)的光盤驅(qū)動器622。硬盤驅(qū)動器616、磁盤驅(qū)動器618和光盤驅(qū)動器622各自通過一個或多個數(shù)據(jù)媒體接口626耦合到系統(tǒng)總線608。可供替換地,硬盤驅(qū)動器616、磁盤驅(qū)動器618和光盤驅(qū)動器622可通過一個或多個接口(未示出)耦合到系統(tǒng)總線608。
磁盤驅(qū)動器及其關(guān)聯(lián)的計算機可讀介質(zhì)為計算機602提供計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的非易失性存儲。盡管本例例示了硬盤616、可移動磁盤620和可移動光盤624,但要意識到,存儲計算機可訪問數(shù)據(jù)的其它類型的計算機可讀介質(zhì),諸如磁帶盒或其它磁存儲設(shè)備、閃存卡、CD-ROM、數(shù)字通用盤(DVD)或其它光存儲器、隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除的可編程只讀存儲器(EEPROM)等等,也可用于實現(xiàn)示例性計算系統(tǒng)和環(huán)境。
任何數(shù)量的程序模塊可存儲在硬盤616、磁盤620、光盤624、ROM 612和/或RAM 610上,包括作為例子,操作系統(tǒng)626、一個或多個應(yīng)用程序628、其它程序模塊630和程序數(shù)據(jù)632。
用戶可通過輸入設(shè)備,諸如鍵盤634、指點設(shè)備636(例如“鼠標(biāo)”),將命令和信息輸入到計算機602中。其它輸入設(shè)備638(未明確示出)可包括話筒、操縱桿、游戲墊、衛(wèi)星天線、串行口、掃描儀等等。這些和其它輸入設(shè)備常常通過耦合到系統(tǒng)總線的用戶輸入/輸出接口640耦合至處理單元604,但是也可以通過其它接口和總線結(jié)構(gòu)連接,諸如并行端口、游戲端口或通用串行總線(USB)。
監(jiān)視器642或其它類型的顯示設(shè)備也通過一個接口諸如視頻接口644連接至系統(tǒng)總線608。除監(jiān)視器642之外,計算機還可包括其它外部輸出設(shè)備諸如揚聲器(未示出)和打印機646,它們可通過輸入/輸出接口640連接。
計算機602可在一個使用邏輯連接至一或多個遠程計算機諸如遠程計算機648的網(wǎng)絡(luò)化環(huán)境中運行。遠程計算機648可以是個人計算機、便攜式計算機、服務(wù)器、路由器、網(wǎng)絡(luò)計算機、對等設(shè)備或其它普通網(wǎng)絡(luò)節(jié)點等等。遠程計算設(shè)備648例示為可包括在此相對于計算機602所述的許多或全部元件和特征的便攜式計算機。
在計算機602與遠程計算機648之間的邏輯連接被示為局域網(wǎng)(LAN)650和一般廣域網(wǎng)(WAN)652。這樣的網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)級計算機網(wǎng)絡(luò)、內(nèi)部互聯(lián)網(wǎng)和因特網(wǎng)是很普通的。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中實現(xiàn)時,計算機602通過網(wǎng)絡(luò)接口或適配器654耦合到局域網(wǎng)650。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中實現(xiàn)時,計算機602一般包括調(diào)制解調(diào)器656或其它裝置,用于在廣闊的因特網(wǎng)上建立通信。調(diào)制解調(diào)器656,可以是內(nèi)置的或者外置的,可通過輸入/輸出接口640或其它適當(dāng)?shù)臋C制耦合到系統(tǒng)總線608。要意識到,所例示的網(wǎng)絡(luò)連接是示例性的,并且可使用用于在計算機602與648之間建立通信的其它裝置。
在網(wǎng)絡(luò)化環(huán)境中,諸如由計算環(huán)境600所例示的環(huán)境,相對于計算機602所述的程序模塊或者其部分,可存儲在遠程存儲器設(shè)備中。作為例子,遠程應(yīng)用程序658駐留在遠程計算機648的存儲器設(shè)備上。為了說明,應(yīng)用程序和其它可執(zhí)行程序組件,諸如操作系統(tǒng),在此被示為離散的塊,盡管認(rèn)識到這樣的程序和組件在不同的時間駐留在計算設(shè)備602的不同存儲組件中,以及是由計算機的數(shù)據(jù)處理器執(zhí)行的。
計算機可執(zhí)行指令示例性填孔再試方法的實現(xiàn)可在由一個或多個組件或其它設(shè)備執(zhí)行的計算機可執(zhí)行指令諸如程序模塊的一般環(huán)境中描述。通常,程序模塊包括執(zhí)行特殊任務(wù)或?qū)崿F(xiàn)特殊抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。一般地,程序模塊的功能可在需要時組合或分布在各種實施例中。
示例性操作環(huán)境圖6例示適合的操作環(huán)境600的例子,在其中可實現(xiàn)示例性填孔再試方法。具體地說,在此所述的示例性填孔再試方法可由圖6中任何程序模塊628-630和/或操作系統(tǒng)626或其部分來實現(xiàn)。
操作環(huán)境只是適合的操作環(huán)境的一個例子,并且不是想要建議對關(guān)于在此所述的示例性填孔再試方法的范圍或功能的使用的任何限制??蛇m用的眾所周知的計算系統(tǒng)、環(huán)境和/或配置包括,但不限于,個人計算機、手持或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費電子產(chǎn)品、無線電話和裝置、通用或?qū)S秒娖?、特定用途集成電?ASIC)、網(wǎng)絡(luò)PC、小型機、大型計算機、包括任何上述系統(tǒng)或設(shè)備的分布式計算系統(tǒng)等等。
計算機可讀介質(zhì)示例性填孔再試方法的實現(xiàn)可存儲在某些形式的計算機可讀介質(zhì)上或者通過它傳輸。計算機可讀介質(zhì)可以是可由計算機訪問的任何可用介質(zhì)。作為例子,計算機可讀介質(zhì)可包括,但不限于,“計算機存儲介質(zhì)”和“通信介質(zhì)”。
計算機存儲介質(zhì)包括易失性和非易失性、可移動和不可移動介質(zhì),它們是以任何存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)的信息的方法或技術(shù)被實現(xiàn)的。“計算機存儲介質(zhì)”包括,但不限于,RAM、ROM、EEPROM、閃存或其它存儲技術(shù)、CD-ROM、數(shù)字通用盤(DVD)或其它光盤存儲器、磁盒、磁帶、磁盤存儲器或其它磁存儲設(shè)備,或者能用于存儲想要的信息和能由計算機存取的任何其它介質(zhì)。
“通信介質(zhì)”一般包含在調(diào)制的數(shù)據(jù)信號諸如載波或其它傳輸機制中的計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并且包括任何信息傳輸介質(zhì)。
術(shù)語″調(diào)制的數(shù)據(jù)信號″指具有以這樣一種關(guān)于編碼信號中信息的方式設(shè)置或改變的一個或多個特性的信號。作為例子,而非限制,通信介質(zhì)包括有線的介質(zhì),諸如有線的網(wǎng)絡(luò)或直接線連接、以及無線的介質(zhì),諸如聲音的、RF(射頻)、紅外線和其它無線介質(zhì)。任意上述各項的組合也包括在計算機可讀介質(zhì)的范圍之內(nèi)。
結(jié)論盡管已經(jīng)以特定于結(jié)構(gòu)特征和/或方法步驟的語言描述了本發(fā)明,但要理解,在所附的權(quán)利要求書中定義的本發(fā)明不必限制在所述的特定特征或步驟中。而是,特定的特征和步驟是作為實現(xiàn)所要求的本發(fā)明的較佳形式揭示的。
權(quán)利要求
1.具有計算機可執(zhí)行指令的計算機可讀介質(zhì),當(dāng)由計算機執(zhí)行所述指令時,執(zhí)行一個包括下列步驟的方法接收具有規(guī)定的連續(xù)順序的一個群的數(shù)據(jù)包;確定那個群的包是否丟失;請求僅被確定為丟失的包的重新傳輸;等待一個或多個丟失包的重新傳輸?shù)慕邮?;在等待的同時,重復(fù)確定和請求,直到不再有所述群的包是丟失的,或者直到剩余的丟失包被視為不相干的。
2.如權(quán)利要求1所述的介質(zhì),其特征在于,當(dāng)群的一個或多個接收的包鄰近丟失包時,丟失包被視為不相干的。
3.如權(quán)利要求1所述的介質(zhì),其特征在于,每個包具有期滿時間標(biāo)記(ETS),以及當(dāng)當(dāng)前時間過了鄰近丟失包的一個或多個接收的包的ETS時,丟失包被視為不相干的。
4.如權(quán)利要求1所述的介質(zhì),其特征在于,所述方法還包括,當(dāng)確定一個包是丟失的時,將指定的再試時間與丟失包相關(guān)聯(lián),其中,這個時間定義了請求那個丟失包的重新傳輸何時發(fā)生。
5.如權(quán)利要求1所述的介質(zhì),其特征在于,所述重復(fù)的步驟包括將指定的再試時間與丟失包相關(guān)聯(lián),其中,指定的再試時間定義了請求那個丟失包的重新傳輸何時發(fā)生;如果在指定的再試時間那個丟失包仍是丟失的,那么動態(tài)地調(diào)整那個丟失包的指定的再試時間,以加上指定的再報告時間段。
6.如權(quán)利要求1所述的介質(zhì),其特征在于,在群中的包具有規(guī)定的期滿時間,以及當(dāng)一個或多個接收的包的規(guī)定的期滿時間已經(jīng)發(fā)生時,丟失包被視為不相干的。
7.如權(quán)利要求1所述的介質(zhì),其特征在于,群的包是順序地編號的。
8.如權(quán)利要求1所述的介質(zhì),其特征在于,群的每個包在大小上是相等的。
9.如權(quán)利要求1所述的介質(zhì),其特征在于,對重新傳輸?shù)某跏颊埱笤诖_定之后規(guī)定的時間間隔發(fā)生。
10.一計算設(shè)備包括到通信網(wǎng)絡(luò)的接口,用于發(fā)送和接收數(shù)據(jù);如權(quán)利要求1所述的介質(zhì)。
11.具有計算機可執(zhí)行指令的計算機可讀介質(zhì),當(dāng)由計算機執(zhí)行所述指令時,執(zhí)行包括下列步驟的方法接收具有規(guī)定順序的一個群的數(shù)據(jù)包;識別群的哪個包是丟失的;發(fā)送標(biāo)識丟失包的否定確認(rèn)(NACK);等待一個或多個識別的丟失包的重新傳輸?shù)慕邮?;在等待時,重復(fù)識別和發(fā)送,直到剩余的丟失包被視為不相干的。
12.如權(quán)利要求11所述的介質(zhì),其特征在于,當(dāng)群的一個或多個接收的包鄰近丟失包時,丟失包被視為不相干的。
13.如權(quán)利要求11所述的介質(zhì),其特征在于,每個包具有期滿時間標(biāo)記(ETS),以及當(dāng)當(dāng)前時間過了鄰近丟失包的一個或多個接收的包的ETS時,丟失包被視為不相干的。
14.如權(quán)利要求11所述的介質(zhì),其特征在于,所述方法還包括接收一個或多個丟失包的重新傳輸;重復(fù)識別和發(fā)送。
15.如權(quán)利要求11所述的介質(zhì),其特征在于,所述方法還包括接收一個或多個丟失包的重新傳輸;重復(fù)識別和發(fā)送,直到不再有群的包是丟失的。
16.如權(quán)利要求11所述的介質(zhì),其特征在于,所述方法還包括,當(dāng)確定一個包是丟失的時,將指定的再試時間與丟失包相關(guān)聯(lián),其中,這個時間定義了請求那個丟失包的重新傳輸何時發(fā)生。
17.如權(quán)利要求11所述的介質(zhì),其特征在于,所述方法還包括當(dāng)確定一個包是丟失的時,將指定的再試時間與丟失包相關(guān)聯(lián);在那個包的指定的再試時間,執(zhí)行對那個丟失包的重新傳輸?shù)恼埱?;重?fù)確定;如果確定那個丟失包仍然是丟失的,那么動態(tài)地調(diào)整指定的再試時間以加上指定的再報告時間段;在那個包的調(diào)整的再試時間,重復(fù)請求那個丟失包的重新傳輸。
18.如權(quán)利要求11所述的介質(zhì),其特征在于,所述方法還包括接收一個或多個丟失包的重新傳輸;重復(fù)確定和請求,直到剩余的丟失包被視為不相干的,或者直到不再有丟失包。
19.如權(quán)利要求11所述的介質(zhì),其特征在于,在群中的包具有規(guī)定的期滿時間,所述方法還包括接收一個或多個丟失包的重新傳輸;重復(fù)確定和請求,直到剩余的丟失包被視為不相干的,因為一個或多個包的規(guī)定的期滿時間已經(jīng)發(fā)生,或者直到?jīng)]有丟失包。
20.如權(quán)利要求11所述的介質(zhì),其特征在于,包的群的指定次序是順序的。
21.如權(quán)利要求11所述的介質(zhì),其特征在于,群的包是順序地編號的。
22.如權(quán)利要求11所述的介質(zhì),其特征在于,請求重新傳輸在確定之后規(guī)定的時間間隔發(fā)生。
23.一計算設(shè)備包括到通信網(wǎng)絡(luò)的接口,用于發(fā)送和接收數(shù)據(jù);如權(quán)利要求11所述的介質(zhì)。
24.一通信再試方法包括接收具有規(guī)定順序的一個群的數(shù)據(jù)包;確定那個群的包是否是丟失的;請求僅被確定是丟失的包的重新傳輸。
25.如權(quán)利要求24所述的方法,還包括接收一個或多個丟失包的重新傳輸;重復(fù)確定和請求。
26.如權(quán)利要求24所述的方法,還包括接收一個或多個丟失包的重新傳輸;重復(fù)確定和請求,直到不再有群的包是丟失的。
27.如權(quán)利要求24所述的方法,還包括,當(dāng)確定一個包是丟失的時,將指定的再試時間與丟失包相關(guān)聯(lián),其中,這個時間定義了請求那個丟失包的重新傳輸何時發(fā)生。
28.如權(quán)利要求24所述的方法,還包括當(dāng)確定一個包是丟失的時,將指定的再試時間與丟失包相關(guān)聯(lián);在那個包的指定的再試時間,執(zhí)行對那個丟失包的重新傳輸?shù)恼埱?;重?fù)確定;如果確定那個丟失包仍然是丟失的,那么動態(tài)地調(diào)整指定的再試時間以加上指定的再報告時間段;在那個包的調(diào)整的再試時間,重復(fù)請求那個丟失包的重新傳輸。
29.如權(quán)利要求24所述的方法,還包括接收一個或多個丟失包的重新傳輸;重復(fù)確定和請求,直到剩余的丟失包被視為不相干的,或者直到不再有丟失包。
30.如權(quán)利要求24所述的方法,其特征在于,在群中的包具有規(guī)定的期滿時間,所述方法還包括接收一個或多個丟失包的重新傳輸;重復(fù)確定和請求,直到剩余的丟失包被視為不相干的,因為一個或多個包的規(guī)定的期滿時間已經(jīng)發(fā)生,或者直到不再有丟失包。
31.如權(quán)利要求24所述的方法,其特征在于,包的群的規(guī)定次序是順序的。
32.如權(quán)利要求24所述的方法,其特征在于,群的包是順序地編號的。
33.如權(quán)利要求24所述的方法,其特征在于,請求重新傳輸在確定之后規(guī)定的時間間隔發(fā)生。
34.包括一個或多個具有計算機可執(zhí)行指令的計算機可讀介質(zhì)的計算機,當(dāng)由所述計算機執(zhí)行所述指令時,執(zhí)行如權(quán)利要求24所述的方法。
35.具有計算機可執(zhí)行指令的計算機可讀介質(zhì),當(dāng)由計算機執(zhí)行所述指令時,執(zhí)行包括下列步驟的方法通過通信網(wǎng)絡(luò)發(fā)送具有規(guī)定順序的一個群的數(shù)據(jù)包至接收器;接收識別接收器未能接收的群的包的請求;再發(fā)送識別的包至接收器,其中,再發(fā)送的包僅是由請求識別的那些。
36.如權(quán)利要求35所述的介質(zhì),其特征在于,所述方法還包括將發(fā)送的包存儲到歷史緩沖器中;在響應(yīng)請求時,從歷史緩沖器取回識別的包。
37.如權(quán)利要求35所述的介質(zhì),其特征在于,所述方法還包括,將期滿時間標(biāo)記指派給發(fā)送的群的一個或多個包,其中如果接收器沒有按期滿時間標(biāo)記接收到這一個或多個包,則所述一個或多個包是不相干的。
38.如權(quán)利要求35所述的介質(zhì),其特征在于,包的群的規(guī)定次序是順序的。
39.如權(quán)利要求35所述的介質(zhì),其特征在于,群的包是順序地編號的。
40.一計算設(shè)備包括到通信網(wǎng)絡(luò)的接口,用于發(fā)送和接收數(shù)據(jù);如權(quán)利要求35所述的介質(zhì)。
41.一通信再試方法包括通過通信網(wǎng)絡(luò)發(fā)送規(guī)定順序的一個群的數(shù)據(jù)包至接收器;接收識別接收器未能接收的群的包的請求;再發(fā)送識別的包至接收器,其中,再發(fā)送的包僅是由請求識別的那些。
42.如權(quán)利要求41所述的方法還包括將發(fā)送的包存儲到歷史緩沖器中;在響應(yīng)請求時,從歷史緩沖器取回識別的包。
43.如權(quán)利要求41所述的方法,還包括,將期滿時間標(biāo)記指派給發(fā)送的群的一個或多個包,其中如果接收器沒有按期滿時間標(biāo)記接收到,則所述一個或多個包是不相干的。
44.如權(quán)利要求41所述的方法,其特征在于,包的群的規(guī)定次序是順序的。
45.如權(quán)利要求41所述的方法,其特征在于,群的包是順序地編號的。
46.包括一個或多個具有計算機可執(zhí)行指令的計算機可讀介質(zhì)的計算機,當(dāng)由所述計算機執(zhí)行所述指令時,執(zhí)行如權(quán)利要求41所述的方法。
全文摘要
本發(fā)明主要涉及網(wǎng)絡(luò)通信技術(shù)。在此所述的實現(xiàn),在通信網(wǎng)絡(luò)上執(zhí)行一個知道時間的、最大努力的、填孔的通信再試功能。除非接收器不同地表示,則假設(shè)成功的接收數(shù)據(jù),以這種方式來完成這個功能。該表示明確地識別丟失數(shù)據(jù)。有了這個表示,發(fā)送器只再發(fā)送明確識別的丟失數(shù)據(jù)。在所附的權(quán)利要求書中指出本發(fā)明的范圍。
文檔編號H04L1/16GK1574719SQ20041004894
公開日2005年2月2日 申請日期2004年6月11日 優(yōu)先權(quán)日2003年6月13日
發(fā)明者J·H·格羅斯曼四世, D·L·格林 申請人:微軟公司