專利名稱:使用概率性反饋對多播內(nèi)容傳送進(jìn)行優(yōu)化的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及網(wǎng)絡(luò)環(huán)境中的內(nèi)容傳送,尤其涉及使用概率性反饋對多播內(nèi)容傳送進(jìn)行優(yōu)化的方法和裝置。
背景技術(shù):
數(shù)據(jù)網(wǎng)絡(luò),如無線通信網(wǎng)絡(luò)或有線互聯(lián)網(wǎng),必須在為單個終端定制的服務(wù)和向所有終端廣播/多播的服務(wù)之間進(jìn)行折衷。將內(nèi)容(數(shù)據(jù))分發(fā)給大量用戶是一個很復(fù)雜的問題。實現(xiàn)多播或廣播技術(shù)的網(wǎng)絡(luò)系統(tǒng)能夠通過廣域傳送數(shù)據(jù),但是,發(fā)送方很難知道向大量接收方的傳送是成功還是失敗。
用于解決該問題的技術(shù)中有前向糾錯和/或重發(fā),其中,提前處理內(nèi)容并對其進(jìn)行編碼,從而提高所有接收終端的接收概率。這些方案假設(shè),使多個終端的接收概率達(dá)到可接受值所需的編碼或重復(fù)量可以提前計算。最后,這些協(xié)議需要一定量的附加開銷,以便于獲得較高的傳送成功率。
但是,這些算法是在數(shù)據(jù)發(fā)送之前實現(xiàn)的,因此無法針對變化的傳送情形進(jìn)行調(diào)整,這對傳送成功有積極或消極的影響。因此,使用這些算法重復(fù)發(fā)送已被成功接收的數(shù)據(jù)的系統(tǒng)可能效率不高,并浪費貴重的帶寬。
因此,所需要的是一種在向大量用戶傳送內(nèi)容的網(wǎng)絡(luò)環(huán)境中使用的傳送系統(tǒng),其提供預(yù)期的服務(wù)等級,同時補償變化的傳送環(huán)境、節(jié)約系統(tǒng)帶寬,因此提供比傳統(tǒng)系統(tǒng)更高的效率。
發(fā)明內(nèi)容
在一個或多個實施例中,提供了使用概率性反饋對網(wǎng)絡(luò)環(huán)境中的內(nèi)容傳送進(jìn)行優(yōu)化的方法和裝置。例如,在一個實施例中,提供了一種系統(tǒng),用于對從一臺服務(wù)器到多個接收終端的多播(或廣播,此后包括在內(nèi),作為多播)傳輸中發(fā)送的數(shù)據(jù)的傳送進(jìn)行優(yōu)化。該系統(tǒng)向發(fā)送數(shù)據(jù)服務(wù)器提供傳送性能的實時動態(tài)統(tǒng)計采樣。該數(shù)據(jù)服務(wù)器使用有關(guān)傳送性能的信息來確定何時達(dá)到預(yù)期的服務(wù)等級。例如,數(shù)據(jù)服務(wù)器停止發(fā)送已經(jīng)被預(yù)期服務(wù)等級定義的足夠接收終端接收到的數(shù)據(jù)。因此,數(shù)據(jù)服務(wù)器就可以使用節(jié)省下來的帶寬提供其他數(shù)據(jù)或服務(wù),從而提高系統(tǒng)的總?cè)萘俊?br>
在一個實施例中,該數(shù)據(jù)服務(wù)器在多播傳輸中向多個接收終端發(fā)送數(shù)據(jù)和確認(rèn)值。數(shù)據(jù)接收成功之后,在每個終端處使用隨機處理,生成與確認(rèn)值進(jìn)行比較的響應(yīng)值。從響應(yīng)值大于確認(rèn)值的任何終端發(fā)送確認(rèn)信號到服務(wù)器。因此,服務(wù)器接收到傳輸?shù)膫魉托阅艿膶崟r動態(tài)統(tǒng)計采樣。服務(wù)器使用該信號來確定是重發(fā)數(shù)據(jù),還是停止發(fā)送傳輸,如果足夠多的終端表明它們已經(jīng)成功收到數(shù)據(jù)的話。因此,服務(wù)器能夠高效地確定何時達(dá)到了預(yù)定的服務(wù)等級。
在一個實施例中,提供了用于在服務(wù)器中向多個接收終端發(fā)送數(shù)據(jù)的裝置。該裝置包括發(fā)射邏輯,用于從所述服務(wù)器向所述多個接收終端發(fā)送數(shù)據(jù)和確認(rèn)值。該裝置還包括接收邏輯,用于從選定的接收終端接收確認(rèn)信號。所述選定的接收終端包括所述多個接收終端中的一部分,在該部分中,本地生成的隨機響應(yīng)值與所述確認(rèn)值有選定關(guān)系。
在一個實施例中,提供了一種用于在服務(wù)器中向多個接收終端發(fā)送數(shù)據(jù)的方法。該方法包括從所述服務(wù)器向所述多個接收終端發(fā)送所述數(shù)據(jù)和確認(rèn)值;從選定的接收終端接收確認(rèn)信號。所述選定的接收終端包括所述多個接收終端中的一部分,在該部分中,本地生成的隨機響應(yīng)值與所述確認(rèn)值有選定關(guān)系。
在一個實施例中,提供了用于在一個接收終端中接收從一臺服務(wù)器向多個接收終端發(fā)送的數(shù)據(jù)的裝置。該裝置包括接收邏輯,接收從所述服務(wù)器發(fā)送的所述數(shù)據(jù)和確認(rèn)值;生成邏輯,生成隨機響應(yīng)值。該裝置還包括處理邏輯,將所述響應(yīng)值與確認(rèn)值進(jìn)行比較;發(fā)射邏輯,如果所述響應(yīng)值與所述確認(rèn)值有選定的關(guān)系,則從所述接收終端向所述服務(wù)器發(fā)送確認(rèn)信號。
在一個實施例中,提供了一種用于在一個接收終端中接收從一臺服務(wù)器向多個接收終端發(fā)送的數(shù)據(jù)的方法。該方法包括接收從所述服務(wù)器發(fā)送的所述數(shù)據(jù)和確認(rèn)值;生成隨機響應(yīng)值;將所述響應(yīng)值與確認(rèn)值進(jìn)行比較;如果所述響應(yīng)值與所述確認(rèn)值有選定的關(guān)系,則從所述接收終端向所述服務(wù)器發(fā)送確認(rèn)信號。
在一個實施例中,提供了用于在一個接收終端中接收從一臺服務(wù)器向多個接收終端發(fā)送的數(shù)據(jù)的裝置。該裝置包括接收邏輯,接收從所述服務(wù)器發(fā)送的所述數(shù)據(jù)和確認(rèn)值,其中,所述接收邏輯檢測數(shù)據(jù)接收錯誤。該裝置還包括生成邏輯,生成隨機響應(yīng)值;處理邏輯,將所述響應(yīng)值與確認(rèn)值進(jìn)行比較。該裝置還包括發(fā)射邏輯,如果檢測到數(shù)據(jù)接收錯誤并且所述響應(yīng)值與所述確認(rèn)值有選定的關(guān)系,則從所述接收終端向所述服務(wù)器發(fā)送否認(rèn)信號。
通過閱讀下面給出的
、發(fā)明詳述和權(quán)利要求書,本發(fā)明的其他方面、優(yōu)點和特色將變得顯而易見。
通過參考下面參照附圖做出的詳細(xì)說明,本申請中描述的實施例的前述方面和優(yōu)點將變得更加顯而易見,在這些附圖中圖1示出了的數(shù)據(jù)網(wǎng)絡(luò)包括數(shù)據(jù)傳送系統(tǒng)的一個實施例;圖2的示意圖中的發(fā)射服務(wù)器包括數(shù)據(jù)傳送系統(tǒng)的一個實施例;圖3示出了用于操作圖2的服務(wù)器的方法的一個實施例;圖4的功能框圖示出的接收終端包括數(shù)據(jù)傳送系統(tǒng)的一個實施例;圖5示出了用于操作圖4的接收終端的方法的一個實施例;以及圖6所示的方法給出了在數(shù)據(jù)傳送系統(tǒng)的一個實施例中用于提供否認(rèn)信號的接收終端的操作。
具體實施例方式
下面詳細(xì)描述的數(shù)據(jù)傳送系統(tǒng)的實施例能夠高效地從發(fā)射服務(wù)器向大量的終端傳送數(shù)據(jù)。該系統(tǒng)適用于任何類型的有線或無線網(wǎng)絡(luò),包括、但不限于通信網(wǎng)絡(luò)、公共網(wǎng)絡(luò)(如互聯(lián)網(wǎng))、專用網(wǎng)絡(luò)(如虛擬專網(wǎng),VPN)、局域網(wǎng)、廣域網(wǎng)、長途主干網(wǎng)或其他任何類型的數(shù)據(jù)網(wǎng)絡(luò)。
圖1示出的數(shù)據(jù)網(wǎng)絡(luò)100包括數(shù)據(jù)傳送系統(tǒng)的一個實施例。網(wǎng)絡(luò)100包括服務(wù)器102、數(shù)據(jù)網(wǎng)絡(luò)104和106所示的終端(1至N)。數(shù)據(jù)網(wǎng)絡(luò)104可以是能夠從服務(wù)器104向終端106發(fā)送數(shù)據(jù)的任何類型的有線或無線網(wǎng)絡(luò)。網(wǎng)絡(luò)104還可以提供反向通信信道,從而使任一終端106可以向服務(wù)器102發(fā)送數(shù)據(jù)或其他信息。
在一個或多個實施例中,該傳送系統(tǒng)利用反向信道(從終端到服務(wù)器)的可用性接收反饋信息,反饋信息用于在可用的前向信道(從服務(wù)器到終端)上提供數(shù)據(jù)的多播。對于選定的系統(tǒng)容量,設(shè)置一個概率確認(rèn)值(Pack)。Pack值與數(shù)據(jù)一起發(fā)送,以便于使各接收終端接收到它。例如,包112包含數(shù)據(jù)和Pack值。路徑108示出了包112從服務(wù)器102到接收終端106的傳輸。
收到包112后,各接收終端使用Pack值,判斷是否對成功的數(shù)據(jù)傳送進(jìn)行確認(rèn)。在一個實施例中,各接收終端將Pack值與本地生成的隨機響應(yīng)值(P)進(jìn)行比較,以判斷是否對數(shù)據(jù)傳送進(jìn)行確認(rèn)。例如,值P和Pack值之間的關(guān)系用于判斷是否對數(shù)據(jù)傳送進(jìn)行確認(rèn)。值P可能小于、等于或大于Pack值。在一個實施例中,如果值P大于Pack值,則向服務(wù)器102回送確認(rèn)信號(Ack)。因此,一部分接收終端106(即P>Pack時)將通過可用的反向信道,向發(fā)射服務(wù)器102發(fā)送確認(rèn)信號(Ack)。例如,如圖1所示,終端1、3和N使用如路徑110所示的反向信道,向服務(wù)器102發(fā)送確認(rèn)信號(Ack)。
從這組接收終端(即,終端1、3和N)發(fā)送的確認(rèn)信號(Ack)構(gòu)成一個統(tǒng)計采樣響應(yīng)。然后,當(dāng)確定足夠多的終端已經(jīng)收到數(shù)據(jù)從而已經(jīng)滿足某一接收概率(Pr)(即,已經(jīng)達(dá)到了預(yù)期的服務(wù)等級)時,服務(wù)器102使用該統(tǒng)計采樣響應(yīng)來結(jié)束數(shù)據(jù)傳輸。應(yīng)當(dāng)注意的是,Pr和Pack之間不必有直接的關(guān)系,因為Pack是相對于要接收多播數(shù)據(jù)傳輸?shù)慕K端數(shù)量設(shè)定的,而Pr基于服務(wù)等級決定。但是,Pack最好使得能夠?qū)⒂薪y(tǒng)計意義數(shù)量的確認(rèn)響應(yīng)(Ack)傳遞到發(fā)射服務(wù)器102。
應(yīng)當(dāng)注意的是,值Pack可以通過多種方式送給接收終端。例如,如上所述,值Pack與數(shù)據(jù)一起發(fā)送。在另一實施例中,值Pack可以在一次獨立通信中發(fā)送給終端,或者使用帶外信道,例如尋呼或控制信道。因此,可以采用任何適當(dāng)?shù)募夹g(shù)向接收終端提供Pack值。
圖2的功能框圖所示的服務(wù)器102包括數(shù)據(jù)傳送系統(tǒng)的一個實施例。服務(wù)器102包括處理邏輯202、設(shè)備資源204、數(shù)據(jù)206、發(fā)射邏輯208和接收邏輯210,它們均連接到內(nèi)部數(shù)據(jù)總線212。
在一個或多個實施例中,處理邏輯202包括CPU、處理器、門陣列、硬件邏輯、存儲元件、虛擬機、軟件和/或軟硬件的任何組合。因此,處理邏輯202通常包括執(zhí)行機讀指令的邏輯。
設(shè)備資源和接口204包括能使服務(wù)器102與內(nèi)部和外部系統(tǒng)進(jìn)行通信的硬件和/或軟件。例如,內(nèi)部系統(tǒng)可以包括海量存儲系統(tǒng)、存儲器、顯示驅(qū)動器、調(diào)制解調(diào)器或其他內(nèi)部設(shè)備資源。外部系統(tǒng)可以包括用戶接口設(shè)備、打印機、硬盤或其他本地設(shè)備或系統(tǒng)。
數(shù)據(jù)206表示向一個或多個終端傳送的數(shù)據(jù)。例如,數(shù)據(jù)206可以包括存儲在任何類型存儲器件中的多媒體內(nèi)容。在一個實施例中,服務(wù)器102執(zhí)行數(shù)據(jù)206的多播傳輸,以使數(shù)據(jù)能夠被預(yù)期數(shù)量的接收終端收到。
發(fā)射邏輯208包括能使服務(wù)器102向外部設(shè)備或系統(tǒng)發(fā)送數(shù)據(jù)和其他信息的硬件和/或軟件。例如,發(fā)射邏輯可以包括用于通過數(shù)據(jù)網(wǎng)絡(luò)向其他設(shè)備(如,接收終端)發(fā)送數(shù)據(jù)和/或其他信息的邏輯。例如,服務(wù)器102可以使用發(fā)射邏輯208,通過數(shù)據(jù)網(wǎng)絡(luò)向接收終端發(fā)送多播傳輸。
接收邏輯210包括能使服務(wù)器102從外部設(shè)備接收數(shù)據(jù)和其他信息的硬件和/或軟件。例如,接收邏輯210與數(shù)據(jù)網(wǎng)絡(luò)交互,從而能使服務(wù)器102接收通過反向信道從終端設(shè)備發(fā)送的數(shù)據(jù)。
服務(wù)器102還包括與內(nèi)部數(shù)據(jù)總線212相連的概率確認(rèn)參數(shù)(Pack)214(或值),其用于確定來自終端的統(tǒng)計采樣響應(yīng),所述終端收到了從服務(wù)器102發(fā)送的數(shù)據(jù)。在一個實施例中,Pack參數(shù)的范圍介于0和1之間。來自服務(wù)器102的每個多播數(shù)據(jù)傳輸有一個關(guān)聯(lián)的Pack參數(shù)。接收終端使用該Pack值來確定是否向服務(wù)器102發(fā)送確認(rèn)信號(Ack)。例如,在一個實施例中,如果發(fā)送的Pack參數(shù)為0,則所有的接收終端向服務(wù)器102提供確認(rèn)信號(Ack),以對收到所發(fā)送數(shù)據(jù)做出響應(yīng)?;蛘?,如果Pack參數(shù)為1,則沒有終端向服務(wù)器102提供確認(rèn)信號(Ack)。優(yōu)選情況下,設(shè)定發(fā)送的Pack參數(shù),以使有統(tǒng)計意義數(shù)量的接收終端向服務(wù)器102發(fā)送確認(rèn)信號(Ack)。
在服務(wù)器102工作期間,發(fā)射邏輯208通過數(shù)據(jù)網(wǎng)絡(luò)將數(shù)據(jù)206多播到數(shù)個接收終端。數(shù)據(jù)206在包含有選定Pack參數(shù)的包中進(jìn)行傳輸。一旦在各接收終端收到該包,則進(jìn)行測試,以判斷該終端是否應(yīng)當(dāng)向服務(wù)器102回送確認(rèn)信號(Ack)。該決策基于Pack參數(shù)和在各終端產(chǎn)生的響應(yīng)值(P)。因此,服務(wù)器102收到來自一部分接收終端的Ack信號。然后,服務(wù)器使用該信息判斷是否滿足選定的接收概率(Pr)。
在一個實施例中,該數(shù)據(jù)傳送系統(tǒng)包括存儲在計算機可讀介質(zhì)中的程序指令,當(dāng)由處理邏輯202執(zhí)行的時候,其提供本文描述的服務(wù)器102的功能。例如,可以將指令從計算機可讀介質(zhì)(如軟盤、CDROM、存儲卡、閃存器件、RAM、ROM或任何其他類型的存儲器件或計算機可讀介質(zhì),其通過設(shè)備資源204與服務(wù)器102交互)裝載到服務(wù)器102中。在另一實施例中,可以將指令從網(wǎng)絡(luò)資源下載到服務(wù)器102中,其通過接收邏輯210與服務(wù)器102交互。當(dāng)由處理邏輯202執(zhí)行的時候,這些指令提供本文描述的數(shù)據(jù)傳送系統(tǒng)的一個或多個實施例。
圖3給出的方法300示出了數(shù)據(jù)傳送系統(tǒng)的一個實施例的操作。為清楚起見,下面參照圖2所示的服務(wù)器102來描述該方法300。在一個或多個實施例中,處理邏輯202執(zhí)行程序指令,以執(zhí)行下面描述的功能。
在傳送系統(tǒng)的初始化期間,為多播傳輸定義選中的接收概率(Pr)。例如,Pr的值由用戶通過設(shè)備接口204輸入,或通過接收邏輯210下載到服務(wù)器102。在一個實施例中,Pr的值存儲在處理邏輯202中。
在模塊302中,創(chuàng)建一個包,其包括數(shù)據(jù)和選定的Pack參數(shù)。該包是要多播傳送到多個接收終端的。例如,在一個實施例中,處理邏輯202將選定的Pack參數(shù)214與數(shù)據(jù)206的選定部分組合起來,以形成該包。Pack參數(shù)214包括在該包的首部部分中。
在模塊304中,將該包多播傳送到多個接收終端。例如,處理邏輯202控制發(fā)射邏輯208,通過數(shù)據(jù)網(wǎng)絡(luò)(如網(wǎng)絡(luò)104)向接收終端多播傳送該包。接收終端接收該包,并判斷是否要向服務(wù)器102回應(yīng)Ack信號。
在模塊306中,發(fā)射服務(wù)器接收到來自一部分接收終端的Ack信號。例如,一部分接收終端根據(jù)該包中的Pack值確定它們要向發(fā)射服務(wù)器102發(fā)送Ack信號。這部分終端使用與數(shù)據(jù)網(wǎng)絡(luò)相關(guān)聯(lián)的反向信道,向服務(wù)器102發(fā)送Ack信號。
在模塊308中,執(zhí)行測試,以判斷是否有預(yù)期數(shù)量的接收終端收到了該多播傳輸。例如,服務(wù)器102使用收到的Ack信號的數(shù)量,來判斷接收終端的數(shù)量是否滿足在初始化過程中定義的選定接收概率(Pr)。在一個實施例中,處理邏輯202知道多播接收終端的總數(shù)量,于是使用Ack信號來統(tǒng)計地確定這些終端中有多少個成功地收到了數(shù)據(jù)。
由于傳輸條件和其他變量,并非所有終端都能收到該傳輸。所以,實際發(fā)送Ack信號的這部分終端中的終端數(shù)量可能低于預(yù)期。使用公知的統(tǒng)計分析技術(shù),處理邏輯202基于接收終端的可能總數(shù)量和收到的Ack信號的數(shù)量,判斷是否滿足了選定的接收概率(Pr)。處理邏輯202也可以為未來的傳輸調(diào)整Pack值,以使更多或更少的接收終端發(fā)送Ack信號。
如果滿足了選定的接收概率(Pr),則方法轉(zhuǎn)入模塊312,否則方法轉(zhuǎn)入模塊310。
在模塊310中,重新發(fā)送該包,這是因為,在模塊308中確定收到該多播傳輸?shù)慕邮战K端還不夠多。重發(fā)之后,方法轉(zhuǎn)入模塊306,其中,再次從一部分接收終端接收到Ack信號。
在模塊312中,執(zhí)行測試,以判斷是否還有數(shù)據(jù)要進(jìn)行多播傳輸。例如,一大塊數(shù)據(jù)可以在一串較小的包中進(jìn)行多播傳輸。如果還有數(shù)據(jù)要傳輸,則方法轉(zhuǎn)入模塊302,否則方法轉(zhuǎn)入模塊314。
應(yīng)當(dāng)注意的是,流程圖300示出的僅僅是一個實施例,在不偏離本發(fā)明保護(hù)范圍的前提下,對流程部分可以做出修改、增加或重新排列。
圖4示出了接收終端400的功能框圖,其包括數(shù)據(jù)傳送系統(tǒng)的一個實施例。該終端400包括處理邏輯402、存儲器404、設(shè)備資源和接口406、發(fā)射邏輯408和接收邏輯412,它們都連接到數(shù)據(jù)總線416。
在一個或多個實施例中,處理邏輯402包括CPU、處理器、門陣列、硬件邏輯、存儲器件、虛擬機、軟件和/或軟硬件的任何組合。因此,處理邏輯402通常包括用于執(zhí)行機器可讀指令的邏輯。
設(shè)備資源和接口406包括能使終端400與內(nèi)部和外部系統(tǒng)進(jìn)行通信的硬件和/或軟件。例如,內(nèi)部系統(tǒng)可以包括海量存儲系統(tǒng)、存儲器、顯示驅(qū)動器、調(diào)制解調(diào)器或其他內(nèi)部設(shè)備資源。外部系統(tǒng)可以包括用戶間接口設(shè)備、打印機、磁盤或其他本地設(shè)備或系統(tǒng)。
發(fā)射邏輯408包括能使終端400向外部設(shè)備或系統(tǒng)發(fā)送數(shù)據(jù)和其他信息的硬件和/或軟件。例如,發(fā)射邏輯可以包括用于通過數(shù)據(jù)網(wǎng)絡(luò)向其他設(shè)備(如服務(wù)器)發(fā)送數(shù)據(jù)和/或其他信息的邏輯。例如,處理邏輯402可以使用發(fā)射邏輯408,在數(shù)據(jù)網(wǎng)絡(luò)中通過反向信道向服務(wù)器發(fā)送Ack信號。
接收邏輯412包括能使終端400從外部設(shè)備接收數(shù)據(jù)和其他信息的硬件和/或軟件。例如,接收邏輯412與數(shù)據(jù)網(wǎng)絡(luò)交互,以使終端400能夠從服務(wù)器接收多播傳輸中發(fā)送的數(shù)據(jù)。
存儲器404包括用于存儲終端400中的信息的邏輯。例如,存儲器404可以從服務(wù)器接收多播傳輸中發(fā)送的包112,并將包112存儲在存儲器404中,以便作進(jìn)一步的處理。
終端400還包括響應(yīng)值(P)生成器418。生成器418包括用于生成響應(yīng)值(P)的任意軟硬件組合。例如,在一個實施例中,生成器418包括一個隨機數(shù)生成器,其能夠為響應(yīng)值P生成介于0和1之間的隨機數(shù)。
可選地,終端400還可以包括計時邏輯420,其測量預(yù)定的時間段或隨機時間間隔。計時邏輯連接到數(shù)據(jù)總線416,且包括任意軟硬件組合。在一個實施例中,處理邏輯402可以通過數(shù)據(jù)總線416控制計時邏輯420的操作。例如,處理邏輯402能夠設(shè)定、重新設(shè)定、激活、去除激活、清除或控制計時邏輯,以測量選定的時間間隔。例如,處理邏輯402可以控制計時邏輯,以測量隨機時間間隔,方式如下將隨機起始值預(yù)先設(shè)定到計時邏輯420中,當(dāng)時間間隔屆滿時,接收來自計時邏輯420的完成信號。
在操作中,終端400收到多播數(shù)據(jù)傳輸,并作為響應(yīng),判斷是否向發(fā)射服務(wù)器發(fā)送確認(rèn)信號(Ack)。例如,包112由終端400接收,并存儲在存儲器404中。包112包含有由服務(wù)器(如服務(wù)器102)發(fā)送的Pack值和數(shù)據(jù)。然后,終端400使用生成器418生成響應(yīng)值P,處理邏輯402比較值P和Pack值,以確定這兩個值之間的關(guān)系。該關(guān)系用于確定是否發(fā)送Ack信號。例如,值P可能大于、等于或小于Pack值。如果這兩個值之間存在預(yù)期的關(guān)系,則處理邏輯402讓發(fā)射邏輯408通過反向信道向發(fā)射服務(wù)器發(fā)送Ack信號。發(fā)射服務(wù)器使用從接收終端接收到的Ack信號,以確定多播數(shù)據(jù)傳輸是否滿足選定的接收概率(Pr)。
在一個實施例中,數(shù)據(jù)傳送系統(tǒng)包括存儲在計算機可讀介質(zhì)上的程序指令,當(dāng)由處理邏輯402執(zhí)行時其提供本文描述的終端400的功能。例如,可以將這些指令從計算機可讀介質(zhì)(如軟盤、CDROM、存儲卡、閃存器件、RAM、ROM或任何其他類型的存儲器件或計算機可讀介質(zhì),其通過設(shè)備資源406與終端400交互)裝載到終端400中。在另一實施例中,可以將指令從網(wǎng)絡(luò)資源下載到終端400中,其通過接收邏輯412與終端400交互。當(dāng)由處理邏輯402執(zhí)行的時候,這些指令提供本文描述的數(shù)據(jù)傳送系統(tǒng)的一個或多個實施例。
圖5給出的方法500示出了數(shù)據(jù)傳送系統(tǒng)的一個實施例的操作。為清楚起見,下面參照圖4所示的終端400來描述該方法500。在一個或多個實施例中,處理邏輯402執(zhí)行程序指令,以執(zhí)行下面描述的功能。
在模塊502中,在終端處,成功接收到作為多播傳輸?shù)囊徊糠侄话l(fā)送的包。例如,通過接收邏輯412在終端400接收到包112。
在模塊504中,生成一個隨機響應(yīng)值P。例如,處理邏輯402控制生成器418,以生成隨機響應(yīng)值P。在一個實施例中,值P是一個隨機值,范圍為0到1。
在模塊506中,執(zhí)行測試,以判斷響應(yīng)值P是否大于包中包括的Pack值。例如,發(fā)射服務(wù)器在發(fā)送之前將Pack值加入包中。處理邏輯402從收到的包中獲取Pack值,并將其與生成器418生成的值P進(jìn)行比較。在一個實施例中,處理邏輯包括比較邏輯,用于確定這兩個值之間的關(guān)系。響應(yīng)值P和Pack值之間的任何關(guān)系可用于判斷是否發(fā)送了Ack信號。在一個實施例中,如果P的值大于Pack的值,則需要確認(rèn),于是方法轉(zhuǎn)入模塊508。如果P的值小于或等于Pack的值,則不需要確認(rèn),于是方法轉(zhuǎn)入模塊502,以接收下一包。
在模塊508中,終端向發(fā)射服務(wù)器發(fā)送確認(rèn)信號(Ack),以表明該包已被成功接收到。例如,Ack信號可以是任何類型的確認(rèn)信號或消息。在一個實施例中,處理邏輯402控制發(fā)射邏輯408,以通過可用的反向信道向服務(wù)器發(fā)送Ack信號。因此,服務(wù)器得知終端已經(jīng)成功接收到所發(fā)送的包。
應(yīng)當(dāng)注意的是,流程圖500示出的僅僅是一個實施例,在不偏離本發(fā)明保護(hù)范圍的前提下,對流程部分可以做出修改、增加或重新排列。
在另一個實施例中,Pack值變成Pnack值。接收終端使用Pnack值,以確定如果數(shù)據(jù)未被成功接收到是否向服務(wù)器發(fā)送“否認(rèn)”(Nack)信號。例如,如果有傳輸錯誤或存在妨礙了成功接收數(shù)據(jù)的其他事件,則接收終端可以向服務(wù)器發(fā)送否認(rèn)(Nack),以表明數(shù)據(jù)傳輸失敗。Pnack值由接收終端用于確定是否發(fā)送否認(rèn)信號(Nack),以便使收到統(tǒng)計意義數(shù)量的Nack信號的服務(wù)器能夠確定接收概率P(r)。例如,知道多少個終端未收到數(shù)據(jù)之后,就可以確定多少個終端成功收到數(shù)據(jù),從而確定接收概率P(r)。
圖6給出的方法600示出了接收終端在數(shù)據(jù)傳送系統(tǒng)的一個實施例中提供否認(rèn)信號的操作。為便于描述方法600,假定發(fā)射服務(wù)器在數(shù)據(jù)包中加入了一個Pnack值,并將其多播傳送到若干個接收終端。
在模塊602中,接收終端等待著包的到來。該包包含有數(shù)據(jù)和Pnack值。
在模塊604中,一個包到達(dá),于是執(zhí)行測試,以確定該包是否被成功接收到。例如,接收終端判斷是否存在數(shù)據(jù)接收錯誤,或者存在導(dǎo)致數(shù)據(jù)接收不成功的其他錯誤。如果數(shù)據(jù)被成功接收到,則方法轉(zhuǎn)入模塊602,等待下一包。如果數(shù)據(jù)未被成功接收到,則方法轉(zhuǎn)入模塊606。
在模塊606中,接收終端生成一個響應(yīng)值P。例如,處理邏輯402控制生成器418,以生成值P。在一個實施例中,生成器418為值P生成一個隨機數(shù)。
在模塊608中,執(zhí)行測試,以判斷值P是否大于Pnack值。例如,處理邏輯402包括比較邏輯,用于比較這兩個值。如果P的值不大于值Pnack,則方法轉(zhuǎn)入模塊612。如果P的值大于值Pnack,則方法轉(zhuǎn)入模塊610。
在模塊610中,啟動隨機時間間隔的測量。例如,處理邏輯402控制計時邏輯420,測量隨機時間間隔。該時間間隔用于對從接收終端到發(fā)射服務(wù)器的Nack信號傳輸進(jìn)行調(diào)度??梢詫⒃摃r間間隔選為任何時間間隔,但是,在一個實施例中,該時間間隔是在各接收終端處隨機選擇的。因此,各接收設(shè)備同時對Nack傳輸進(jìn)行調(diào)度是不太可能的。因此,即使出現(xiàn)大量的數(shù)據(jù)接收錯誤,反向鏈路和發(fā)射服務(wù)器也不會被Nack傳輸淹沒。
在模塊612中,執(zhí)行測試,以判斷是否已經(jīng)從發(fā)射服務(wù)器重發(fā)數(shù)據(jù)。例如,服務(wù)器可以基于從其他接收終端接收到的一個或多個Nack,重發(fā)數(shù)據(jù)。如果收到了重發(fā)的數(shù)據(jù),則方法轉(zhuǎn)入模塊618。如果數(shù)據(jù)不是在重發(fā)中收到的,則方法轉(zhuǎn)入模塊614。
在模塊618中,由于在重發(fā)中收到了數(shù)據(jù),所以,計時器的操作結(jié)束,取消已經(jīng)預(yù)定的Nack傳輸。例如,處理邏輯402控制計時邏輯420停止操作。方法轉(zhuǎn)入模塊602,等待下一包。
在模塊614中,執(zhí)行測試,以判斷選定的時間間隔是否已經(jīng)屆滿。例如,計時邏輯420測量選定的時間間隔,然后告訴處理邏輯402該時間間隔已經(jīng)屆滿。
在模塊616中,在該時間間隔屆滿時,接收終端通過可用的反向信道向服務(wù)器發(fā)送Nack信號。例如,處理邏輯402控制發(fā)射邏輯408,以向服務(wù)器發(fā)送Nack信號。Nack信號通知服務(wù)器,發(fā)送的數(shù)據(jù)未被成功接收到。于是,服務(wù)器可以根據(jù)需要重發(fā)數(shù)據(jù)。例如,服務(wù)器可以使用收到的Nack信號的數(shù)量,來確定接收概率(Pr),并用此信息來確定它是否應(yīng)當(dāng)重發(fā)數(shù)據(jù)。
應(yīng)當(dāng)注意的是,方法600示出的僅僅是一個實施例,在不偏離本發(fā)明保護(hù)范圍的前提下,對流程部分可以做出修改、增加或重新排列。
在方法600的另一實施例中,可以在反向鏈路上進(jìn)行多播傳輸。在該實施例中,各終端可以監(jiān)視(或偵聽)在反向鏈路上發(fā)送Nack信號的其他終端。因此,如果沒有成功收到數(shù)據(jù)的話,終端可以對隨機間隔(模塊610)進(jìn)行計時,就如同模塊602至608所確定的那樣。在模塊612中,執(zhí)行測試,以判斷是否從發(fā)射服務(wù)器重發(fā)了數(shù)據(jù)。但是,模塊612的測試還判斷該終端是否檢測到(或偵聽到)一個或多個由于接收錯誤而發(fā)送了Nack信號的其他終端。如果該終端檢測到其他終端已經(jīng)發(fā)送了Nack信號,則該方法轉(zhuǎn)入模塊618,其中,取消計時器和預(yù)定的Nack傳輸。由于該終端已經(jīng)檢測到有其他終端請求重發(fā)數(shù)據(jù),所以,該終端不必再用附加的Nack傳輸擁塞傳輸信道。
相應(yīng)地,雖然本文示出和描述了針對數(shù)據(jù)傳送系統(tǒng)的方法和裝置的一個或多個實施例,但應(yīng)當(dāng)理解的是,可以對這些實施例做出各種改變,而不偏離其精神和實質(zhì)性特點。因此,本申請公開的內(nèi)容只是用來說明、而非限制本發(fā)明的保護(hù)范圍,本發(fā)明的保護(hù)范圍由所附的權(quán)利要求書進(jìn)行界定。
權(quán)利要求
1.用于在一臺服務(wù)器中向多個接收終端發(fā)送數(shù)據(jù)的裝置,所述裝置包括發(fā)射邏輯,從所述服務(wù)器向所述多個接收終端發(fā)送所述數(shù)據(jù)和確認(rèn)值;以及接收邏輯,從選定的接收終端接收確認(rèn)信號,其中,所述選定的接收終端包括所述多個接收終端中的一部分,在該部分中,本地生成的隨機響應(yīng)值與所述確認(rèn)值有選定關(guān)系。
2.按照權(quán)利要求1所述的裝置,其中,所述發(fā)射邏輯還包括使用帶外傳輸向所述多個接收終端發(fā)送所述確認(rèn)值的邏輯。
3.按照權(quán)利要求1所述的裝置,其中,所述選定關(guān)系出現(xiàn)在所述響應(yīng)值大于所述確認(rèn)值時。
4.按照權(quán)利要求1所述的裝置,其中,所述處理邏輯還包括使用從所述選定的接收終端發(fā)送的所述確認(rèn)信號來確定接收概率的邏輯。
5.按照權(quán)利要求4所述的裝置,其中,所述處理邏輯還包括如果所述接收概率低于選定的服務(wù)等級則從所述服務(wù)器重發(fā)所述數(shù)據(jù)的邏輯。
6.按照權(quán)利要求4所述的裝置,其中,所述處理邏輯還包括如果所述接收概率高于選定的服務(wù)等級則停止從所述服務(wù)器發(fā)送所述數(shù)據(jù)的邏輯。
7.按照權(quán)利要求1所述的裝置,其中,所述處理邏輯還包括調(diào)整所述確認(rèn)值以便調(diào)整服務(wù)器處接收到的確認(rèn)信號的數(shù)量的邏輯。
8.按照權(quán)利要求1所述的裝置,其中,所述發(fā)射邏輯還包括使用多播傳輸從所述服務(wù)器向所述多個接收終端發(fā)送所述數(shù)據(jù)的邏輯。
9.一種用于在一臺服務(wù)器中向多個接收終端發(fā)送數(shù)據(jù)的方法,所述方法包括從所述服務(wù)器向所述多個接收終端發(fā)送所述數(shù)據(jù)和確認(rèn)值;以及從選定的接收終端接收確認(rèn)信號,其中,所述選定的接收終端包括所述多個接收終端中的一部分,在該部分中,本地生成的隨機響應(yīng)值與所述確認(rèn)值有選定關(guān)系。
10.按照權(quán)利要求9所述的方法,還包括使用帶外傳輸向所述多個接收終端發(fā)送所述確認(rèn)值。
11.按照權(quán)利要求9所述的方法,其中,所述選定關(guān)系出現(xiàn)在所述響應(yīng)值大于所述確認(rèn)值時。
12.按照權(quán)利要求9所述的方法,還包括使用從所述選定的接收終端發(fā)送的所述確認(rèn)信號來確定接收概率。
13.按照權(quán)利要求12所述的方法,還包括如果所述接收概率低于選定的服務(wù)等級,則從所述服務(wù)器重發(fā)所述數(shù)據(jù)。
14.按照權(quán)利要求12所述的方法,還包括如果所述接收概率高于選定的服務(wù)等級,則停止從所述服務(wù)器發(fā)送所述數(shù)據(jù)。
15.按照權(quán)利要求9所述的方法,還包括調(diào)整所述確認(rèn)值,以便調(diào)整服務(wù)器處接收到的確認(rèn)信號的數(shù)量。
16.按照權(quán)利要求9所述的方法,還包括使用多播傳輸從所述服務(wù)器向所述多個接收終端發(fā)送所述數(shù)據(jù)。
17.用于在一臺服務(wù)器中向多個接收終端發(fā)送數(shù)據(jù)的裝置,所述方法包括從所述服務(wù)器向所述多個接收終端發(fā)送所述數(shù)據(jù)和確認(rèn)值的模塊;以及從選定的接收終端接收確認(rèn)信號的接收模塊,其中,所述選定的接收終端包括所述多個接收終端中的一部分,在該部分中,本地生成的隨機響應(yīng)值與所述確認(rèn)值有選定關(guān)系。
18.按照權(quán)利要求17所述的裝置,還包括使用帶外傳輸向所述多個接收終端發(fā)送所述確認(rèn)值的模塊。
19.按照權(quán)利要求17所述的裝置,其中,所述選定關(guān)系出現(xiàn)在所述響應(yīng)值大于所述確認(rèn)值時。
20.按照權(quán)利要求17所述的裝置,還包括使用從所述選定的接收終端發(fā)送的所述確認(rèn)信號來確定接收概率的模塊。
21.按照權(quán)利要求20所述的裝置,還包括如果所述接收概率低于選定的服務(wù)等級則從所述服務(wù)器重發(fā)所述數(shù)據(jù)的邏輯。
22.按照權(quán)利要求20所述的裝置,還包括如果所述接收概率高于選定的服務(wù)等級則停止從所述服務(wù)器發(fā)送所述數(shù)據(jù)的模塊。
23.按照權(quán)利要求17所述的裝置,還包括調(diào)整所述確認(rèn)值以便調(diào)整服務(wù)器處接收到的確認(rèn)信號的數(shù)量的模塊。
24.按照權(quán)利要求17所述的裝置,還包括使用多播傳輸從所述服務(wù)器向所述多個接收終端發(fā)送所述數(shù)據(jù)的模塊。
25.一種包括有指令的計算機可讀介質(zhì),當(dāng)由一臺服務(wù)器中的處理邏輯執(zhí)行時所述指令向多個接收終端發(fā)送數(shù)據(jù),所述計算機可讀介質(zhì)包括從所述服務(wù)器向所述多個接收終端發(fā)送所述數(shù)據(jù)和確認(rèn)值的指令;以及從選定的接收終端接收確認(rèn)信號的指令,其中,所述選定的接收終端包括所述多個接收終端中的一部分,在該部分中,本地生成的隨機響應(yīng)值與所述確認(rèn)值有選定關(guān)系。
26.按照權(quán)利要求25所述的計算機可讀介質(zhì),還包括使用帶外傳輸向所述多個接收終端發(fā)送所述確認(rèn)值的指令。
27.按照權(quán)利要求25所述的計算機可讀介質(zhì),所述選定關(guān)系出現(xiàn)在所述響應(yīng)值大于所述確認(rèn)值時。
28.按照權(quán)利要求25所述的計算機可讀介質(zhì),還包括使用從所述選定的接收終端發(fā)送的所述確認(rèn)信號來確定接收概率的指令。
29.按照權(quán)利要求28所述的計算機可讀介質(zhì),還包括如果所述接收概率低于選定的服務(wù)等級則從所述服務(wù)器重發(fā)所述數(shù)據(jù)的指令。
30.按照權(quán)利要求28所述的計算機可讀介質(zhì),還包括如果所述接收概率高于選定的服務(wù)等級則停止從所述服務(wù)器發(fā)送所述數(shù)據(jù)的指令。
31.按照權(quán)利要求25所述的計算機可讀介質(zhì),還包括調(diào)整所述確認(rèn)值以便調(diào)整服務(wù)器處接收到的確認(rèn)信號的數(shù)量的指令。
32.按照權(quán)利要求25所述的計算機可讀介質(zhì),還包括使用多播傳輸從所述服務(wù)器向所述多個接收終端發(fā)送所述數(shù)據(jù)的指令。
33.用于在一個接收終端中接收從一臺服務(wù)器向多個接收終端發(fā)送的數(shù)據(jù)的裝置,所述裝置包括接收邏輯,接收從所述服務(wù)器發(fā)送的所述數(shù)據(jù)和確認(rèn)值;生成邏輯,生成隨機響應(yīng)值;處理邏輯,將所述響應(yīng)值與確認(rèn)值進(jìn)行比較;以及發(fā)射邏輯,如果所述響應(yīng)值與所述確認(rèn)值有選定的關(guān)系,則從所述接收終端向所述服務(wù)器發(fā)送確認(rèn)信號。
34.按照權(quán)利要求33所述的裝置,其中,所述接收邏輯還包括使用帶外傳輸接收所述確認(rèn)值的邏輯。
35.按照權(quán)利要求33所述的裝置,其中,所述選定關(guān)系出現(xiàn)在所述響應(yīng)值大于所述確認(rèn)值時。
36.按照權(quán)利要求33所述的裝置,其中,所述接收邏輯還包括接收來自所述服務(wù)器的多播傳輸中的所述數(shù)據(jù)的邏輯。
37.用于在一個接收終端中接收從一臺服務(wù)器向多個接收終端發(fā)送的數(shù)據(jù)的方法,所述方法包括接收從所述服務(wù)器發(fā)送的所述數(shù)據(jù)和確認(rèn)值;生成隨機響應(yīng)值;將所述響應(yīng)值與確認(rèn)值進(jìn)行比較;以及如果所述響應(yīng)值與所述確認(rèn)值有選定的關(guān)系,則向所述服務(wù)器發(fā)送確認(rèn)信號。
38.按照權(quán)利要求37所述的方法,還包括使用帶外傳輸接收所述確認(rèn)值。
39.按照權(quán)利要求37所述的方法,其中,所述選定關(guān)系出現(xiàn)在所述響應(yīng)值大于所述確認(rèn)值時。
40.按照權(quán)利要求37所述的方法,還包括接收來自所述服務(wù)器的多播傳輸中的所述數(shù)據(jù)。
41.用于在一個接收終端中接收從一臺服務(wù)器向多個接收終端發(fā)送的數(shù)據(jù)的裝置,所述裝置包括接收從所述服務(wù)器發(fā)送的所述數(shù)據(jù)和確認(rèn)值的模塊;生成隨機響應(yīng)值的模塊;將所述響應(yīng)值與確認(rèn)值進(jìn)行比較的模塊;以及如果所述響應(yīng)值與所述確認(rèn)值有選定的關(guān)系則向所述服務(wù)器發(fā)送確認(rèn)信號的模塊。
42.按照權(quán)利要求41所述的裝置,還包括使用帶外傳輸接收所述確認(rèn)值的模塊。
43.按照權(quán)利要求41所述的裝置,其中,所述選定關(guān)系出現(xiàn)在所述響應(yīng)值大于所述確認(rèn)值時。
44.按照權(quán)利要求41所述的裝置,還包括接收來自所述服務(wù)器的多播傳輸中的所述數(shù)據(jù)的模塊。
45.一種包括有指令的計算機可讀介質(zhì),當(dāng)由一個接收終端中的處理邏輯執(zhí)行時所述指令用于接收從一臺服務(wù)器向多個接收終端發(fā)送的數(shù)據(jù),所述計算機可讀介質(zhì)包括接收從所述服務(wù)器發(fā)送的所述數(shù)據(jù)和確認(rèn)值的指令;生成隨機響應(yīng)值的指令;將所述響應(yīng)值與確認(rèn)值進(jìn)行比較的指令;以及如果所述響應(yīng)值與所述確認(rèn)值有選定的關(guān)系則向所述服務(wù)器發(fā)送確認(rèn)信號的指令。
46.按照權(quán)利要求45所述的計算機可讀介質(zhì),還包括使用帶外傳輸接收所述確認(rèn)值的指令。
47.按照權(quán)利要求45所述的計算機可讀介質(zhì),其中,所述選定關(guān)系出現(xiàn)在所述響應(yīng)值大于所述確認(rèn)值時。
48.按照權(quán)利要求45所述的計算機可讀介質(zhì),還包括接收來自所述服務(wù)器的多播傳輸中的所述數(shù)據(jù)的指令。
49.用于在一個接收終端中接收從一臺服務(wù)器向多個接收終端發(fā)送的數(shù)據(jù)的裝置,所述裝置包括接收邏輯,接收從所述服務(wù)器發(fā)送的所述數(shù)據(jù)和確認(rèn)值,并且其中,所述接收邏輯檢測數(shù)據(jù)接收錯誤;生成邏輯,生成隨機響應(yīng)值;處理邏輯,將所述響應(yīng)值與確認(rèn)值進(jìn)行比較;以及發(fā)射邏輯,如果檢測到數(shù)據(jù)接收錯誤并且所述響應(yīng)值與所述確認(rèn)值有選定的關(guān)系則從所述接收終端向所述服務(wù)器發(fā)送否認(rèn)信號。
50.按照權(quán)利要求49所述的裝置,其中,所述接收邏輯還包括使用帶外傳輸接收所述確認(rèn)值的邏輯。
51.按照權(quán)利要求49所述的裝置,其中,所述選定關(guān)系出現(xiàn)在所述響應(yīng)值大于所述確認(rèn)值時。
52.按照權(quán)利要求49所述的裝置,其中,所述接收邏輯還包括接收來自所述服務(wù)器的多播傳輸中的所述數(shù)據(jù)的邏輯。
53.按照權(quán)利要求49所述的裝置,還包括計時邏輯,測量選定的時間間隔。
54.按照權(quán)利要求53所述的裝置,其中,所述發(fā)射邏輯在所述選定的時間間隔結(jié)束時發(fā)送所述否認(rèn)信號。
55.按照權(quán)利要求54所述的裝置,其中,所述選定的時間間隔是隨機的時間間隔。
全文摘要
使用概率性反饋對多播內(nèi)容傳送進(jìn)行優(yōu)化的方法和裝置。本發(fā)明提供了一種用于從一臺服務(wù)器向多個接收終端發(fā)送數(shù)據(jù)的方法。該方法包括從所述服務(wù)器向所述多個接收終端發(fā)送數(shù)據(jù);在每個接收終端處生成隨機響應(yīng)值。該方法還包括在每個接收終端處,將所述響應(yīng)值與確認(rèn)值進(jìn)行比較;從選定的接收終端向所述服務(wù)器發(fā)送確認(rèn)信號。選定的接收終端包括所述多個接收終端中的一部分,在該部分中,本地生成的隨機響應(yīng)值與所述確認(rèn)值有選定關(guān)系。
文檔編號H04L12/26GK1926808SQ200480042506
公開日2007年3月7日 申請日期2004年12月8日 優(yōu)先權(quán)日2004年1月20日
發(fā)明者拉溫德·保羅·昌德霍克, 保羅·E·雅各布斯, 陳安梅, 薩蒂·M·納佳拉杰, 本·A·賽義迪 申請人:高通股份有限公司