两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于利用空閑帶寬的技術(shù)的制作方法

文檔序號(hào):7775214閱讀:181來源:國知局
用于利用空閑帶寬的技術(shù)的制作方法
【專利摘要】一種分組封裝器,包括一個(gè)過濾器模塊,該模塊從多個(gè)所接收分組中識(shí)別出一個(gè)或多個(gè)輪盤分組。然后,將所述一個(gè)或多個(gè)輪盤分組保存在分組緩存器中。該分組封裝器還包括一個(gè)信道隊(duì)列,用于對(duì)分組進(jìn)行排隊(duì)以便經(jīng)由廣播傳輸介質(zhì)進(jìn)行傳送。舉例來說,該信道隊(duì)列還接收來自過濾器模塊的轉(zhuǎn)發(fā)分組。當(dāng)在廣播傳輸介質(zhì)中至少存在預(yù)定數(shù)量的可用帶寬時(shí),該信道隊(duì)列還接收來自分組緩存器的一個(gè)或多個(gè)輪盤分組。該廣播傳輸介質(zhì)可以是數(shù)字廣播網(wǎng)絡(luò),例如手持式DVB(DVB-H)網(wǎng)絡(luò)或DVB陸地(DVB-T)網(wǎng)絡(luò)。作為替換,該廣播傳輸介質(zhì)也可以是電纜網(wǎng)絡(luò)。
【專利說明】用于利用空閑帶寬的技術(shù)
[0001]本申請(qǐng)是于2005年10月27日提交的、題為“用于利用空閑帶寬的技術(shù)”的中國專利申請(qǐng)200580037510.5的分案申請(qǐng)。
[0002]本申請(qǐng)要求享有2004年11月I日提交的名為“Techniques for the Utilizationof Spare Bandwidth”的美國申請(qǐng)10 / 976,851的優(yōu)先權(quán)。該優(yōu)先權(quán)申請(qǐng)全部引入在此作
為參考。
【技術(shù)領(lǐng)域】
[0003]本發(fā)明涉及通信。更特別地,本發(fā)明涉及有效使用所分配的帶寬。
【背景技術(shù)】
[0004]以數(shù)字格式將諸如音頻和/或視頻之類的多媒體內(nèi)容傳遞到終端設(shè)備的處理正變得越來越平常。這種內(nèi)容可以包括音頻、視頻以及其他那些經(jīng)由廣播傳輸介質(zhì)傳遞的內(nèi)容。由于這些內(nèi)容的特性,多媒體(音頻/視頻)流的比特率可能會(huì)隨時(shí)間而改變。典型的比特率是128?384千比特每秒(kbps)。在視頻和音頻壓縮方面的最新進(jìn)展強(qiáng)調(diào)的也正是上述效果,這是因?yàn)椋c較老的壓縮技術(shù)相比,現(xiàn)在的相關(guān)比特率變化相對(duì)較大。
[0005]對(duì)諸如手持式數(shù)字視頻廣播(DVB-H)之類的廣播信道來說,這種信道的總?cè)萘渴枪潭ǖ?。該信道的確切容量取決于所用的調(diào)制參數(shù)。對(duì)DVB-H來說,用于移動(dòng)和室內(nèi)接收的容量通常介于每秒5與15兆比特(Mbps)之間。在DVB-H中,這個(gè)總帶寬被分成多個(gè)時(shí)間片信道,其中每個(gè)信道都具有靜態(tài)比特率,以便幫助實(shí)施移動(dòng)性和切換。
[0006]對(duì)每一個(gè)多媒體流來說,通常會(huì)向相應(yīng)的廣播信道(例如,相應(yīng)的DVB-H時(shí)間片)分配一定數(shù)量的帶寬。在理想情況下(但并不是必要的),DVB-H時(shí)間片信道只包含單個(gè)多媒體流,由此可以降低終端設(shè)備中的功耗。
[0007]這種帶寬約束可以被強(qiáng)加于廣播信道之上。這種強(qiáng)制方式可以包括通過緩存而使比特率變化變緩。但是,過多的緩存有可能產(chǎn)生延遲。因此,有一種用于確保不會(huì)出現(xiàn)過多延遲的方法,包括分配比流比特率的長期平均值更多的廣播信道帶寬。對(duì)DVB-H時(shí)間片信道來說,這意味著通常會(huì)存在剩余或空閑帶寬。
[0008]帶寬是一種寶貴的資源。因此,期望的是減小被浪費(fèi)的帶寬總量。

【發(fā)明內(nèi)容】

[0009]本發(fā)明提供了一種分組封裝器。該分組封裝器包括一個(gè)過濾器模塊,該模塊用于從多個(gè)接收的分組中識(shí)別出一個(gè)或多個(gè)輪盤分組(carousel packet)。然后,所述一個(gè)或多個(gè)輪盤分組被保存在分組緩存器中。此外,該分組封裝器還包括一個(gè)信道隊(duì)列,用于對(duì)分組進(jìn)行排隊(duì)以便經(jīng)由廣播傳輸介質(zhì)進(jìn)行傳送。舉例來說,該信道隊(duì)列還接收來自過濾器模塊的轉(zhuǎn)發(fā)分組。除此之外,當(dāng)在廣播傳輸介質(zhì)中至少存在預(yù)定數(shù)量的可用帶寬時(shí),該信道隊(duì)列還接收來自分組緩存器的一個(gè)或多個(gè)輪盤分組。
[0010]該廣播傳輸介質(zhì)可以是數(shù)字廣播網(wǎng)絡(luò),例如手持式數(shù)字視頻廣播(DVB) (DVB-H)網(wǎng)絡(luò)或DVB陸地(DVB-T)網(wǎng)絡(luò)。作為替換,該廣播網(wǎng)絡(luò)也可以是其他類型的數(shù)字廣播網(wǎng)絡(luò),其中包括ATSC、ISDB-T、數(shù)字音頻廣播(DAB)或世界數(shù)字廣播(Digital Radio Mondiale,DRM)。作為進(jìn)一步的替換,該廣播傳輸介質(zhì)也可以是電纜網(wǎng)絡(luò)。
[0011]分組封裝器還可以包括一個(gè)比較表,用于存儲(chǔ)與分組緩存器中的特定輪盤分組相對(duì)應(yīng)的索引值。這些索引值可以是從相應(yīng)的輪盤分組值中計(jì)算得到的散列值。
[0012]此外,該分組封裝器還可以包括接收隊(duì)列,該接收隊(duì)列具有一個(gè)或多個(gè)與分組緩存器中保存的特定輪盤分組相對(duì)應(yīng)的條目。接收隊(duì)列中的這些條目是根據(jù)分組緩存器中的一個(gè)或多個(gè)輪盤分組的接收時(shí)間戳值而按照時(shí)間先后順序排列的。
[0013]另外,該分組封裝器還可以包括一個(gè)發(fā)送隊(duì)列,該發(fā)送隊(duì)列具有與分組緩存器中保存的特定輪盤分組相對(duì)應(yīng)的條目。該發(fā)送隊(duì)列還可以包括上一接收指針和上一發(fā)送指針,其中該上一接收指針用于指定將要添加與新分組相對(duì)應(yīng)的條目的位置,該上一發(fā)送指針用于指定與分組緩存器中的最近發(fā)送到信道隊(duì)列的輪盤分組相對(duì)應(yīng)的條目。
[0014]所接收的分組可以是網(wǎng)際協(xié)議(IP)分組。這些分組可以包括一個(gè)靜態(tài)時(shí)間戳字段。
[0015]本發(fā)明還提供了一種用于與遠(yuǎn)程服務(wù)器建立輪盤會(huì)話并且從遠(yuǎn)程服務(wù)器接收輪盤分組的方法和計(jì)算機(jī)程序產(chǎn)品。當(dāng)先前沒有接收到分組時(shí),該方法和計(jì)算機(jī)程序產(chǎn)品會(huì)將接收到的輪盤分組添加到分組緩存器中,否則,當(dāng)先前接收到了輪盤分組并且已將其存入了緩存器時(shí),該方法和計(jì)算機(jī)程序產(chǎn)品將會(huì)更新分組緩存器中的所接收輪盤分組的時(shí)間戳。另外,該方法和計(jì)算機(jī)程序產(chǎn)品還會(huì)根據(jù)所接收的輪盤分組來更新一個(gè)或多個(gè)存取數(shù)據(jù)結(jié)構(gòu),并且將會(huì)接收廣播傳輸介質(zhì)中的可用帶寬的指示。響應(yīng)于這個(gè)指示,該方法和計(jì)算機(jī)程序產(chǎn)品將保存在分組緩存器中的一個(gè)或多個(gè)輪盤分組發(fā)送到信道隊(duì)列。
[0016]該廣播傳輸介質(zhì)可以是數(shù)字廣播網(wǎng)絡(luò),例如手持式數(shù)字視頻廣播(DVB) (DVB-H)網(wǎng)絡(luò)或DVB陸地(DVB-T)網(wǎng)絡(luò)。作為替換,該廣播網(wǎng)絡(luò)也可以是電纜網(wǎng)絡(luò)。
[0017]有利的是,本發(fā)明提供了對(duì)帶寬的有效使用。舉例來說,空閑帶寬可以用于其他類型的不需要保證帶寬的數(shù)據(jù)服務(wù)。從下文的描述和附圖中可以清楚了解本發(fā)明的其他特征和優(yōu)點(diǎn)。
【專利附圖】

