專利名稱:組播數(shù)據(jù)傳送的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及同時向多個主機傳送信息。尤其是,本發(fā)明涉及用于在通信系統(tǒng)中向多個主機傳送文本,音頻,視頻或其它數(shù)據(jù)的設(shè)備和方法。
背景技術(shù):
通過網(wǎng)絡(luò)從源向多個用戶發(fā)送數(shù)據(jù)的方法屬于3個類別中的一個。單播(unicast)是點到點傳送機制,其中源發(fā)送每個用戶的單獨數(shù)據(jù)流。發(fā)送的數(shù)據(jù)量隨用戶數(shù)量的增加而線性提高,從而在接收方數(shù)量較大的情況下導致不可接受的高資源消耗。其余2個類別是點到多點或多點到多點傳送機制。廣播是指向網(wǎng)絡(luò)上的所有主機傳輸數(shù)據(jù)。雖然這在小型網(wǎng)絡(luò)中有效,然而當在具有許多用戶的廣域網(wǎng)中使用時需要復(fù)制大量數(shù)據(jù)分組。此外,在數(shù)據(jù)與大部分接收方無關(guān)時,這個方法是相當浪費的。
第三個類別是組播(multicast),這是一種向選定用戶組同時傳輸數(shù)據(jù)的類別。組播在需要以流的方式向多個用戶實時傳送內(nèi)容的領(lǐng)域,例如新聞傳播,在線游戲,數(shù)字視頻廣播(DVB)和視頻會議中特別有用。在″Multicast Networking and Application″,C.Kenneth Miller,Addison-Wesley 1988[ISBN 0-201-30979-3]和″Deploying IPMULTICAST in the Enterprise″,T.Maufer,Prentice Hall PTR,1998[ISBN 0-13-897687-2]中提供了這種技術(shù)的綜述。在″MultimediaBroadcast/Multicast Service″,3rdGeneration Partnership ProiectTechnical Specification 3GPPTMTS 22.146 v1 2001中討論了組播在蜂窩無線接入網(wǎng)絡(luò)中的應(yīng)用。
圖1是用于從內(nèi)容提供商,即主機2通過例如因特網(wǎng)的第一網(wǎng)絡(luò)4和無線接入網(wǎng)絡(luò)5向多個接收主機3組播信息的現(xiàn)有通信系統(tǒng)1的模塊圖。為了簡單,通過因特網(wǎng)4的數(shù)據(jù)路徑6被描述為無需中間階段而直接從內(nèi)容提供商2延伸到路由器7,所述中間階段例如為其它發(fā)送器,路由器或服務(wù)器,可以位于這些節(jié)點之間。從內(nèi)容提供商2到接收主機3a-3c的數(shù)據(jù)路徑在路由器7處分叉。出現(xiàn)這種分叉的情況包含其中接收主機3不屬于相同子網(wǎng)的情況,其中接收主機3由不同發(fā)送器8服務(wù)的情況,或其中無線接入網(wǎng)絡(luò)5不支持組播的情況。
不是針對每個單獨接收主機3a,3b發(fā)送數(shù)據(jù)分組A-D的單獨流,而是由內(nèi)容提供商2提供單個數(shù)據(jù)流6,數(shù)據(jù)流6通過因特網(wǎng)4被發(fā)送到針對各個接收主機3a,3b的路徑發(fā)生分叉的點,在這個例子中該點包括路由器7。在該點處,分組的數(shù)據(jù)流被復(fù)制以便分別向前傳輸?shù)浇邮罩鳈C3a,3b,路由器7支持組播,以便進行數(shù)據(jù)的復(fù)制。應(yīng)當理解,網(wǎng)絡(luò)中的其它路由器(未示出)也是支持組播的,使得數(shù)據(jù)能夠被分別組播到其它接收主機。于是,路由器7拷貝傳入數(shù)據(jù)分組A-E,從而產(chǎn)生復(fù)制數(shù)據(jù)流9a,9b以便傳輸?shù)浇邮罩鳈C3a,3b。由于內(nèi)容提供商2只發(fā)送單個數(shù)據(jù)流6,與單播系統(tǒng)相比,其系統(tǒng)資源使用和網(wǎng)絡(luò)負載得到降低。此外,由于復(fù)制數(shù)據(jù)的傳輸保持最小,可以在廣播不可行的廣域網(wǎng)中使用組播。
存在兩種組播服務(wù)。在第一種服務(wù)中,內(nèi)容提供商具有用于向一組終端用戶提供預(yù)定服務(wù)的保留帶寬。第二種服務(wù)允許終端用戶選擇為其提供的服務(wù)。在兩種情況下,通過以互聯(lián)網(wǎng)工程任務(wù)組(IETF)指定的格式向內(nèi)容提供商發(fā)送消息以提交入組請求,用戶能夠接收組播數(shù)據(jù)流。用戶能夠通過提交相應(yīng)請求來離開組播組。
組播是用于為終端用戶提供連續(xù)服務(wù)的適當機制,但是對于″一次性(one-shot)″傳輸具有有限的實用性。例如,一組用戶可能需要傳送文件,例如多媒體片段,Web頁面,MP3文件,應(yīng)用程序或游戲的文檔或軟件模塊。再次參照圖1,接收主機3a,3b的用戶均可以向內(nèi)容提供商2請求包括數(shù)據(jù)分組A-E的文件。當路由器7接收數(shù)據(jù)流6時,數(shù)據(jù)分組被拷貝和轉(zhuǎn)發(fā)到無線發(fā)送器8,無線發(fā)送器8通過無線網(wǎng)絡(luò)向接收主機3a,3b發(fā)送作為數(shù)據(jù)流9a,9b的封裝數(shù)據(jù)分組。
然而,當前沒有提供允許主機加入正在進行的文件傳送傳輸?shù)姆桨?,所以在傳輸開始之后請求文件的第三主機3c會被排除在組播文件傳送傳輸之外。即使第三主機3c想要加入文件傳送傳輸,數(shù)據(jù)分組A-C仍會被錯過,并且主機3c的用戶可能會需要整個文件。這種排除增加了傳輸只被少量接收方或甚至單個用戶接收的可能性。通過重復(fù)文件傳送傳輸,滿足在數(shù)據(jù)分組A-E的傳送已經(jīng)開始之后提交的請求。
現(xiàn)有系統(tǒng)通過規(guī)定對即將來臨的傳輸?shù)恼{(diào)度解決了這些問題。使用能夠預(yù)訂特定文件或文件集合的傳送列表,并且在所調(diào)度的下一時機接收有關(guān)數(shù)據(jù)。然而由于一旦文件傳送傳輸已經(jīng)開始,則需要相同文件的任何其他用戶便被排除并且必須預(yù)訂所調(diào)度的下一傳輸,因此這種傳送機制不直接響應(yīng)用戶要求,并且是不靈活的。
另外,主機3b可以丟棄一或多個分組,或在已經(jīng)接收第一批數(shù)據(jù)分組A-C的情況下,變得不能接收文件傳送傳輸中的其余分組D,E。主機3b不能利用其已經(jīng)接收的數(shù)據(jù)分組,并且為了接收整個文件,即數(shù)據(jù)分組A-E,必須等待文件傳送傳輸,這會使得必須加入另一個組播組。
在用于組播數(shù)據(jù)到移動設(shè)備的系統(tǒng)中,與″一次性″傳輸相關(guān)的問題加重。尤其是,通過蜂窩通信網(wǎng)絡(luò)接收數(shù)據(jù)分組的移動設(shè)備可能在加入組時位于第一小區(qū),而在文件傳送傳輸期間進入不同小區(qū)。由于移動設(shè)備不再處于第一小區(qū)中,該移動設(shè)備不能接收文件傳送傳輸中的其余數(shù)據(jù)分組。
為滿足其它主機或丟棄的分組而進行的文件傳送傳輸?shù)闹貜?fù)降低了與組播相關(guān)的效率增益,并且增加了空中接口帶寬上的負載。隨著用于提供因特網(wǎng)類型服務(wù)的空中接口的使用的增加,對空中接口帶寬的高效利用會變得越來越重要。
發(fā)明內(nèi)容
本發(fā)明的一個目的是以更加滿足用戶需求、尤其適用于可伸縮組播,例如單向IP組播的方式提供組播文件傳送。本發(fā)明在包括蜂窩電信網(wǎng)絡(luò)的用于向移動設(shè)備傳送數(shù)據(jù)的系統(tǒng)中尤其有優(yōu)勢,在該蜂窩電信網(wǎng)絡(luò)中用戶可以在數(shù)據(jù)傳輸過程期間在小區(qū)之間移動。本發(fā)明的另一個目的是提供空中接口帶寬的高效利用。
根據(jù)本發(fā)明的第一方面,一種支持組播網(wǎng)絡(luò)單元包括用于從內(nèi)容提供商接收文件的第一邏輯接口;用于將所述文件作為文件傳送傳輸中的數(shù)據(jù)分組序列轉(zhuǎn)發(fā)到一或多個主機的第二邏輯接口;和用于定義一或多個主機的組的處理器,其中可以響應(yīng)來自其它主機的請求的接收而將所述其它主機加到該組中,該組限于位于單個位置區(qū)域內(nèi)的其它主機;其中所述服務(wù)器被構(gòu)造成用于向該組發(fā)送文件,使得在數(shù)據(jù)分組序列的傳輸期間加入該組的所述其它主機接收所述序列中的其余數(shù)據(jù)分組。
根據(jù)本發(fā)明的第二方面,一種通過網(wǎng)絡(luò)進行文件傳送的方法包括步驟在網(wǎng)絡(luò)單元處接收來自第一主機的針對該文件的請求;從內(nèi)容提供商得到文件;定義包括第一主機的組;將該文件作為文件傳送傳輸中的數(shù)據(jù)分組序列轉(zhuǎn)發(fā)到該組;和向該組加入在所述文件傳送傳輸期間提交針對該文件的請求的任何其它主機,使得所述其它主機接收所述文件傳送傳輸中的其余數(shù)據(jù)分組,其中該組限于和第一主機位于相同位置區(qū)域的其它接收主機。
這個方面還提供一種包括程序指令的計算機程序,所述程序指令用于使網(wǎng)絡(luò)單元執(zhí)行上述方法。
根據(jù)本發(fā)明的第三方面,一種使主機通過網(wǎng)絡(luò)得到文件的方法包括步驟向網(wǎng)絡(luò)單元發(fā)送加入組的請求;接收由網(wǎng)絡(luò)單元發(fā)送的開始分組,該開始分組配置該網(wǎng)絡(luò)單元和該主機之間的連接;接收網(wǎng)絡(luò)單元在第一文件傳送傳輸中發(fā)送的數(shù)據(jù)分組序列;按照其適當順序排列數(shù)據(jù)分組序列;和接收包括數(shù)據(jù)分組序列的第二文件傳送傳輸;其中通過在第二文件傳送傳輸中得到相應(yīng)數(shù)據(jù)分組,主機得到在第一文件傳送傳輸中丟棄或錯過的任何數(shù)據(jù)分組。
本發(fā)明允許用戶加入一個組,接收正在進行的文件傳輸中的其余數(shù)據(jù)分組,和在后續(xù)文件傳輸中接收任何錯過的數(shù)據(jù)分組。因此,從來自主機的文件請求的提交到完成文件傳送的時間周期對于所有主機而言近似相同,盡管會存在由服務(wù)器發(fā)送用于配置連接的附加分組所導致的小延遲。這與現(xiàn)有排隊系統(tǒng)中經(jīng)歷的時間周期相比是有利的(其中在現(xiàn)有排隊系統(tǒng)中,主機必須等待,直到前一文件傳送傳輸已經(jīng)完成),從而導致提高數(shù)據(jù)傳輸速率,并且能夠保證服務(wù)質(zhì)量。
此外,加入正在進行的傳輸并且接收序列中的其余數(shù)據(jù)分組的能力有助于其中數(shù)據(jù)分組已經(jīng)被錯過或丟棄,或者其中到接收主機的文件傳送路徑在傳輸期間改變的文件的高效傳送。
下面參照附圖描述本發(fā)明的一個實施例,其中圖1是現(xiàn)有技術(shù)通信系統(tǒng)的模塊圖;圖2是在文件傳送處理的第一階段基于本發(fā)明實施例的通信系統(tǒng)的模塊圖;圖3是服務(wù)器執(zhí)行的基于本發(fā)明實施例的組播處理的流程圖;圖4是在文件傳送處理的第二階段圖2示出的通信系統(tǒng)部分的模塊圖;圖5是在文件傳送處理的第三階段圖2示出的通信系統(tǒng)部分的模塊圖;圖6是基于本發(fā)明實施例的服務(wù)器的模塊圖;而圖7描述了用于本發(fā)明的一個實施例的移動手機終端。
具體實施例方式
圖2描述了用于組播文件傳送的通信系統(tǒng)10的實施例,通信系統(tǒng)10包括多媒體內(nèi)容提供商2,接收主機3a-3c,包含用于執(zhí)行路由器的功能的裝置的服務(wù)器7,無線發(fā)送器8和高速緩存11。從內(nèi)容提供商2到接收主機3a-3c的數(shù)據(jù)路徑具有通過因特網(wǎng)4在內(nèi)容提供商2和服務(wù)器7之間延伸的公共部分6,并且在服務(wù)器7處分叉,服務(wù)器7是到各個接收主機3a-3c的數(shù)據(jù)路徑中位于空中接口之前的最后網(wǎng)絡(luò)單元。數(shù)據(jù)路徑5可以包含其它單元,例如其它發(fā)送器,路由器或服務(wù)器,并且可以位于內(nèi)容提供商2和服務(wù)器7之間。
在這個特定例子中,接收主機3a-3c是屬于蜂窩無線DVB-T廣域網(wǎng)(WAN)5的移動設(shè)備。在圖2中,3個接收主機3a-3c位于由單個DVB-T小區(qū)C1覆蓋的區(qū)域中,DVB-T小區(qū)C1由小區(qū)邊界12定義,并且與發(fā)送器8相關(guān)。DVB-T小區(qū)C1覆蓋的區(qū)域被用來定義接收主機3的位置,使得在這個例子中接收主機3a-3c具有共同位置。服務(wù)器7向無線發(fā)送器8轉(zhuǎn)發(fā)組播數(shù)據(jù),無線發(fā)送器8根據(jù)適當通信協(xié)議通過DVB-T網(wǎng)絡(luò)5向接收主機發(fā)送數(shù)據(jù)。適當協(xié)議包含但不限于以下協(xié)議可靠組播傳送協(xié)議(RMTP),可靠組播文件傳送協(xié)議(RMFTP),異步分層編碼(ALC),面向NACK的可靠組播(NORM),實用通用組播(PGM),基于樹確認的協(xié)議(TRACK),用戶數(shù)據(jù)報協(xié)議(UDP)和單向超文本傳送協(xié)議(UHTTP)。會話公告協(xié)議(SAP)也可以被用于向接收主機3a-3c發(fā)送服務(wù)信息。
在這個DVB-T網(wǎng)絡(luò)5僅被用于單向通信的例子中,通過替代通信系統(tǒng),例如蜂窩電信網(wǎng)絡(luò)13進行接收主機3a和服務(wù)器7之間的包含文件請求(REQ)的通信。在附圖中,使用實線指示通過因特網(wǎng)4或DVB-T網(wǎng)絡(luò)5進行的文件數(shù)據(jù)的傳輸,使用虛線示出通過電信網(wǎng)絡(luò)13的通信。接收主機3a-3c可以在屬于單個DVB-T小區(qū)C1的同時屬于電信網(wǎng)絡(luò)13中的不同小區(qū),甚至屬于單獨的電信網(wǎng)絡(luò),然而為了簡單,附圖中只描述單個電信網(wǎng)絡(luò)13和相關(guān)的發(fā)送器14。
參照圖3描述服務(wù)器7所遵循的文件傳送過程的實施例。從步驟s0開始,服務(wù)器7通過電信網(wǎng)絡(luò)13從接收主機3a接收文件(例如多媒體片段,或MP3格式的流行歌曲)請求(步驟s1)。來自接收主機3a的請求包含有關(guān)其位置的信息,所述位置是就接收主機3a位于的DVB-T小區(qū)C1而言的。
服務(wù)器7向內(nèi)容提供商2請求文件(步驟s2),內(nèi)容提供商2通過向服務(wù)器7發(fā)送文件和相關(guān)傳送消息來作出響應(yīng)。傳送消息包含有關(guān)文件建立時間的信息,和有關(guān)其下一次被更新的時間的指示。文件和傳送消息被存儲在高速緩存11中。
服務(wù)器7定義一個組,并且用指示已經(jīng)請求文件并且位于該位置區(qū)域內(nèi),即位于相同DVB-T小區(qū)C1覆蓋的區(qū)域內(nèi)的接收主機3的項,來設(shè)置相應(yīng)文件傳送列表(步驟s3)。在這個階段,列表僅包含涉及接收主機3a的一個項,盡管如果在得到文件期間從另一個接收主機接收針對相同文件的請求(步驟s4),則服務(wù)器7會檢查新接收主機是否與第一接收主機3a位于相同DVB-T小區(qū)C1內(nèi)(步驟s5)。
如果是,通過將相應(yīng)項添加到文件傳送列表中,在這個階段將新接收主機加到組中(步驟s6)。如果新接收主機在第二位置,例如第二DVB-T小區(qū)C2處,則服務(wù)器7可以針對該位置建立單獨的文件傳送列表,或者在針對第二位置C2的文件傳送列表已經(jīng)存在的情況下,向相關(guān)列表添加新接收主機。
服務(wù)器7通過無線發(fā)送器8向第一接收主機3a發(fā)送″開始″分組ST(步驟s7)。開始分組ST也被發(fā)送到當前在組中的任何其他接收主機。開始分組ST與進行″握手″過程以建立服務(wù)器7和接收主機3a之間的連接的應(yīng)用程序相關(guān)。
某些通信協(xié)議,例如NORM或PGM需要接收主機3a向服務(wù)器7發(fā)送否定確認(NACK),表明尚未接收數(shù)據(jù)分組或接收到破壞的數(shù)據(jù)分組。否定確認是請求重發(fā)一或多個錯過的數(shù)據(jù)分組的消息。在本發(fā)明被應(yīng)用于使用這種協(xié)議的系統(tǒng)的情況下,配置服務(wù)器7和接收主機3a之間的連接,使得在否定確認消息或狀態(tài)報告被發(fā)送到服務(wù)器7之前,接收主機3a允許一時間段。這個時間段長于接收整個文件所用的時間。后面會描述其原因。
接著從高速緩存11得到文件,并且根據(jù)適當通信協(xié)議將文件安排成數(shù)據(jù)分組A-G。數(shù)據(jù)分組A-G中包含的標頭信息包含有關(guān)其按照文件內(nèi)數(shù)據(jù)分組的順序的位置的信息。服務(wù)器7開始向無線發(fā)送器8順序轉(zhuǎn)發(fā)數(shù)據(jù)分組的拷貝,其中這些拷貝被封裝在IP數(shù)據(jù)報中,并且發(fā)送到該組(步驟s8)。在這個例子中,該組在這個階段只包含第一接收主機3a。
不同于現(xiàn)有系統(tǒng),本發(fā)明的組播系統(tǒng)允許其它接收主機3加入正在進行的文件傳送傳輸。例如,如果在進行對接收主機3a的文件傳送傳輸?shù)耐瑫r接收到來自第二接收主機3b的文件請求(步驟s9),例如在數(shù)據(jù)分組A,B已經(jīng)被發(fā)送到第一接收主機3a之后,服務(wù)器7通過檢查第二接收主機3b是否與第一接收主機3a處于相同位置,即接收主機3b是否位于DVB-T小區(qū)C1覆蓋的區(qū)域中,以作出響應(yīng)(步驟s10)。如果是,則第二接收主機3b被加到該組中(步驟s11),并且開始分組ST被發(fā)送到第二接收主機3b以便建立連接(步驟s12)。服務(wù)器7在文件傳送列表建立記錄下一要發(fā)送的數(shù)據(jù)分組A-G的項(步驟s13)。這個信息被用來確定數(shù)據(jù)分組序列中的點,其中第二接收主機3b在該點處加入該組。后續(xù)數(shù)據(jù)分組C-G被拷貝到該組中的接收主機3a,3b(步驟s8)。由于數(shù)據(jù)分組頭指示其在數(shù)據(jù)分組序列中的位置,已經(jīng)錯過初始分組A,B的第二接收主機3b能夠在其IP堆棧中按照適當順序安排傳入數(shù)據(jù)分組C-G。
類似地,如果在已經(jīng)發(fā)送數(shù)據(jù)分組A-D之后從相同DVB-T小區(qū)C1內(nèi)的第三接收主機3c接收請求,則服務(wù)器7會向第三接收主機3c發(fā)送開始分組ST,并且通過在文件傳送列表中包含相應(yīng)項來向該組中添加第三接收主機3c。于是,第三接收主機3c會在正在進行的文件傳輸期間接收數(shù)據(jù)分組E-G。
當已經(jīng)發(fā)送文件中的最后數(shù)據(jù)分組(步驟s14)時,服務(wù)器7向該組中的接收主機3a,3b發(fā)送″結(jié)束″分組END(步驟s15),以指示數(shù)據(jù)分組序列的結(jié)束分組已經(jīng)到達。服務(wù)器7接著檢查文件到每個主機3a-3c的傳送是否已經(jīng)完成(步驟s16)。例如,可以檢查與文件傳送列表相關(guān)的日志,使得數(shù)據(jù)分組序列中接收主機3a-3c加入文件傳送傳輸時所在的各個點能夠被用來確定任何主機3a-3c是否需要其它數(shù)據(jù)分組(步驟s16)??蛇x地,可以配置服務(wù)器7和每個接收主機3a-3c之間的連接,使得當已經(jīng)接收全部數(shù)據(jù)分組序列A-G時,由服務(wù)器7或接收主機3a-3c終止連接,并且/或者服務(wù)器7可以從文件傳送列表中清除對應(yīng)于該接收主機3的項。然而,當針對該接收主機3a的文件傳送已經(jīng)完成時,可能不必終止服務(wù)器7和接收主機3a之間的連接,因為通常將接收主機3配置為丟棄其接收的任何重復(fù)分組。
服務(wù)器7則允許一個時間段,以便接收來自尚未接收全部數(shù)據(jù)分組序列A-G的接收主機3的、針對錯過的分組的請求。例如,在圖4示出的情況中,第一接收主機3a已經(jīng)接收全部數(shù)據(jù)分組序列A-G,而第二和第三接收主機3b,3c分別已經(jīng)接收部分數(shù)據(jù)分組序列C-G和F-G,以及開始和結(jié)束分組ST,END。如果一或多個接收主機3b,3c尚未接收整個文件,則服務(wù)器7繼續(xù)從數(shù)據(jù)分組序列的開始處開始發(fā)送數(shù)據(jù)分組A-G(步驟s8)。如上所述,接收主機3b,3c利用數(shù)據(jù)分組頭中有關(guān)傳入數(shù)據(jù)分組在序列中的位置的信息按照正確順序裝配數(shù)據(jù)分組。
此外,因任何其他原因,例如其到服務(wù)器7的連接出現(xiàn)問題而沒有接收分組的接收主機3能夠利用在文件重發(fā)中發(fā)送的數(shù)據(jù)分組在其IP堆棧中完成數(shù)據(jù)分組序列。例如,如果接收主機3b已經(jīng)接收分組C,E-G但是已經(jīng)丟棄分組D,則在發(fā)送否定確認之前接收主機3b所允許的時間周期結(jié)束之前,接收主機3b能夠從后續(xù)文件重發(fā)中得到錯過的分組A,B和丟棄的分組D。對來自后續(xù)文件重發(fā)的數(shù)據(jù)分組的利用減少了否定確認的數(shù)量和所導致的對各個接收主機3的數(shù)據(jù)分組重發(fā),從而減輕網(wǎng)絡(luò)傳輸。然而,在接收主機3因傳輸失敗或惡化而丟失文件傳送處理中最終文件傳輸?shù)姆纸M的情況下,會利用否定確認過程。在這個特定情況下,接收主機3a會通過蜂窩電信網(wǎng)絡(luò)13向服務(wù)器7發(fā)送否定確認消息,以請求在時間周期結(jié)束時重發(fā)錯過的分組。
通過服務(wù)器7和無線發(fā)送器8向其它接收主機3a,3b組播由接收主機之一,例如主機3c發(fā)送的任何否定確認。這避免由接收主機針對相同數(shù)據(jù)分組發(fā)送多個否定確認的情況。
接收主機3也可能因其移出與該組相關(guān)的位置區(qū)域,即移出用來定義組位置的DVB-T小區(qū)C1而錯過數(shù)據(jù)分組。例如,在圖4示出的數(shù)據(jù)分組A的重發(fā)期間,接收主機3b可以沿箭頭15的方向移動通過小區(qū)邊界12到達另一個DVB-T小區(qū)C2,如圖5所示。雖然服務(wù)器7會繼續(xù)文件傳送傳輸,即發(fā)送數(shù)據(jù)分組到接收主機3c,然而接收主機3b不再能夠接收數(shù)據(jù)流9b。在允許的時間周期結(jié)束之后,接收主機3b會通過通信系統(tǒng)13發(fā)送涉及數(shù)據(jù)分組A,B的一或多個否定確認消息,其包含有關(guān)接收主機3b新位置的信息。這會在與新DVB-T小區(qū)C2相關(guān)的服務(wù)器7′處被接收,服務(wù)器7′將NACK作為文件請求來處理。通過向內(nèi)容提供商2請求文件,通過數(shù)據(jù)路徑6′經(jīng)由因特網(wǎng)4接收文件,在高速緩存11′中存儲文件,建立與接收主機3b的位置C2相關(guān)的組并且通過發(fā)送器8′將文件作為數(shù)據(jù)流9b′發(fā)送,服務(wù)器7′遵循圖3的過程。然而,如果在新DVB-T小區(qū)C2處存在正在進行的針對相同文件的文件傳送傳輸,則服務(wù)器7′會將接收主機3b添加到該組中。與原始DVB-T小區(qū)C1相關(guān)的服務(wù)器7接著可從其組中刪除接收主機3b,因為在沒有任何否定確認消息的情況下,針對接收主機3b的文件傳送會被認為完成,如上針對步驟s16所描述的。服務(wù)器7,7′,發(fā)送器8,8′和高速緩存11,11′可以被物理提供為單個服務(wù)器7,發(fā)送器8和高速緩存11,其被構(gòu)造成用于服務(wù)于小區(qū)C1,C2。
一旦文件傳送已經(jīng)完成,則刪除高速緩存11中的文件(步驟s17),從而完成文件傳送處理(步驟s18)??蛇x地,可以在文件傳送完成之后將高速緩存11中文件的刪除延遲一個預(yù)定時間周期,以便滿足任何其它針對該文件的請求,而不用重復(fù)從內(nèi)容提供商2得到文件的步驟(步驟s2)。在這個操作模式下,在接收文件請求之后,服務(wù)器7檢查文件拷貝是否已經(jīng)存儲在其高速緩存11中,并且使用傳送消息中的信息確定高速緩存11中的文件是否以后可用版本,以及是否有必要從內(nèi)容提供商2得到更新文件。也可以由上述第二服務(wù)器7′進行這個過程。
圖6詳細示出適當服務(wù)器7的例子。除了高速緩存11之外,服務(wù)器7包括用于從內(nèi)容提供商2接收數(shù)據(jù)的輸入/輸出接口16,和用于向接收主機3a-3c轉(zhuǎn)發(fā)數(shù)據(jù)的輸入/輸出接口17-19。通過輸入/輸出接口16接收文件請求,其中如附圖中那樣通過電信網(wǎng)絡(luò)13提交文件請求,或通過因特網(wǎng)4提交文件請求??蛇x地,在無線網(wǎng)絡(luò)5被用于雙向通信的情況下,可以在接口17-19處接收文件請求。如下通過數(shù)據(jù)總線20連接接口16-19和若干其它部件。具有相關(guān)時鐘22的處理器21監(jiān)視和控制路由操作,包含產(chǎn)生用于建立和釋放服務(wù)器7和接收主機3a-3c之間的連接的進程。提供存儲設(shè)備23以存儲服務(wù)器應(yīng)用程序軟件。地址處理器24從傳入數(shù)據(jù)分組中提取地址信息,并且利用這個信息確定如何處理每個數(shù)據(jù)分組,例如入站分組是來自接收主機3a-3c的文件請求還是文件數(shù)據(jù)。傳入文件數(shù)據(jù)被存儲在高速緩存11中,盡管服務(wù)器也可以訪問外部緩沖區(qū)以存儲大文件。文件請求被轉(zhuǎn)發(fā)到文件請求處理器25,文件請求處理器25管理數(shù)據(jù)分組A-G的拷貝以傳輸?shù)浇邮罩鳈C3a-3c,以及分組頭中涉及數(shù)據(jù)分組A-G的正確順序的信息的加密。文件請求處理器25也維護文件傳送列表。
接收主機3可以是移動電話手機終端22,例如圖7所示的終端。移動電話手機終端26包括天線27,收發(fā)器28,中央處理單元(CPU)29和電池30。作為例如GSM,GPRS,3G或類似雙向收發(fā)器的收發(fā)器28被連接到天線27和CPU 29。接收器(DVB-T)31,鍵盤32和顯示器33也連接到CPU 29。終端26也包含移動電話手機的其它常規(guī)特征,但是為了清楚將其從圖7中省略。
接收主機提交文件請求和接收全部數(shù)據(jù)分組序列A-G之間的時間間隔對于每個接收主機3a-3c應(yīng)當是相同的,其中允許因到其它接收主機3的其它開始分組ST的傳輸而造成的小差異。這個可預(yù)測性允許服務(wù)提供商保證數(shù)據(jù)傳輸速率方面的服務(wù)質(zhì)量。這個時間間隔與單播系統(tǒng),或其中使其它接收主機3b,3c加入正在進行的文件傳送傳輸?shù)目捎么翱谳^小的現(xiàn)有組播系統(tǒng)相比是有利的。這提供了潛在的效率增益,因為降低了文件傳送傳輸中的數(shù)據(jù)分組A被發(fā)送到單個接收主機的可能性,從而減少了滿足指定數(shù)量的接收主機3所需的文件傳送傳輸?shù)拇螖?shù)。
表1和2中示出了在示例性文件傳送過程期間本發(fā)明和現(xiàn)有系統(tǒng)之間針對接收主機的性能的改進。這些表格涉及10Mbit文件的傳輸,其中針對接收主機3a的文件傳送傳輸在0s處開始。第二和第三接收主機3b,3c分別在10s和20s處加入文件傳送傳輸。
表1和2中的信息假定在傳輸中沒有分組被丟棄,即針對文件傳送完成時間的數(shù)據(jù)td是接收主機3接收全部數(shù)據(jù)分組序列A-G的最小時間。td的值也是近似的,因為它們不包含向接收主機3發(fā)送開始和結(jié)束分組ST,END所導致的小延遲。
表1圖解了一個例子,其中系統(tǒng)為每個用戶分配100kbit/s的帶寬。由于同時向接收主機3a-3c發(fā)送相同數(shù)據(jù)分組,在接收主機3a-3c之間有效共享可用帶寬。因此,當其它接收主機3a-3c被包含在文件傳送傳輸中時,每個接收主機3a-3c經(jīng)歷的數(shù)據(jù)傳送速率提高。例如,第一接收主機3a在時間間隔0-10s,即直到第二接收主機3b加入組中之前,以100kbit/s接收數(shù)據(jù)。接著在時間間隔10-20s期間以200kbit/s向接收主機3a傳送數(shù)據(jù)。當接收主機3c加入組中時,數(shù)據(jù)傳送速率再次提高到300kbit/s。
表1在這個例子中,已經(jīng)假定當已經(jīng)接收整個文件時,針對每個接收主機3a-3c的傳輸停止,即由于接收主機3a已經(jīng)離開該組,數(shù)據(jù)傳送速率在43秒處降低到200kbit/s。如果服務(wù)器7被構(gòu)造成用于繼續(xù)向接收主機3a發(fā)送數(shù)據(jù),直到組中的每個主機已經(jīng)接收全部數(shù)據(jù)分組序列A-G,則數(shù)據(jù)傳送速率和感知的帶寬會保持在300kbit/s。
在其它接收主機3不能加入正在進行的文件傳送傳輸?shù)默F(xiàn)有系統(tǒng)中,接收主機3a,3b和3c會從提交來自每個接收主機3的文件請求的時間開始分別接收文件100s,190s和280s。接收主機3a-3c的終端用戶分別感知100kbit/s,53kbit/s和36kbit/s的帶寬。在本系統(tǒng)中,提交請求和完成文件傳送之間的時間分別為43s,39s和49s,使得接收主機分別感知233kbit/s,256kbit/s和204kbit/s的帶寬。
表2針對現(xiàn)有的基于隊列的系統(tǒng)和基于本發(fā)明的系統(tǒng)比較了接收主機3的終端用戶感知的文件傳送時間和帶寬,其中總分配帶寬為常數(shù)。
表2在這個例子中,每個接收主機3a-3c在100s中接收文件,而不允許在第一文件傳送傳輸期間發(fā)送丟棄的分組和額外開始和結(jié)束分組ST,END。每個接收主機3a-3c感知到100kbit/s的總可用帶寬。
已經(jīng)通過例子描述了本發(fā)明,并且本發(fā)明能夠被用于傳送除了IP分組之外的數(shù)據(jù)分組。雖然已經(jīng)描述了點到多點傳輸,然而本發(fā)明也可以被用于多點到多點數(shù)據(jù)傳送。接收主機3a-3c可以是例如移動電話或個人數(shù)字助理(PDA)的固定或移動設(shè)備。接收主機3a-3c不必屬于相同局域網(wǎng),也不必按照小區(qū)覆蓋定義主機的位置。
此外,路由器7可以不必利用無線通信系統(tǒng)向接收主機3a-3c發(fā)送數(shù)據(jù)。雖然描述的實施例涉及包括WAN的系統(tǒng),然而本發(fā)明同樣適用于LAN網(wǎng)絡(luò)或任何其他支持組播的網(wǎng)絡(luò),并且可以被用于通過除了因特網(wǎng)或DVB-T網(wǎng)絡(luò)之外的網(wǎng)絡(luò)進行的文件傳送,例如通過DVB-S(衛(wèi)星),DVB-C(有線),DVB-M,其它DVB變型,綜合業(yè)務(wù)數(shù)字廣播(ISDB),ATSC數(shù)字電視或數(shù)字音頻廣播(DAB)網(wǎng)絡(luò),或通過支持組播的通用分組無線業(yè)務(wù)(GPRS),增強數(shù)據(jù)GSM環(huán)境(EDGE),通用移動電信系統(tǒng)(UMTS)或無線碼分多址(W-CDMA),CDMA2000系統(tǒng)或藍牙系統(tǒng)。
僅僅利用蜂窩電信網(wǎng)絡(luò)13作為無線系統(tǒng)5的可選通信系統(tǒng)。例如因特網(wǎng)4的不同系統(tǒng)能夠被用來從接收主機3向服務(wù)器7傳送請求和否定確認。如果無線系統(tǒng)5是雙向的,由能夠使用單個系統(tǒng)實現(xiàn)本發(fā)明以處理針對接收主機3的文件傳送和文件請求。
在上述實施例中,根據(jù)DVB-T小區(qū)C1覆蓋的區(qū)域定義與組相關(guān)的位置。然而可以根據(jù)需要以不同方式定義位置,例如根據(jù)電信網(wǎng)絡(luò)13的小區(qū),這取決于用戶或服務(wù)提供商的需求。
此外,雖然描述的實施例包括位于空中接口處的服務(wù)器7,然而本發(fā)明可以在內(nèi)容提供商2和接收主機3a-3c之間的路徑上的任何網(wǎng)絡(luò)單元,例如服務(wù)器,節(jié)點或路由器處實現(xiàn),同時接收主機可以是固定或移動設(shè)備,包含移動個人數(shù)字助理(PDA)。
權(quán)利要求
1.一種支持組播的網(wǎng)絡(luò)單元,包括用于從內(nèi)容提供商接收文件的第一邏輯接口;用于將所述文件作為文件傳送傳輸中的數(shù)據(jù)分組序列轉(zhuǎn)發(fā)到一或多個主機的第二邏輯接口;和用于定義一或多個主機的組的處理器,其中可以響應(yīng)來自其它主機的請求的接收而將所述其它主機加到該組中,該組限于位于單個位置區(qū)域內(nèi)的其它主機;其中所述服務(wù)器被構(gòu)造成用于向該組發(fā)送文件,使得在數(shù)據(jù)分組序列的傳輸期間加入該組的所述其它主機接收所述序列中的其余數(shù)據(jù)分組。
2.如權(quán)利要求1所述的網(wǎng)絡(luò)單元,還被構(gòu)造成用于通過第一通信網(wǎng)絡(luò)發(fā)送文件,并且通過第二通信網(wǎng)絡(luò)接收來自主機的請求。
3.如權(quán)利要求1或2所述的網(wǎng)絡(luò)單元,其中通過蜂窩通信網(wǎng)絡(luò)在網(wǎng)絡(luò)單元和主機之間發(fā)送請求和文件之一或二者,并且根據(jù)小區(qū)定義位置區(qū)域,使得該組限于位于單個小區(qū)覆蓋的位置區(qū)域中的主機。
4.如權(quán)利要求1,2或3所述的網(wǎng)絡(luò)單元,該網(wǎng)絡(luò)單元還被構(gòu)造成用于通過無線通信網(wǎng)絡(luò)向主機轉(zhuǎn)發(fā)文件,所述網(wǎng)絡(luò)單元是位于內(nèi)容提供商和主機之間的文件傳送路徑中的空中接口之前的最后網(wǎng)絡(luò)單元。
5.如前面任何一個權(quán)利要求所述的網(wǎng)絡(luò)單元,還包括文件請求處理器,用于加密數(shù)據(jù)分組的頭中涉及文件傳送傳輸中數(shù)據(jù)分組的正確順序的信息。
6.如前面任何一個權(quán)利要求所述的網(wǎng)絡(luò)單元,還被配置成使得在主機已經(jīng)在文件傳送傳輸期間提交請求的情況下,記錄文件傳送傳輸中的點,其中主機在該點處加入該組。
7.如前面任何一個權(quán)利要求所述的網(wǎng)絡(luò)單元,還被配置成使得在主機已經(jīng)在文件傳送傳輸期間加入該組的情況下,在轉(zhuǎn)發(fā)數(shù)據(jù)分組序列中的最后分組之后重發(fā)文件。
8.如前面任何一個權(quán)利要求所述的網(wǎng)絡(luò)單元,被構(gòu)造成用于接收否定確認消息,并且將所述消息作為文件請求來處理。
9.一種通過網(wǎng)絡(luò)進行文件傳送的方法,包括步驟在網(wǎng)絡(luò)單元處接收來自第一主機的針對該文件的請求;從內(nèi)容提供商得到該文件;定義包括第一主機的組;將該文件作為文件傳送傳輸中的數(shù)據(jù)分組序列轉(zhuǎn)發(fā)到該組;和向該組加入在所述文件傳送傳輸期間提交針對該文件的請求的任何其它主機,使得所述其它主機接收所述文件傳送傳輸中的其余數(shù)據(jù)分組,其中該組限于和第一主機位于相同位置區(qū)域的其它接收主機。
10.如權(quán)利要求9所述的方法,其中通過第一通信網(wǎng)絡(luò)轉(zhuǎn)發(fā)文件,并且通過第二通信網(wǎng)絡(luò)接收來自第一主機的請求。
11.如權(quán)利要求9或10所述的方法,其中通過蜂窩通信網(wǎng)絡(luò)在網(wǎng)絡(luò)單元和第一主機之間發(fā)送請求和文件之一或二者,并且按照小區(qū)定義接收位置區(qū)域,使得該組限于位于單個小區(qū)覆蓋的區(qū)域中的接收主機。
12.如權(quán)利要求9,10或11所述的方法,還包括文件請求處理器,用于加密數(shù)據(jù)分組的頭中涉及文件傳送傳輸中數(shù)據(jù)分組的正確順序的信息。
13.如權(quán)利要求9到12中任何一個所述的方法,還包括在其它主機已經(jīng)在文件傳送傳輸期間提交請求的情況下,記錄文件傳送傳輸中的點,其中所述其它主機在該點處加入該組。
14.如權(quán)利要求9到13中任何一個所述的方法,其中如果一或多個其它主機已經(jīng)在文件傳送傳輸期間加入該組,則在完成數(shù)據(jù)分組序列之后重發(fā)文件。
15.一種包括程序指令的計算機程序,所述程序指令用于使網(wǎng)絡(luò)單元執(zhí)行如權(quán)利要求9到14中任何一個所述的方法。
16.如權(quán)利要求15所述的計算機程序,其中該計算機程序體現(xiàn)在計算機可讀介質(zhì)上。
17.一種使主機通過網(wǎng)絡(luò)得到文件的方法,包括步驟向網(wǎng)絡(luò)單元發(fā)送加入組的請求;接收由網(wǎng)絡(luò)單元發(fā)送的開始分組,該開始分組配置該網(wǎng)絡(luò)單元和該主機之間的連接;接收由網(wǎng)絡(luò)單元在第一文件傳送傳輸中發(fā)送的數(shù)據(jù)分組序列;按照其適當順序排列數(shù)據(jù)分組序列;和接收包括數(shù)據(jù)分組序列的第二文件傳送傳輸;其中通過在第二文件傳送傳輸中得到相應(yīng)數(shù)據(jù)分組,主機得到在第一文件傳送傳輸中丟棄或錯過的任何數(shù)據(jù)分組。
18.如權(quán)利要求17所述的方法,其中通過第一通信網(wǎng)絡(luò)發(fā)送文件,并且通過第二通信網(wǎng)絡(luò)接收來自第一主機的請求。
全文摘要
響應(yīng)來自主機3a的文件請求,服務(wù)器7從內(nèi)容提供商2得到文件。定義包括主機3a的組,發(fā)送到該組的文件作為數(shù)據(jù)分組序列A-G。與主機3a處于相同位置區(qū)域、在數(shù)據(jù)分組序列的傳輸期間提交針對相同文件的請求的任何其它主機3b,3c被加到該組中,并且接收該序列中的其余分組。在數(shù)據(jù)分組序列的結(jié)束處,服務(wù)器7向主機3b,3c重發(fā)數(shù)據(jù)分組序列,使得它們接收原始傳輸中丟棄或錯過的數(shù)據(jù)分組。在傳輸期間移動到另一個位置的主機3b提交NACK消息,該NACK消息被與第二位置區(qū)域相關(guān)的服務(wù)器7′視為文件請求處理。
文檔編號H04L12/56GK1689272SQ03824174
公開日2005年10月26日 申請日期2003年9月24日 優(yōu)先權(quán)日2002年10月16日
發(fā)明者詹尼·阿爾托寧 申請人:諾基亞公司