【附圖說明】
[0018]在附圖中,相同的參考數(shù)字通常指示相同、功能相似和/或結(jié)構(gòu)相似的部件。某一個(gè)部件首次出現(xiàn)時(shí)所在的附圖是用參考數(shù)字中最左邊的一個(gè)或多個(gè)數(shù)字表示的。本發(fā)明將參考附圖來加以描述,其中:
[0019]圖1是根據(jù)本發(fā)明實(shí)施例的操作環(huán)境的圖示;
[0020]圖2是顯示示例性的傳輸定時(shí)的圖示;
[0021]圖3是顯示示例性的輪盤方案的圖示;
[0022]圖4是根據(jù)本發(fā)明一個(gè)方面的輪盤操作的流程圖;
[0023]圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的架構(gòu)的圖示;
[0024]圖6是顯示根據(jù)本發(fā)明一個(gè)實(shí)施例的存取數(shù)據(jù)結(jié)構(gòu)的示例性實(shí)施方式的圖示;以及
[0025]圖7是示例性的計(jì)算機(jī)系統(tǒng)的圖示?!揪唧w實(shí)施方式】
[0026]1.操作環(huán)境
[0027]圖1是可以使用本發(fā)明的廣播環(huán)境的圖示。該環(huán)境包括多個(gè)基于分組的網(wǎng)絡(luò)102以及多個(gè)廣播網(wǎng)絡(luò)104。
[0028]基于分組的網(wǎng)絡(luò)102借助不同的協(xié)議通過對(duì)諸如網(wǎng)際協(xié)議(IP)分組之類的分組進(jìn)行交換,來執(zhí)行通信。因此,網(wǎng)絡(luò)102可以具有各種不同的類型。舉例來說,圖1所示的環(huán)境包括作為局域網(wǎng)(例如以太網(wǎng))的基于分組的網(wǎng)絡(luò)102a,以及作為因特網(wǎng)的基于分組的網(wǎng)絡(luò)102b。
[0029]廣播網(wǎng)絡(luò)104經(jīng)由廣播傳輸介質(zhì)來提供點(diǎn)到多點(diǎn)的通信。每個(gè)廣播網(wǎng)絡(luò)都可以使用多種有線或無線技術(shù)。例如,圖1顯示了一個(gè)作為DVB-T網(wǎng)絡(luò)的廣播網(wǎng)絡(luò)104a,以及作為DVB-H網(wǎng)絡(luò)的廣播網(wǎng)絡(luò)104b。此外,圖1還顯示了作為電纜網(wǎng)絡(luò)的廣播網(wǎng)絡(luò)104c,例如,它可以是電纜數(shù)據(jù)業(yè)務(wù)接口規(guī)范(Data Over Cable Service Interface Specification,DOCSIS)網(wǎng)絡(luò)。網(wǎng)絡(luò)104a和104b傳送的是可以由在覆蓋范圍以內(nèi)的設(shè)備接收的無線信號(hào)。
[0030]圖1的環(huán)境包括多個(gè)多媒體流式傳輸(streaming)服務(wù)器(M-SRV) 106,這些服務(wù)器與一個(gè)或多個(gè)基于分組的網(wǎng)絡(luò)102相耦合。服務(wù)器106產(chǎn)生多媒體流,并且這些流包含了諸如音頻、視頻和/或文本之類的內(nèi)容。舉例來說,某一個(gè)特定服務(wù)器106可以經(jīng)由多個(gè)音頻信道來提供多個(gè)音頻流。此外,這個(gè)服務(wù)器還可以提供與相應(yīng)的音頻流相同步的文本流。
[0031]除了 M-SRV106之外,圖1的環(huán)境還包括多個(gè)文件流式傳輸服務(wù)器(F-SRV) 108。這些服務(wù)器產(chǎn)生的是以文件輪盤形式的文件流。文件輪盤通常包含了若干個(gè)文件,其中舉例來說,這些文件是使用IP多播來傳送的。這些文件每次都是以受控制的比特率傳送的,直至所有文件都已被傳送為止。這時(shí),該文件輪盤將會(huì)重復(fù)傳輸這些文件。這種模式既可以持續(xù)進(jìn)行,也可以在固定的時(shí)間間隔上進(jìn)行。
[0032]每一個(gè)服務(wù)器106和108都可以經(jīng)由基于分組的網(wǎng)絡(luò)102將它們的流分發(fā)到一個(gè)或多個(gè)目的地。這種分發(fā)可能涉及IP多播協(xié)議。對(duì)特定服務(wù)器產(chǎn)生的所有流來說,其組合的比特率通常會(huì)隨時(shí)間而改變。在某些實(shí)施例中,這些改變是圍繞著一個(gè)穩(wěn)定的平均值的。
[0033]圖1顯示了多個(gè)IP封裝器(IPE) 110,其中每一個(gè)IP封裝器都耦合到一個(gè)或多個(gè)基于分組的網(wǎng)絡(luò)102。IPEllO接收由服務(wù)器106和108所產(chǎn)生的分組流,并且作為網(wǎng)關(guān)在基于分組的網(wǎng)絡(luò)102與廣播網(wǎng)絡(luò)104之間進(jìn)行操作。特別地,IPEllO將接收到的分組流轉(zhuǎn)換成廣播網(wǎng)絡(luò)傳輸流(例如,DVB-H傳輸流以及DVB-T傳輸流)。
[0034]就每個(gè)廣播網(wǎng)絡(luò)104而言,圖1顯示了復(fù)用器(MUX) 112、調(diào)制器(MOD) 114以及發(fā)射機(jī)(TX) 116。特別地,圖1顯示了與廣播網(wǎng)絡(luò)104a相對(duì)應(yīng)的MUX112a、M0D114a和TX116a,與廣播網(wǎng)絡(luò)104b相對(duì)應(yīng)的MUX112b、MOD 114b和TX116b,以及與廣播網(wǎng)絡(luò)104c相對(duì)應(yīng)的MUXl 12c,MODI 14c和TX116c。如圖1所示,每個(gè)MUX112都可以耦合到一個(gè)或多個(gè)IPE110。此外,每一個(gè)MODl 14都耦合在其對(duì)應(yīng)的MUXl 12與TXl 16之間。
[0035]每個(gè)復(fù)用器112都會(huì)將來自一個(gè)或多個(gè)不同信源(例如不同IPE110)的傳輸流組合成單個(gè)傳輸流。該單個(gè)流將被發(fā)送到與之耦合的調(diào)制器114,該調(diào)制器114將該傳輸流從數(shù)字表示轉(zhuǎn)換成射頻(RF)信號(hào)。與之耦合的發(fā)射機(jī)(TX) 116放大該RF信號(hào),并且將該信號(hào)傳送(或廣播)到處于相應(yīng)廣播網(wǎng)絡(luò)104中的設(shè)備。對(duì)廣播網(wǎng)絡(luò)104a和104b來說,天線117a和117b允許以無線方式來傳播這種傳輸。但是,對(duì)廣播網(wǎng)絡(luò)104c來說,這種傳輸是經(jīng)由電纜介質(zhì)119傳播的。
[0036]圖1示出了廣播網(wǎng)絡(luò)104包括一個(gè)或多個(gè)接收機(jī)(RX) 120,這些接收機(jī)在這里也被稱為終端設(shè)備。這些設(shè)備接收并處理由TX116傳送的RF信號(hào)。這樣做允許這些設(shè)備向其終端用戶呈現(xiàn)由RF信號(hào)所傳送的服務(wù)(例如流)。如圖1所示,設(shè)備120可以包括便攜式手持設(shè)備(例如無線電話和PDA),以及電視機(jī)、機(jī)頂盒和個(gè)人計(jì)算機(jī)。
[0037]此外,廣播網(wǎng)絡(luò)104還可以包括其他設(shè)備,例如中繼器和監(jiān)視器(未顯示)。中繼器(REP)接收來自TX116的RF信號(hào),將其放大,并且再次在相同頻率或不同頻率上傳送該信號(hào)。監(jiān)視器(MON)是一個(gè)特殊的接收機(jī),其目的僅僅是監(jiān)視從發(fā)射機(jī)116接收的RF信號(hào),并且向相應(yīng)廣播網(wǎng)絡(luò)104的運(yùn)營者提供警報(bào)。
[0038]I1.時(shí)間分片(timeslicing)
[0039]圖2是描述根據(jù)本發(fā)明實(shí)施例的廣播網(wǎng)絡(luò)傳輸?shù)膱D示。舉例來說,這些傳輸可以由DVB發(fā)射機(jī)產(chǎn)生并由一個(gè)或多個(gè)終端設(shè)備接收。
[0040]如圖2所示,多個(gè)時(shí)隙202是接連存在的。諸如流式傳輸視頻節(jié)目(例如冰球比賽)之類的服務(wù)是在這些時(shí)隙期間傳送的。特別地,圖2顯示了流在時(shí)隙202a開始并在時(shí)隙202f結(jié)束的服務(wù)。
[0041]服務(wù)流是根據(jù)時(shí)間分片技術(shù)傳送的。也就是說,該服務(wù)流被分段為在時(shí)隙202的特定部分中發(fā)生的突發(fā)傳輸(或分組)204。這些特定部分被稱為時(shí)間片。特別地,圖2顯示了分別在時(shí)隙202a?202f的時(shí)間片內(nèi)部發(fā)生的突發(fā)204a?204f。
[0042]在實(shí)施例中,每個(gè)突發(fā)204都具有固定的持續(xù)時(shí)間。此外,連續(xù)的突發(fā)204在時(shí)間上是按固定間隔分離的。但是,在其它實(shí)施例中,突發(fā)的持續(xù)時(shí)間和/或突發(fā)之間的間隔是可以變化的。關(guān)于這種變化的信息可以在這些突發(fā)內(nèi)部用信號(hào)通知,從而使得終端設(shè)備可以接收這些突發(fā)。
[0043]各種突發(fā)定時(shí)都是可能存在的。例如,圖2包含了突發(fā)204a’和204a”,這些突發(fā)是用于突發(fā)204a的替換定時(shí)。如替換突發(fā)204a’和204a”所示,突發(fā)可以在一個(gè)特定時(shí)隙中開始而在后續(xù)的一個(gè)時(shí)隙中結(jié)束。這種情況有可能是因?yàn)橹T如緩存和封裝之類的處理所造成的延遲而產(chǎn)生的。在實(shí)施例中,突發(fā)204可以在不早于其相應(yīng)時(shí)隙的結(jié)尾的時(shí)間結(jié)束。
[0044]如上所述,突發(fā)204由一個(gè)或多個(gè)終端設(shè)備接收。一旦被接收,每一個(gè)設(shè)備就會(huì)緩存并且處理(例如,解碼、糾錯(cuò)等)在這些突發(fā)中傳送的數(shù)據(jù)。由此,諸如視頻和/或音頻之類的內(nèi)容將被再現(xiàn),以供設(shè)備用戶消費(fèi)。
[0045]設(shè)備可以是便攜式的。因此,在服務(wù)(例如電視節(jié)目)的傳遞過程中,設(shè)備有可能會(huì)移動(dòng)到某個(gè)無法接收突發(fā)的位置。當(dāng)這種情況發(fā)生時(shí),該設(shè)備可能會(huì)接收到一個(gè)用于表明其處于此類區(qū)域的通知。另外,其他原因也有可能導(dǎo)致中斷。圖2顯示了在時(shí)隙202d期間出現(xiàn)的示例性中斷206。由于這種中斷的影響,設(shè)備將無法接收突發(fā)204d、204e和204f。
[0046]在實(shí)施例中,突發(fā)204可以包括用于指示其傳輸時(shí)間的時(shí)間戳。通過分析所接收突發(fā)的時(shí)間戳,終端設(shè)備可以確定它接收了哪些突發(fā)以及它遺失了哪些突發(fā),并對(duì)其進(jìn)行存儲(chǔ)。根據(jù)這種確定,終端設(shè)備可以通過例如重傳和/或數(shù)據(jù)輪盤服務(wù)來接收遺失的突發(fā)。
[0047]II1.重傳[0048]在發(fā)端服務(wù)器(例如F-SRV或M-SRV)上,時(shí)間戳可以與相應(yīng)的突發(fā)或分組保存在一起。有利的是,這個(gè)特征允許對(duì)遺失的分組進(jìn)行重傳(或“回放”)。數(shù)據(jù)的回放可以響應(yīng)于從終端設(shè)備接收的請(qǐng)求而進(jìn)行。這種請(qǐng)求可以由用戶發(fā)起,或者也可以是自動(dòng)的。
[0049]例如,當(dāng)一個(gè)設(shè)備進(jìn)入某個(gè)可以接收服務(wù)傳輸?shù)膮^(qū)域時(shí),該設(shè)備可以向服務(wù)器傳送一個(gè)請(qǐng)求,以便要求重傳(或回放)其未接收到的突發(fā)。這個(gè)請(qǐng)求可以規(guī)定各種重傳條件。例如,該請(qǐng)求可以規(guī)定期望接收遺失的分組的時(shí)間(例如,由設(shè)備的用戶來設(shè)置)。這種時(shí)間規(guī)定的實(shí)例包括即時(shí)重傳或者在以后的某個(gè)預(yù)定時(shí)間上重傳。
[0050]IV.數(shù)據(jù)輪盤
[0051]不同設(shè)備的用戶都有可能希望接收服務(wù)流的特定傳輸。但是,這些用戶各自有可能具有不同的需要。例如,每個(gè)用戶有可能希望得到服務(wù)流中的不同的遺失部分。為了適應(yīng)這種差別,服務(wù)流可以被傳遞作為連續(xù)地(例如重復(fù)地)傳送服務(wù)的“數(shù)據(jù)輪盤”。這種連續(xù)傳輸提供了設(shè)備可以可靠地訪問所傳送服務(wù)的遺失部分的優(yōu)點(diǎn)。
[0052]數(shù)據(jù)輪盤可以是網(wǎng)絡(luò)運(yùn)營者提供的多種服務(wù)之一。由此,數(shù)據(jù)輪盤的存在和內(nèi)容可以在電子服務(wù)指南(ESG)中進(jìn)行通告。相應(yīng)地,網(wǎng)絡(luò)運(yùn)營商可以選擇哪些服務(wù)由數(shù)據(jù)輪盤提供。對(duì)輪盤中的數(shù)據(jù)所進(jìn)行的訪問可以取決于用戶對(duì)數(shù)據(jù)輪盤服務(wù)的預(yù)訂。特別地,只有服務(wù)的簽約用戶才可以訪問輪盤中的數(shù)據(jù)。
[0053]數(shù)據(jù)輪盤可以采用多種方式來接收服務(wù)流。例如,數(shù)據(jù)輪盤可以用那些與服務(wù)流中正在傳送的突發(fā)具有相同速率的突發(fā)來填充。由此,數(shù)據(jù)輪盤的內(nèi)容將會(huì)持續(xù)增加。作為替換,數(shù)據(jù)輪盤也可以在服務(wù)流(例如,冰球比賽的初始廣播)結(jié)束時(shí)形成。這時(shí),數(shù)據(jù)輪盤有可能被完全填充,以便包含整個(gè)服務(wù)流。一旦出現(xiàn)了這種情況,數(shù)據(jù)輪盤就將被通告和傳送。根據(jù)落入上述兩種技術(shù)之間的另一種技術(shù),突發(fā)是在發(fā)生延遲之后置入數(shù)據(jù)輪盤中的。
[0054]與初始服務(wù)流的傳輸相似的是,來自數(shù)據(jù)輪盤的傳輸可以處于突發(fā)之中。這些突發(fā)可以與初始傳送的突發(fā)具有相同的持續(xù)時(shí)間以及時(shí)間間隔分離。作為替換,這些突發(fā)也可以具有不同于初始突發(fā)的持續(xù)時(shí)間和/或時(shí)間間隔分離。
[0055]設(shè)備可以接收關(guān)于數(shù)據(jù)輪盤服務(wù)的可用性的通知。這種通知可以處于數(shù)據(jù)輪盤可用之前,或者甚至可以處于初始服務(wù)流可用之前。與這些通知伴隨的可以是關(guān)于數(shù)據(jù)輪盤服務(wù)的可訪問性的信息(例如,輪盤起始時(shí)間,輪盤服務(wù)地址,輪盤服務(wù)帶寬,輪盤服務(wù)可用性的持續(xù)時(shí)間等)。這種信息可以由網(wǎng)絡(luò)運(yùn)營者在ESG中提供。
[0056]如上所述,設(shè)備可以通過分析時(shí)間戳來確定所接收的服務(wù)流中的一個(gè)或多個(gè)遺失部分。相應(yīng)地,根據(jù)數(shù)據(jù)輪盤服務(wù)的可訪問性,設(shè)備可以確定一個(gè)或多個(gè)恰當(dāng)?shù)摹伴_啟”時(shí)間,以便開始接收其遺失的服務(wù)流部分。在這種情況下,沒有必要向服務(wù)器(或網(wǎng)絡(luò)運(yùn)營者)傳送請(qǐng)求。
[0057]數(shù)據(jù)輪盤存儲(chǔ)服務(wù)流(例如視頻節(jié)目)的處理可以采用多種方式來實(shí)現(xiàn)。例如,服務(wù)流可以被分成多個(gè)表示分組或突發(fā)的數(shù)據(jù)文件。在實(shí)施例中,這些文件將會(huì)相互鏈接。此外,每個(gè)數(shù)據(jù)文件都可以具有識(shí)別信息,例如時(shí)間戳,由此可以將時(shí)間信息與特定分組相關(guān)聯(lián)(或者映射)。在這種情況下,設(shè)備可以使用數(shù)據(jù)輪盤來接收(和消費(fèi))先前接收的服務(wù)傳輸部分。
[0058]由此,終端設(shè)備可以使用數(shù)據(jù)輪盤來接收在接收中斷期間發(fā)生的服務(wù)傳輸?shù)哪承┎糠?。例如,終端設(shè)備可以“計(jì)數(shù)”在沒有中斷的情況下接收(和消費(fèi))傳輸流的持續(xù)時(shí)間。但是,當(dāng)出現(xiàn)中斷時(shí),終端設(shè)備將會(huì)存儲(chǔ)當(dāng)前計(jì)數(shù)值。這個(gè)計(jì)數(shù)值可以由終端設(shè)備使用(例如在后續(xù)的時(shí)間上使用),以便從輪盤服務(wù)中識(shí)別和取得剩余部分的服務(wù)流。
[0059]作為一個(gè)實(shí)例,冰球比賽的視頻流作為多個(gè)文件保存在數(shù)據(jù)輪盤中。這其中的每個(gè)文件都對(duì)應(yīng)于視頻流的總持續(xù)時(shí)間中的一個(gè)預(yù)定時(shí)間間隔(例如5分鐘)。當(dāng)終端設(shè)備請(qǐng)求從43分鐘開始下載剩余的比賽部分的時(shí)候,終端設(shè)備可以從覆蓋這個(gè)被請(qǐng)求時(shí)間的最早的文件(例如在40分鐘時(shí)開始的文件)開始接收傳輸。
[0060]重傳和/或數(shù)據(jù)輪盤服務(wù)可以經(jīng)由與初始傳輸相同的通信介質(zhì)來發(fā)送。但是,重傳和/或數(shù)據(jù)輪盤服務(wù)也可以使用其他的載體或介質(zhì)來傳送。例如,通過使用移動(dòng)電話網(wǎng)絡(luò),可以使用數(shù)據(jù)傳送能力。關(guān)于這種能力的實(shí)例包括通用分組無線電服務(wù)(GPRS)、增強(qiáng)型數(shù)據(jù)GSM演進(jìn)(EDGE)、通用移動(dòng)電信系統(tǒng)(UMTS)等。相應(yīng)地,這種傳輸?shù)奶匦钥梢允菃尾ザ皇嵌嗖ァ2煌ㄐ沤橘|(zhì)的使用可以響應(yīng)于終端設(shè)備請(qǐng)求而進(jìn)行。
[0061]V.分組輪盤
[0062]如上文中參考圖1所述,IPEllO是作為網(wǎng)關(guān)在分組網(wǎng)絡(luò)與廣播網(wǎng)絡(luò)之間工作的。在本發(fā)明的實(shí)施例中,一個(gè)或多個(gè)IPEllO可以提供一種在這里被稱為“分組輪盤”的特征。該分組輪盤可以采用透明方式與例如SRV106和F-SRV108之類的在應(yīng)用層實(shí)現(xiàn)的任何一種文件輪盤或消息傳遞系統(tǒng)一起工作。
[0063]圖3是示例性的文件輪盤方案的圖示。這個(gè)方案包括文件輪盤源302和分組輪盤提供方304。舉例來說,文件輪盤源302可以是M-SRV106或F-SRV108,而分組輪盤提供方304可以在IPEllO中實(shí)現(xiàn)。
[0064]在這個(gè)方案中,文件輪盤源302以恒定的(例如,低的)比特率輸出文件流306。流306可以包括多個(gè)文件,這些文件形成了一個(gè)動(dòng)態(tài)的文件輪盤。這個(gè)輪盤可以持續(xù)預(yù)定的時(shí)間量,例如一整天。在這一天里,文件可以被添加到輪盤中或者將其從輪盤中刪除,但是不能被改變。
[0065]分組輪盤提供方304實(shí)現(xiàn)“輪盤會(huì)話”。輪盤會(huì)話具有規(guī)定的使用壽命,在這個(gè)使用壽命期間,分組輪盤提供方304收集所接收的地址(例如IP地址)屬于規(guī)定的地址集的IP分組,并且會(huì)在具有可用于輪盤傳輸?shù)膸挄r(shí)廣播這些分組。所收集的這些分組和相關(guān)信息可以保存在一個(gè)或多個(gè)隊(duì)列中。這些隊(duì)列在這里被稱為“輪盤分組緩存器”。
[0066]圖4是根據(jù)本發(fā)明實(shí)施例的示例性操作的流程圖。這個(gè)操作可以由一個(gè)設(shè)備、例如IPEllO執(zhí)行。如圖4所示,這個(gè)操作包括步驟401,其中設(shè)備建立與諸如M-SRV106或F-SRV108之類的遠(yuǎn)程服務(wù)器的輪盤會(huì)話。在步驟402,該設(shè)備從這個(gè)服務(wù)器接收輪盤分組。
[0067]在步驟404,該設(shè)備確定先前是否已經(jīng)接收并在分組輪盤緩存器中保存了分組。如果是的話,則執(zhí)行步驟408,其中更新先前接收和存儲(chǔ)的分組的接收時(shí)間戳。否則,該操作將會(huì)前進(jìn)到步驟410。在步驟410中,所接收的分組將被添加到輪盤中。這個(gè)步驟可以包括將分組保存在存儲(chǔ)器中。
[0068]在步驟408和410之后是步驟412。在步驟412中,設(shè)備更新它的一個(gè)或多個(gè)分組輪盤數(shù)據(jù)結(jié)構(gòu)。這些數(shù)據(jù)結(jié)構(gòu)可以包括各種不同的指針,其中每一個(gè)指針都引用已經(jīng)保存在存儲(chǔ)器(例如輪盤分組緩存器)中的一個(gè)特定分組。相應(yīng)地,步驟412可以包括改變一個(gè)或多個(gè)指針?biāo)玫囊粋€(gè)或多個(gè)分組。[0069]在步驟414中,該設(shè)備確定是否滿足一個(gè)或多個(gè)清理?xiàng)l件,例如,是否到達(dá)所安排的清理時(shí)間。如果是的話,則操作前進(jìn)到步驟416。在這個(gè)步驟中,該設(shè)備從它的分組輪盤緩存器中移除一個(gè)或多個(gè)到期的分組。此外,與所移除的分組相關(guān)的信息也可以從輪盤數(shù)據(jù)結(jié)構(gòu)中刪除。
[0070]圖4的操作還包括對(duì)分組進(jìn)行傳輸。相應(yīng)地,在步驟418,該設(shè)備確定是否存在可用的傳輸帶寬。如果是的話,則在步驟420中根據(jù)可用帶寬數(shù)量來傳送分組輪盤緩存器中的一個(gè)或多個(gè)分組。所述一個(gè)或多個(gè)分組是根據(jù)排隊(duì)順序被選擇用于進(jìn)行傳輸?shù)摹?br> [0071]圖4的流程圖是作為說明性實(shí)例而不是限制提供的。相應(yīng)地,圖4的步驟既可以按照其他順序執(zhí)行,也可以并行執(zhí)行。并且這里圖示的一個(gè)或多個(gè)步驟是可以繞過的。此夕卜,在這里也可以包含另外的步驟。
[0072]V1.示例性架構(gòu)
[0073]A.概述
[0074]圖5顯示了可以用于執(zhí)行本發(fā)明的諸如圖4所示的操作序列之類的技術(shù)的架構(gòu)。參考圖1的環(huán)境,這種架構(gòu)可以在IPEllO中實(shí)現(xiàn)。圖5的架構(gòu)包括輪盤模塊501、過濾器模塊504以及信道隊(duì)列模塊509。這些部件可以采用硬件、軟件、固件或是其任意組合的形式實(shí)現(xiàn)。在涉及軟件的實(shí)施方式中,可以使用面向?qū)ο蟮拈_發(fā)技術(shù)。
[0075]如上所述,諸如IPEllO之類的設(shè)備從諸如M-SRV106和F-SRV108之類的不同信源接收分組。圖5示出了其中的每個(gè)分組都與一個(gè)特定流522相關(guān)聯(lián)。過濾器模塊504接收這些分組,并且基于與之關(guān)聯(lián)的流522而將其識(shí)別為輪盤分組或非輪盤分組。這種識(shí)別可以基于一個(gè)或多個(gè)規(guī)則(在這里也被稱為“過濾規(guī)則”)。舉例來說,過濾規(guī)則可以包括分組報(bào)頭中的地址字段值,這是因?yàn)檫@些值指示了特定的流。
[0076]一旦進(jìn)行了識(shí)別,過濾器模塊504就會(huì)將輪盤分組轉(zhuǎn)發(fā)到輪盤模塊501,并且將非輪盤分組轉(zhuǎn)發(fā)到信道隊(duì)列模塊509。舉例來說,圖5顯示了過濾器模塊504將關(guān)聯(lián)于流522a的分組轉(zhuǎn)發(fā)到輪盤模塊501并且將關(guān)聯(lián)于流522b?d的分組轉(zhuǎn)發(fā)到信道隊(duì)列模塊509。
[0077]輪盤模塊501存儲(chǔ)并處理輪盤分組,以便將其經(jīng)由傳輸介質(zhì)傳遞到一個(gè)或多個(gè)設(shè)備。這種傳遞(受信道隊(duì)列模塊509的控制)是以傳輸介質(zhì)的空閑帶寬可用性為基礎(chǔ)的。在下文中將會(huì)提供關(guān)于輪盤模塊501的結(jié)構(gòu)和性能的更多細(xì)節(jié)。
[0078]信道隊(duì)列模塊509對(duì)分組進(jìn)行排隊(duì),以便經(jīng)由諸如DVB或電纜網(wǎng)絡(luò)之類的傳輸介質(zhì)來傳送這些分組。如上所述,信道隊(duì)列模塊509接收來自過濾器模塊504的非輪盤分組。此外,信道隊(duì)列模塊509還接收來自輪盤模塊501的輪盤分組。這些輪盤分組是響應(yīng)于信道隊(duì)列模塊509發(fā)布的命令526而接收的。在實(shí)施例中,信道隊(duì)列模塊509會(huì)在一個(gè)或多個(gè)相應(yīng)傳輸介質(zhì)至少具有預(yù)定量的空閑帶寬的時(shí)候發(fā)布這個(gè)命令。
[0079]這個(gè)確定可以基于隊(duì)列長度統(tǒng)計(jì)信息,例如,信道隊(duì)列模塊509當(dāng)前排隊(duì)的分組數(shù)量。在實(shí)施例中,信道隊(duì)列模塊509嘗試保持其緩存器處于半滿狀態(tài)。由此,當(dāng)緩存器低于半滿狀態(tài)時(shí),信道隊(duì)列模塊509可以發(fā)布命令526。
[0080]如圖5所示,信道隊(duì)列模塊509產(chǎn)生一個(gè)傳輸分組序列524,以便在廣播網(wǎng)絡(luò)中進(jìn)行傳輸。相應(yīng)地,圖5不出了序列524可以被發(fā)送到某一個(gè)設(shè)備,例如MUX112。但是,在實(shí)施例中,流524可以被轉(zhuǎn)發(fā)到其他設(shè)備。
[0081]B.輪盤模塊[0082]如圖5所示,輪盤模塊501包含了分組輪盤存儲(chǔ)模塊502以及各種工作模塊。這些工作模塊包括接收機(jī)模塊505、發(fā)送機(jī)模塊506以及清理模塊508。
[0083]接收機(jī)模塊505從過濾器模塊504獲取輪盤分組,并且將這些分組(以及相關(guān)信息)保存在分組輪盤存儲(chǔ)模塊502中。舉例來說,輪盤分組保存在分組緩存器510中,而相關(guān)信息保存在各種不同的存儲(chǔ)部件中,并且在這里將這些部件稱為存取數(shù)據(jù)結(jié)構(gòu)。
[0084]發(fā)送機(jī)模塊506由來自信道隊(duì)列模塊509的命令526觸發(fā)。如上所述,這個(gè)命令是在至少存在預(yù)定數(shù)量的傳輸帶寬的時(shí)候發(fā)布的。命令526指定可以從分組輪盤存儲(chǔ)模塊502中取出一個(gè)或多個(gè)分組。由此,一旦接收到命令526,發(fā)送機(jī)模塊506就會(huì)向輪盤存儲(chǔ)模塊502發(fā)布一個(gè)取回指令538。響應(yīng)于這個(gè)指令538,從輪盤分組緩存器510 (處于輪盤存儲(chǔ)模塊502內(nèi)部)向信道隊(duì)列模塊509發(fā)送所存儲(chǔ)的一個(gè)或多個(gè)分組528,以便進(jìn)行排隊(duì)。但是,所存儲(chǔ)的這些分組沒有必要從緩存器510中刪除。此外,響應(yīng)于命令538,保存在輪盤存儲(chǔ)模塊502中并與一個(gè)或多個(gè)取回的分組相關(guān)聯(lián)的信息將被更新。在實(shí)施例中,這種更新處理是由發(fā)送機(jī)模塊506執(zhí)行的。
[0085]清理模塊508從輪盤分組緩存器510中刪除分組。一旦刪除了這些分組,清理模塊508還會(huì)刪除存取數(shù)據(jù)結(jié)構(gòu)(例如,比較表512、接收隊(duì)列514以及發(fā)送隊(duì)列516)中的相應(yīng)信息。這些刪除處理可以在發(fā)生某些事件和/或時(shí)間段終止的時(shí)候執(zhí)行。由此,清理模塊508可以有利地促進(jìn)分組輪盤存儲(chǔ)模塊502的有效存儲(chǔ)器使用。
[0086]C.分組輪盤存儲(chǔ)模塊
[0087]如圖5所示,分組輪盤存儲(chǔ)模塊502包括用于存儲(chǔ)輪盤數(shù)據(jù)的輪盤分組緩存器510。輪盤分組緩存器510保存從諸如M-SRV106和F-SRV108之類的設(shè)備接收的輪盤分組。在實(shí)施例中,每一個(gè)輪盤分組都被保存在輪盤分組緩存器510內(nèi)部的連續(xù)存儲(chǔ)器區(qū)域中。圖5顯示了單個(gè)輪盤分組緩存器510。但是,該架構(gòu)也可以包括多個(gè)分組緩存器。在這種架構(gòu)中,每一個(gè)分組都是完全地保存在單個(gè)分組緩存器內(nèi)部的。
[0088]此外,分組輪盤存儲(chǔ)模塊502還包括各種不同部件(在這里被稱為存取數(shù)據(jù)結(jié)構(gòu)),這些部件存儲(chǔ)與輪盤分組緩存器510中所存儲(chǔ)的分組相關(guān)的信息。在實(shí)施例中,這些數(shù)據(jù)結(jié)構(gòu)包括比較表512、接收隊(duì)列514以及發(fā)送隊(duì)列516。這其中的每個(gè)數(shù)據(jù)結(jié)構(gòu)都包含了與緩存器510中存儲(chǔ)的各個(gè)輪盤分組相關(guān)的信息。此外,這些數(shù)據(jù)結(jié)構(gòu)還可以包括指向緩存器510中的分組的指針。在實(shí)施例中,這些數(shù)據(jù)結(jié)構(gòu)是作為相鏈接的列表來組織的。這樣做提供了有效的存儲(chǔ)器使用。但是,其他存儲(chǔ)技術(shù)(例如陣列、容器類對(duì)象等)同樣是可以使用的。
[0089]比較表512可以由接收機(jī)模塊505訪問或“查找”,以便確定先前是否接收過每一個(gè)到來的輪盤分組。該比較表512包括多個(gè)表?xiàng)l目。其中每個(gè)條目都存儲(chǔ)了一個(gè)與輪盤分組緩存器510中的分組相對(duì)應(yīng)的值,例如散列值。此外,這其中的每個(gè)條目都可以包括一個(gè)指向接收隊(duì)列514中的條目的指針,以及一個(gè)指向發(fā)送隊(duì)列516中的條目的指針。另外,比較表512中的每個(gè)條目還都可以包括一個(gè)指向沖突列表的指針。
[0090]散列值是使用公式從諸如輪盤分組之類的數(shù)據(jù)記錄中計(jì)算得到的數(shù)值。這些數(shù)值提供了一組索引(也被稱為散列表)。由此,為了搜索包含某個(gè)特定數(shù)據(jù)(例如某個(gè)特定IP分組)的記錄,可以將公式應(yīng)用于接收的輪盤分組,以便獲取相應(yīng)的散列值。與搜索全部記錄直至發(fā)現(xiàn)匹配記錄相比,這種技術(shù)更為有效。由此,可以訪問比較表512來確定先前是否接收過特定到來分組(例如,是否存在匹配的散列值)。如果沒有的話,則將該輪盤分組視為是新的分組。
[0091]接收隊(duì)列514包含了多個(gè)條目,其中每個(gè)條目都對(duì)應(yīng)于輪盤分組緩存器510中的一個(gè)分組。這其中的每個(gè)條目都包含了相應(yīng)分組的一個(gè)索引值(例如散列值)。這個(gè)值被用于在比較表512中查找記錄。此外,這其中的每個(gè)條目都包含了相應(yīng)分組的接收時(shí)間戳。這個(gè)時(shí)間戳可以用于確定分組是否已經(jīng)到期。另外,每一個(gè)條目都包含了一個(gè)指向分組緩存器510中的分組的指針。
[0092]接收隊(duì)列514中的條目是根據(jù)其接收時(shí)間戳的值而按照時(shí)間先后順序排列的。有利的是,這種排列有助于有效移除到期的IP分組。接收隊(duì)列514可以采用多種方式實(shí)現(xiàn)。在其中一種實(shí)施方式中,接收隊(duì)列514是一個(gè)雙鏈接列表。除了具有多個(gè)條目之外,接收隊(duì)列514還可以包括指向特定條目的指針。例如,接收隊(duì)列514可以具有最新分組指針530和最老分組指針532。最新分組指針530指向接收隊(duì)列514的開頭。相比之下,最老分組指針532指向接收隊(duì)列514的末端。
[0093]在實(shí)施例中,每當(dāng)接收到分組時(shí)(無論它是否已經(jīng)被保存在輪盤分組緩存器510中),其接收時(shí)間戳都會(huì)被刷新。也就是說,接收時(shí)間戳將被設(shè)置成當(dāng)前時(shí)間。這種刷新操作是由接收機(jī)模塊504執(zhí)行的。
[0094]在各種不同時(shí)間上,將在至少預(yù)定數(shù)量的時(shí)間(也被稱為到期時(shí)段)內(nèi)未被接收或刷新的較早分組從接收隊(duì)列514的末端移除。如上所述,該移除可以是由清理模塊508執(zhí)行的。所述移除可以在發(fā)生某個(gè)或某些事件的時(shí)候進(jìn)行,例如,在插入新分組時(shí)進(jìn)行。此外,該移除操作可以在一個(gè)或多個(gè)安排的時(shí)間上進(jìn)行。例如,在實(shí)施例中,這個(gè)移除操作至少每半個(gè)到期時(shí)段就會(huì)執(zhí)行一次。當(dāng)移除分組時(shí),其相應(yīng)信息將會(huì)從其他存取數(shù)據(jù)結(jié)構(gòu)(即,t匕較表512、接收隊(duì)列514和發(fā)送隊(duì)列516)中移除。
[0095]發(fā)送隊(duì)列516包括多個(gè)條目,其中每一個(gè)條目都與輪盤分組緩存器510中的一個(gè)分組相對(duì)應(yīng)。這其中的每個(gè)條目都包含了一個(gè)指向相應(yīng)分組的指針。發(fā)送隊(duì)列516可以采用多種方式實(shí)現(xiàn)。在這樣的一個(gè)實(shí)施方式中,發(fā)送隊(duì)列516是雙鏈接列表。
[0096]發(fā)送隊(duì)列516被設(shè)置成確保輪盤分組緩存器510中的有效分組是按照指定順序發(fā)送的。例如,新的分組(例如從未被發(fā)送的分組)將被給予優(yōu)先級(jí)。更特別地,如果在輪盤分組緩存器510中有新的分組,那么這種新分組中的最老分組將被首先發(fā)送,其后跟隨的則是次最老分組,等等。但是,當(dāng)分組緩存器510不包含新分組時(shí),向具有最老先前發(fā)送時(shí)間的分組提供最高優(yōu)先級(jí)。
[0097]為了實(shí)施這種傳輸排序,在發(fā)送隊(duì)列516中可以指定各種不同的位置。例如,發(fā)送隊(duì)列516可以包括上一接收指針534和上一發(fā)送指針536。上一接收指針534指示將新的分組添加到發(fā)送隊(duì)列516中的哪個(gè)位置。上一發(fā)送指針536指示發(fā)送隊(duì)列516中與最近傳送的分組相對(duì)應(yīng)的記錄(或條目)。落入指針534與536之間的發(fā)送隊(duì)列516的條目對(duì)應(yīng)于從未發(fā)送過的輪盤分組,由此這些條目具有優(yōu)先級(jí)。如果在發(fā)送操作之后沒有這種分組,那么上一接收指針534和上一發(fā)送指針536將會(huì)一起前進(jìn)(例如遞增)。任何新分組都是在上一接收指針534之后添加的,然后該指針將會(huì)前進(jìn)到指向新分組。
[0098]如上所述,分組緩存器510包括一個(gè)或多個(gè)分組。這些分組保存在相關(guān)聯(lián)的存儲(chǔ)器空間中。每一個(gè)分組都是根據(jù)其相應(yīng)的散列值而處于這個(gè)存儲(chǔ)器空間中的。由此,根據(jù)其散列值,可以定位和操作分組緩存器510中的輪盤分組(例如插入、存取、刪除等)。在實(shí)施例中,為分組緩存器510分配了足夠的存儲(chǔ)器,由此可以避免分頁。這樣做有利地提高了執(zhí)行速度和存取時(shí)間。
[0099]D.接收和發(fā)送
[0100]如上所述,接收機(jī)模塊505對(duì)它從過濾器模塊504接收的輪盤分組進(jìn)行操作。例如,接收機(jī)模塊505使用強(qiáng)散列算法來對(duì)輪盤分組進(jìn)行散列計(jì)算。然后,在比較表512中查找所得到的散列值。這個(gè)查找操作使用雙散列處理。更特別地,接收機(jī)模塊505查找散列值中最后的預(yù)定數(shù)量、即η個(gè)比特。然后,如果需要,接收機(jī)模塊505查找散列值中的η個(gè)次最后比特,最后,查找沖突列表。
[0101]如果該查找操作在比較表512中沒有發(fā)現(xiàn)所述散列值,那么該輪盤分組是新的。相應(yīng)地,接收機(jī)模塊505將該輪盤分組置入輪盤分組緩存器510中。此外,接收機(jī)操作505還將相應(yīng)條目插入到比較表512中(可以重新使用先前刪除的散列表?xiàng)l目),并且將其插入到接收隊(duì)列514 (在頂部)以及發(fā)送隊(duì)列516中(在最近接收的描述符指針之后,然后該指針前進(jìn)到指向最新插入的描述符)。
[0102]如果查找操作在比較表512中發(fā)現(xiàn)所述散列值,那么接收機(jī)模塊505將會(huì)確定該分組輪盤分組是舊的。由此,接收機(jī)模塊505會(huì)將該分組的描述符置于接收隊(duì)列514的開頭,并且已被保存在分組緩存器510中的相應(yīng)分組的接收時(shí)間戳將被刷新。
[0103]如上所述,信道隊(duì)列模塊509接收來自不同流的分組。例如,圖5顯示了信道隊(duì)列模塊509從流522b、522c以及522d接收分組。此外,信道隊(duì)列模塊509還從輪盤分組緩存器510接收所取回的輪盤分組528 (它在圖5中被顯示成與流522a相關(guān)聯(lián))。信道隊(duì)列模塊509包含一個(gè)緩存器(未顯示),該緩存器對(duì)所接收的這些分組進(jìn)行排隊(duì),并且會(huì)在廣播傳輸介質(zhì)中例如在某個(gè)時(shí)間片上以某個(gè)可用傳輸速率來釋放分組。
[0104]當(dāng)信道隊(duì)列模塊509發(fā)布命令526時(shí),發(fā)送隊(duì)列516中的上一發(fā)送指針536將會(huì)前進(jìn)。如果上一接收指針534與上一發(fā)送指針536相同,那么這兩個(gè)指針會(huì)一起前進(jìn)。這時(shí),一旦得到來自發(fā)送機(jī)模塊506的指令,就可以將描述符現(xiàn)在指向的分組發(fā)送到信道隊(duì)列模塊 509。
[0105]E.存儲(chǔ)器分配
[0106]輪盤存儲(chǔ)模塊502的部件需要保存的信息量是預(yù)先已知的。由此,在實(shí)施例中,分組輪盤存儲(chǔ)模塊502的一個(gè)或多個(gè)部分(例如,分組緩存器510,比較表512,接收隊(duì)列514和/或發(fā)送隊(duì)列516)在大小上可以非常靈活。這種靈活性可以基于如下參數(shù),例如,估計(jì)分組大小參數(shù)518和估計(jì)分組數(shù)量參數(shù)520。根據(jù)這些參數(shù),可以預(yù)測出對(duì)存儲(chǔ)模塊502中的一個(gè)或多個(gè)部分的存儲(chǔ)器分配需求。這些參數(shù)越精確,存儲(chǔ)器分配就越有效。
[0107]但是,在其他實(shí)施例中,存儲(chǔ)器可以基于逐個(gè)分組而被靈活分配。例如,操作系統(tǒng)的存儲(chǔ)器分配器可被用于為每一個(gè)輪盤分組單獨(dú)分配累積(heap)空間。在其他實(shí)施例中,存儲(chǔ)器是在較大的存儲(chǔ)器部分或組塊中分配的,以便優(yōu)化分組分配。對(duì)這種分配技術(shù)而言,可以用某一個(gè)碼(例如第一個(gè)字節(jié)0x00)來標(biāo)識(shí)被刪除的分組。此外,后續(xù)字節(jié)也可用于存儲(chǔ)那些有助于存儲(chǔ)器分配處理重新使用存儲(chǔ)器的信息。
[0108]在這種實(shí)施例中,存儲(chǔ)模塊502可以包括它自己的輕型存儲(chǔ)器管理功能(例如軟件),其提供了諸如不返回到期分組的存儲(chǔ)器之類的特征。盡管如此,輪盤分組緩存器510是在分組輪盤存儲(chǔ)模塊502終止的時(shí)候釋放的(也就是說,其存儲(chǔ)器被返回給操作系統(tǒng))。
[0109]F.存取數(shù)據(jù)結(jié)構(gòu)的示例性實(shí)施方式
[0110]圖6是顯示比較表512、接收隊(duì)列514和發(fā)送隊(duì)列516的示例性實(shí)施方式的圖示。如圖6所不,比較表512包括多個(gè)散列表?xiàng)l目602。每一個(gè)條目602都包含了散列值604、接收隊(duì)列指針606、發(fā)送隊(duì)列指針608以及下一散列指針610。
[0111]每一個(gè)散列值604都是一個(gè)從相應(yīng)輪盤分組中計(jì)算得到的散列值。每一個(gè)接收隊(duì)列指針606和發(fā)送隊(duì)列指針608引用相應(yīng)輪盤分組在接收隊(duì)列514和發(fā)送隊(duì)列516中的相應(yīng)位置。在圖6的實(shí)例中,比較表512是作為鏈接列表實(shí)現(xiàn)的。相應(yīng)地,每一個(gè)下一散列指針610都指向下一條目602。
[0112]一個(gè)或多個(gè)沖突列表?xiàng)l目601可以與每一個(gè)條目602相關(guān)聯(lián)。沖突列表?xiàng)l目601被用于解析那些產(chǎn)生相同散列值的不同分組的標(biāo)識(shí)。如圖6所示,沖突列表?xiàng)l目601(類似于散列表?xiàng)l目602)包含散列值604、接收隊(duì)列指針606、發(fā)送隊(duì)列指針608以及下一散列指針610。下一散列指針610指向下一沖突條目601 (如果存在的話)。相應(yīng)散列表?xiàng)l目62中的指針(未顯示)可以指向相應(yīng)的沖突列表。
[0113]圖6的實(shí)例顯示了一個(gè)空的散列表?xiàng)l目6022。這種條目可以具有預(yù)定的值和指針(例如NULL)。在實(shí)施例中,前一表?xiàng)l目602i具有下一散列指針610,該指針并未引用空的散列表?xiàng)l目6022。取而代之的是,這個(gè)散列表?xiàng)l目引用散列表?xiàng)l目6023。
[0114]圖6顯示了具有最新指針530、最老指針5232以及多個(gè)條目611的接收隊(duì)列514。每一個(gè)條目611都包含了前一條目指針612、接收時(shí)間戳614、散列值616以及下一條目指針618。如上所述,每一個(gè)接收時(shí)間戳614都存儲(chǔ)了輪盤分組緩存器510中的相應(yīng)分組的最近時(shí)間戳。每一個(gè)散列值616都是從相應(yīng)輪盤分組值中計(jì)算得到的,并且使得能夠在分組緩存器510中定位分組。在圖6中,接收隊(duì)列514是作為雙鏈接列表實(shí)現(xiàn)的。由此,每一個(gè)前一條目指針612都引用了前一個(gè)條目611 (如果存在的話),并且每一個(gè)下一條目指針618都引用了下一個(gè)條目611 (如果存在的話)。
[0115]如圖6所示,發(fā)送隊(duì)列516包括上一接收指針534、上一發(fā)送指針536以及一個(gè)或多個(gè)條目619。每一個(gè)條目619都包含了前一條目指針620、散列值622以及下一條目指針624。每一個(gè)散列值622都是從相應(yīng)輪盤分組值中計(jì)算得到的,并且使得能夠在分組緩存器510中定位分組。在圖6中,發(fā)送隊(duì)列516是作為被配置為環(huán)形緩存器的雙鏈接列表實(shí)現(xiàn)的。因此,每一個(gè)前一條目指針620都引用了前一個(gè)條目619,并且每一個(gè)下一條目指針624都引用了下一個(gè)條目619。但是,對(duì)第一個(gè)條目(也就是條目61%)來說,前一條目指針620指向最后一個(gè)條目(也就是條目619n)。按照類似的方式,對(duì)最后一個(gè)條目619n來說,其下一指針624(也就是下一指針624n)指向第一個(gè)條目61%。
[0116]VI1.散列表
[0117]如上所述,散列值可以從接收的分組中計(jì)算得到。在實(shí)施例中,這其中的每個(gè)值都是在包括其一個(gè)或多個(gè)報(bào)頭的完整分組上計(jì)算得到的強(qiáng)壯散列值(例如MD5、SHA-1)。由此,對(duì)IP分組來說,這些散列值可以具有介于192與256個(gè)比特之間的長度。
[0118]在實(shí)施例中,用于計(jì)算IP散列值的算法非常強(qiáng)壯,由此使得對(duì)于實(shí)際目的而言具有相同散列值的不同IP分組的概率是可以忽略的。在使用鍵控散列算法的實(shí)施例中,所使用的鍵碼對(duì)給定分組輪盤的所有散列操作來說都必須是相同的。[0119]使用在IP分組上計(jì)算的散列值作為散列表索引,需要實(shí)現(xiàn)一個(gè)非常大的表格。但是,有利的是,強(qiáng)壯的散列算法允許將散列值中的最后η個(gè)比特用作索引。由此,本發(fā)明的實(shí)施例提供了一個(gè)大小為2η的散列表。η的典型值是在介于10與20之間的范圍內(nèi)。這些η值將會(huì)產(chǎn)生范圍介于1000與1000000之間的散列表大小,以及高達(dá)1.5GB的IP分組緩存器大小。
[0120]散列表的大小應(yīng)該被選擇為1g2 (“估計(jì)分組數(shù)量”)+1。但是,其它的η值也是可以使用的。在沒有給出“估計(jì)分組數(shù)量”或是“估計(jì)分組數(shù)量”過小(當(dāng)散列表中的實(shí)際分組數(shù)量接近于散列表的大小時(shí))的情況下,本發(fā)明的實(shí)施例會(huì)將比較表重新散列處理成較大的散列表(例如其大小的二倍)。執(zhí)行重新散列的判定可以基于會(huì)話持續(xù)時(shí)間以及新分組到達(dá)的速率(例如,對(duì)接近其使用壽命結(jié)束的分組輪盤不進(jìn)行重新散列,或者在可以估計(jì)出分組數(shù)量將會(huì)超過當(dāng)前散列表的大小的兩倍的時(shí)候不執(zhí)行重新刷新)。
[0121]當(dāng)在比較表512中查找輪盤分組的散列值時(shí)(通過使用最后η個(gè)比特作為散列索引來進(jìn)行),可能遭遇到具有相同的最后η個(gè)比特但整個(gè)值卻不同的散列值。當(dāng)出現(xiàn)這種沖突時(shí),本發(fā)明的實(shí)施例選取散列值中的η個(gè)次最后比特作為輔助散列索引。如果散列值中的η個(gè)次最后比特不同于比較表512中的值,那么將會(huì)檢查沖突列表。如上文中參考圖6所述,這樣的沖突列表可以包括一個(gè)或多個(gè)沖突列表?xiàng)l目601。
[0122]如果第一次散列操作導(dǎo)致產(chǎn)生一個(gè)空的單元(例如,在兩個(gè)指針字段中都具有NULL指針),或者如果第一次散列操作導(dǎo)致產(chǎn)生沖突,并且第二次散列操作導(dǎo)致產(chǎn)生空的單元,或者是如果第二次散列操作導(dǎo)致產(chǎn)生沖突并且不存在沖突列表,又或是如果存在一個(gè)在其中無法找到IP散列值的沖突列表,那么該分組不在所述比較表512中。
[0123]VII1.輪盤服務(wù)器
[0124]如上所述,輪盤分組可以由諸如M-SRV106和F-SRV108之類的設(shè)備從文件中產(chǎn)生。在實(shí)施例中,這些設(shè)備始終為每一個(gè)文件產(chǎn)生一個(gè)或多個(gè)相同分組。這樣做確保了文件的重復(fù)傳輸產(chǎn)生相同的分組集合,并且輪盤分組緩存器不會(huì)無意地包含同一分組的多個(gè)拷貝。
[0125]在本發(fā)明的實(shí)施例中,服務(wù)器通過不在分組中放置時(shí)間戳來產(chǎn)生相同的重復(fù)分組集合。舉例來說,由M-SRV106或F-SRV產(chǎn)生的IP輪盤分組可以包含一個(gè)時(shí)間戳字段,該字段具有預(yù)定的不變(“或靜態(tài)”)的值。在使用了圖5的架構(gòu)的實(shí)施例中,接收機(jī)模塊505可以使用其接收到輪盤分組時(shí)的實(shí)際時(shí)間戳值來替換這些靜態(tài)值。
[0126]IX.會(huì)話
[0127]如上文中參考步驟401所述,內(nèi)容提供者可以與設(shè)備建立會(huì)話。這種設(shè)備(例如IPE110)對(duì)應(yīng)于廣播網(wǎng)絡(luò)。典型的會(huì)話(也稱為“轉(zhuǎn)發(fā)會(huì)話”)是其中每一個(gè)接收的分組只廣播一次的會(huì)話,由此該會(huì)話必須適合于廣播網(wǎng)絡(luò)中的已分配帶寬(例如時(shí)間片)。參考圖5的架構(gòu),來自于M-SRV106或F-SRV108的轉(zhuǎn)發(fā)會(huì)話的分組(或是轉(zhuǎn)發(fā)分組流)會(huì)直接從過濾器模塊504傳遞到信道隊(duì)列模塊509。
[0128]在本發(fā)明的實(shí)施例中,可以與諸如M-SRV106和/或F-SRV108之類的設(shè)備建立輪盤會(huì)話。在這種會(huì)話中,處于輪盤分組流中的輪盤分組被接收和處理,以便進(jìn)行重復(fù)傳輸。在實(shí)施例中,這種處理是根據(jù)這里描述的技術(shù)執(zhí)行的。
[0129]為了建立會(huì)話,服務(wù)器與分組輪盤提供設(shè)備(例如IPE110)可以參與各種通信。這種通信可以包括設(shè)定一個(gè)或多個(gè)用于定義會(huì)話的參數(shù)。下文中的表1提供了一個(gè)示例性的會(huì)話參數(shù)集合。
[0130]表1
[0131]
【權(quán)利要求】
1.一種用于緩存分組的裝置,包括: 過濾器模塊(504),被配置成從多個(gè)所接收分組中識(shí)別出一個(gè)或多個(gè)輪盤分組,所述分組是從基于分組的網(wǎng)絡(luò)(102)接收的; 分組緩存器(510),被配置成存儲(chǔ)由所述過濾器模塊所識(shí)別的一個(gè)或多個(gè)輪盤分組; 信道隊(duì)列模塊(509),被配置為對(duì)分組進(jìn)行排隊(duì),以便經(jīng)由廣播傳輸介質(zhì)進(jìn)行傳輸,其中,當(dāng)所述廣播傳輸介質(zhì)具有至少預(yù)定數(shù)量的空閑帶寬時(shí)所述信道隊(duì)列模塊(509)向所述分組緩存器(510)發(fā)布命令,并且響應(yīng)于所述命令而接收來自所述分組緩存器(510)的一個(gè)或多個(gè)輪盤分組,所述信道隊(duì)列模塊(509)被配置為輸出將被廣播在所述廣播傳輸介質(zhì)上的所排隊(duì)的分組。
2.根據(jù)權(quán)利要求1的裝置,其中廣播傳輸介質(zhì)是數(shù)字廣播網(wǎng)絡(luò)(104)。
3.根據(jù)權(quán)利要求2的裝置,其中數(shù)字廣播網(wǎng)絡(luò)(104)是手持式DVB(DVB-H)網(wǎng)絡(luò)(104b)。
4.根據(jù)權(quán)利要求2的裝置,其中數(shù)字廣播網(wǎng)絡(luò)(104)是DVB陸地(DVB-T)網(wǎng)絡(luò)(104b)。
5.根據(jù)權(quán)利要求1的裝置,其中所述廣播傳輸介質(zhì)是電纜網(wǎng)絡(luò)(104c)。
6.根據(jù)權(quán)利要求1的裝置,還包括: 比較表(512),用于存儲(chǔ)一個(gè)或多個(gè)索引值,每一個(gè)索引值與所述分組緩存器(510)中的特定輪盤分組相對(duì)應(yīng)。
7.根據(jù)權(quán)利要求6的裝`置,其中每一個(gè)索引值是從相應(yīng)輪盤分組中計(jì)算得到的散列值(516)。
8.根據(jù)權(quán)利要求6的裝置,還包括: 具有一個(gè)或多個(gè)條目的接收隊(duì)列(514),每一個(gè)條目與所述分組緩存器(510)中存儲(chǔ)的特定輪盤分組相對(duì)應(yīng),其中所述一個(gè)或多個(gè)條目是根據(jù)所述分組緩存器(510)中的一個(gè)或多個(gè)輪盤分組的接收時(shí)間戳值而按照時(shí)間先后順序排列的。
9.根據(jù)權(quán)利要求6的裝置,還包括: 具有一個(gè)或多個(gè)條目的發(fā)送隊(duì)列(516),每一個(gè)條目與所述分組緩存器(510)中存儲(chǔ)的特定輪盤分組相對(duì)應(yīng); 其中,所述發(fā)送隊(duì)列(516)還包括上一接收指針(534)和上一發(fā)送指針(536),其中所述上一接收指針指示要添加與新分組相對(duì)應(yīng)的條目的位置,而所述上一發(fā)送指針指示與所述分組緩存器(510)中的最近發(fā)送到所述信道隊(duì)列模塊(509)的輪盤分組相對(duì)應(yīng)的條目。
10.根據(jù)權(quán)利要求1的裝置,其中信道隊(duì)列模塊(509)進(jìn)一步接收來自所述過濾器模塊(504)的轉(zhuǎn)發(fā)分組。
11.根據(jù)權(quán)利要求1的裝置,其中所接收的多個(gè)分組是網(wǎng)際協(xié)議(IP)分組。
12.一種在裝置中用于緩存分組的方法,包括: 與遠(yuǎn)程服務(wù)器建立輪盤會(huì)話; 接收來自所述遠(yuǎn)程服務(wù)器的輪盤分組; 當(dāng)該分組先前未被接收過時(shí),將所接收的輪盤分組添加到存儲(chǔ)模塊(502)中的分組緩存器(510)中,否則,當(dāng)先前接收了該輪盤分組并且已將其存入了所述分組緩存器(510)中時(shí),更新所述分組緩存器(510)中的該接收輪盤分組的時(shí)間戳; 基于所接收的輪盤分組來更新所述存儲(chǔ)模塊(502)中的比較表(512)、接收隊(duì)列(514)和發(fā)送隊(duì)列(516)中的一個(gè)或多個(gè); 從信道隊(duì)列模塊(509)接收廣播傳輸介質(zhì)中的可用帶寬的指示; 響應(yīng)于該指示,將所述分組緩存器(510)中存儲(chǔ)的一個(gè)或多個(gè)輪盤分組發(fā)送到所述信道隊(duì)列模塊(509);以及 輸出將被廣播在所述廣播傳輸介質(zhì)上的來自所述信道隊(duì)列模塊(509)的所排隊(duì)的分組。
13.根據(jù)權(quán)利要求12的方法,還包括: 一旦出現(xiàn)了清理?xiàng)l件,就從所述分組緩存器(510)中移除一個(gè)或多個(gè)輪盤分組。
14.根據(jù)權(quán)利要求13的方法,其中所述清理?xiàng)l件是到達(dá)到期時(shí)間段。
15.根據(jù)權(quán)利要求12的方法,其中所述比較表(512)、接收隊(duì)列(514)和發(fā)送隊(duì)列(516)包括: 用于存儲(chǔ)一個(gè)或多個(gè)索引值的比較表(512),每一個(gè)索引值對(duì)應(yīng)于所述分組緩存器(510)中的特定輪盤分組。
16.根據(jù)權(quán)利要求15的方法,其中每個(gè)索引值是從相應(yīng)輪盤分組中計(jì)算得到的散列值(616)。
17.根據(jù)權(quán)利要求12的方法,其中所述輪盤分組是與靜態(tài)時(shí)間戳值相關(guān)聯(lián)的網(wǎng)際協(xié)議(IP)分組。`
18.根據(jù)權(quán)利要求12的方法,其中當(dāng)所述廣播傳輸介質(zhì)具有至少預(yù)定數(shù)量的空閑帶寬時(shí)所述信道隊(duì)列模塊(509)向所述分組緩存器(510)分布命令。
19.根據(jù)權(quán)利要求18的方法,其中廣播傳輸介質(zhì)是數(shù)字廣播網(wǎng)絡(luò)(104)。
20.根據(jù)權(quán)利要求19的方法,其中數(shù)字廣播網(wǎng)絡(luò)(104)是手持式DVB(DVB-H)網(wǎng)絡(luò)(104b)。
21.根據(jù)權(quán)利要求19的方法,其中數(shù)字廣播網(wǎng)絡(luò)(104)是DVB陸地(DVB-T)網(wǎng)絡(luò)(104b)。
22.根據(jù)權(quán)利要求18的方法,其中廣播傳輸介質(zhì)是電纜網(wǎng)絡(luò)(104c)。
23.根據(jù)權(quán)利要求12的方法,其中與遠(yuǎn)程服務(wù)器建立輪盤會(huì)話包括:與遠(yuǎn)程服務(wù)器進(jìn)行通信,以便設(shè)定一個(gè)或多個(gè)用于定義所述輪盤會(huì)話的會(huì)話參數(shù)。
24.一種計(jì)算機(jī)程序產(chǎn)品,包括: 計(jì)算機(jī)可讀介質(zhì),其具有記錄于其上的計(jì)算機(jī)程序邏輯,用于使得計(jì)算機(jī)系統(tǒng)中的處理器(704)能夠處理分組,所述計(jì)算機(jī)程序邏輯包括: 用于使得所述處理器(704)能夠與遠(yuǎn)程服務(wù)器建立輪盤會(huì)話的程序代碼;用于使得所述處理器(704)能夠接收來所述自遠(yuǎn)程服務(wù)器的輪盤分組的程序代碼;用于使得所述處理器(704)能夠當(dāng)該分組先前未被接收過時(shí),將所接收的輪盤分組添加到存儲(chǔ)模塊(502)中的分組緩存器(510)中,以及使得所述處理器(704)能夠否則當(dāng)先前接收了該輪盤分組并且已將其存入了所述分組緩存器(510)中時(shí),更新所述分組緩存器(510)中的該接收輪盤分組的時(shí)間戳的程序代碼; 用于使得所述處理器(704)能夠基于所接收的輪盤分組來更新所述存儲(chǔ)模塊(502)中的比較表(512)、接收隊(duì)列(514)和發(fā)送隊(duì)列(516)中的一個(gè)或多個(gè)的程序代碼; 用于使得所述處理器(704)能夠從信道隊(duì)列模塊(509)接收廣播傳輸介質(zhì)中的可用帶寬的指示的程序代碼; 用于使得所述處理器(704)能夠響應(yīng)于該指示,將所述分組緩存器(510)中存儲(chǔ)的一個(gè)或多個(gè)輪盤分組發(fā)送到所述信道隊(duì)列模塊(509)的程序代碼;以及 用于使得所述處理器(704)能夠輸出將被廣播在所述廣播傳輸介質(zhì)上的來自所述信道隊(duì)列模塊(509)的所排隊(duì) 的分組的程序代碼。
【文檔編號(hào)】H04H1/00GK103560848SQ201310530483
【公開日】2014年2月5日 申請(qǐng)日期:2005年10月27日 優(yōu)先權(quán)日:2004年11月1日
【發(fā)明者】多米尼克·穆勒, 拉里·韋莫拉, 哈里·佩克寧 申請(qǐng)人:瑞高基礎(chǔ)設(shè)施公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
会宁县| 肇东市| 吉林省| 赫章县| 罗江县| 依安县| 邢台市| 云龙县| 垫江县| 三门县| 武强县| 定日县| 凤阳县| 阿图什市| 察哈| 五莲县| 陆丰市| 广昌县| 临洮县| 绥化市| 时尚| 出国| 剑阁县| 云阳县| 巩义市| 武威市| 永吉县| 阿荣旗| 诸暨市| 营山县| 林州市| 洛浦县| 泸水县| 洪洞县| 北辰区| 通辽市| 双辽市| 岳普湖县| 姚安县| 上栗县| 大港区|