將客戶機分組並依此傳送內容的系統、方法和電腦程式產品的製作方法
2023-12-06 12:20:46 1
專利名稱:將客戶機分組並依此傳送內容的系統、方法和電腦程式產品的製作方法
技術領域:
本發明一般地涉及用於傳送內容的系統和方法,具體地涉及用於根據客戶機分組來傳送內容以平衡傳送網絡上負荷的系統、方法和電腦程式產品。
背景技術:
現代通信時代已經帶來有線網絡和無線網絡的巨大擴張。計算機網絡、電視網絡和電話網絡正在經歷著由消費者需求所助推的前所未有的技術擴張。無線和移動聯網技術已經在提供信息傳送的更多靈活性和即時性的同時致力於有關的消費者需求。
當前以及未來的有線和無線技術持續促進信息傳送的簡易性和用戶的便利性。本地、區域和全球網絡如網際網路的激增已經使信息海洋造福於社會。這些聯網技術已經擴張至越來越多地包括無線和移動技術。通過這些網絡,可以將信息下載到桌上型系統、無線系統、移動系統等。例如,可經由網際網路獲得的信息現在可以下載到移動無線單元如蜂窩電話、個人數字助理(PDA)、膝上型計算機等上。一種有助於傳送網際網路內容到無線設備和從無線設備傳送網際網路內容的此類技術是將網際網路和其它網絡整合到無線網絡平臺的無線應用協議(WAP)。一般而言,WAP是將網際網路標準和用於無線服務的標準這二者的特徵和功能納入考慮之中的協議集。它獨立於無線網絡標準而且被設計成開放式標準。WAP彌合了無線網際網路範例與無線域之間的鴻溝,從而允許無線設備用戶跨經兩個平臺享受網際網路之益處。
常有2G無線服務之稱的第二代無線服務是基於電路交換技術的當前無線服務。在這一點上,2G系統如全球移動通信系統(GSM)和個人通信服務(PCS)將數字無線電技術用於相對於第一代移動技術而言有所改進的服務質量和更廣泛的服務範圍。常有3G無線服務之稱的第三代無線服務是指如下數位技術集,該數位技術集有望通過在終端與網絡之間部署新的基於分組的傳輸方法來提升容量、速度和效率。3G設備和網絡的用戶將能夠訪問多媒體服務,例如視頻點播、視頻會議、快速Web訪問和文件傳送。現存以及未來的服務正在並且將繼續由網絡伺服器來提供,該網絡伺服器經由網絡使得服務和應用為行動裝置用戶所用。
數量難以置信的內容、應用、服務等已經可用於在無線設備上使用。另外,將可為移動終端所用的信息量會在未來數年顯著地增長,因為進一步的技術發展將繼續縮減桌上型單元與無線單元之間的差距。然而,可用信息的數量增長和接收如此大量信息的終端的數目增長對於提供此類信息的伺服器和用來傳送此類信息的網絡而言可能變得難以承受,特別是在為數眾多的終端或者終端用戶同時請求信息時更是如此。因此將希望設計一種在發送和/或接收內容、信息等時平衡網絡上的負荷以及由此平衡伺服器上的負荷的系統和方法。
發明內容
鑑於上述背景,本發明的實施例提供一種將客戶機分組和根據客戶機組來傳送內容的系統、方法和電腦程式產品。根據本發明實施例的系統、方法和電腦程式產品,用於將從伺服器下載內容或者上載內容到伺服器的客戶機可以被分配到一個或多個組。正如下文說明的,可以用許多不同方式中的任何方式將客戶機分組,例如包括待傳送的內容的大小、傳送該內容的速度和在傳送中沒有經歷中斷的情況下傳送該內容的概率。而且通過將客戶機分組,通過至少一個傳送網絡下載或者上載內容的客戶機的數目可以在一段時間內至少部分地被平衡。
根據本發明的一個方面,提供了一種系統,包括多個客戶機和伺服器,該伺服器能夠將該多個客戶機分配到至少一個組以便將內容傳送到伺服器和/或從伺服器傳送內容。該伺服器能夠基於內容的大小、傳送速度和在傳送中沒有經歷中斷的情況下傳送內容的概率來分配客戶機中的至少一個客戶機。在這一點上,該伺服器還能夠收集與傳送速度和在傳送中沒有經歷中斷的情況下傳送內容的概率有關的統計數據以由此確定傳送速度和在傳送中沒有經歷中斷的情況下傳送內容的概率。
該伺服器還能夠將客戶機中的至少一個客戶機分配到與至少一個傳送窗相關聯的一個或多個組,在該至少一個傳送窗之內相應的一個或多個客戶機能夠傳送內容到伺服器和/或從伺服器傳送內容。例如,伺服器能夠基於一個或多個組的大小將客戶機中的至少一個客戶機分配到一個或多個組。又如,伺服器能夠將客戶機中的至少一個客戶機分配到一個或多個組,使得傳送內容的客戶機的數目不超過同時傳送的預定義數目。伺服器能夠將客戶機中的至少一個客戶機分配到一個或多個組,使得在傳送期間內,由多個客戶機傳送的不同內容類型的數目不超過不同類型的預定義數目。再如,伺服器能夠將客戶機中的至少一個客戶機分配到一個或多個組,使得在傳送期間內,由每個相應客戶機傳送的不同內容類型的數目不超過不同類型的預定義數目。同樣在又一例子中,伺服器能夠將客戶機中的至少一個客戶機分配到一個或多個分,使得對於分配到該多個組的客戶機,相應的客戶機被分配到與不重疊的傳送窗相關聯的組。
具體來說,伺服器能夠通過首先將傳送期間分成至少一個傳送窗來分配客戶機中的至少一個客戶機。在這樣的實例中,伺服器然後可以基於內容的大小、傳送速度和在傳送中沒有經歷中斷的情況下傳送內容的概率來確定一個或多個傳送窗的長度。隨後,伺服器能夠將客戶機中的至少一個客戶機分配到一個或多個組,該一個或多個組與該至少一個傳送窗相關聯。
無論伺服器如何將至少一個客戶機分配到一個或多個組,客戶機中的至少一個客戶機能夠基於該一個或多個組來傳送內容到伺服器和/或傳送來自伺服器的內容。在這一點上,伺服器能夠確定當前時間是否在與包括至少一個客戶機的一個或多個組相關聯的至少一個傳送窗之內。而且如果當前時間是在至少一個傳送窗之內,則伺服器能夠指示相應的一個或多個客戶機傳送內容到伺服器和/或傳送來自伺服器的內容。另外,伺服器能夠以預定的間隔重複地確定當前時間是否在至少一個這樣的傳送窗之內。在這樣的實例中,如果相應的一個或多個客戶機在傳送內容時經歷中斷,則伺服器能夠指示相應的一個或多個客戶機以由此允許相應的一個或多個客戶機恢復傳送內容。
根據本發明的其它方面,提供了一種伺服器、客戶機、方法和電腦程式產品。因此,本發明的實施例提供了一種用於將客戶機分組和根據客戶機分組來傳送內容的系統、方法和電腦程式產品。本發明實施例的系統、方法和電腦程式產品提供了在客戶機通過網絡上載內容到伺服器和/或從伺服器下載內容時利用的伺服器和網絡資源的較大平衡。在這一點上,本發明的實施例允許伺服器基於許多不同因素將客戶機分組,其中一些因素可以基於由伺服器收集的統計數據來確定。因此,本發明實施例的系統、方法和電腦程式產品解決了現有技術所認同的問題而且提供了附加的優點。
已經如是一般性地描述了本發明,現在將對附圖進行參照,該附圖不必是按比例繪製的,其中圖1是根據本發明一個實施例包括蜂窩網絡和數據網絡的無線通信系統的示意框圖,其中終端通過無線RF鏈路雙向地耦合到該蜂窩網絡和該數據網絡;圖2是根據本發明實施例能操作為終端、服務提供者、數字廣播接收器和/或數字廣播器的實體的示意框圖;圖3是根據本發明一個實施例的數字廣播接收器的功能框圖;圖4是根據本發明一個實施例的數字廣播器的功能框圖;圖5是根據本發明實施例可以操作為終端的移動臺的示意框圖;圖6是根據本發明一個實施例,客戶機傳送內容到伺服器和/或傳送來自所述伺服器的內容的功能性框圖;
圖7是根據本發明實施例的包括許多傳送窗的傳送期間的示意框圖;以及圖8和圖9是圖示了根據本發明一個實施例的方法中的各種步驟的流程圖,該方法預訂從伺服器下載內容,隨後根據該預訂來下載內容。
具體實施例方式
現在將參照其中示出了本發明優選實施例的附圖,更加完全地描述本發明。然而,本發明可以用許多不同形式加以實施,而不應當理解為將本發明限制於這裡闡述的實施例;實際上提供這些實施例以使得本公開將是透徹和完整的,而且將向本領域技術人員完全地傳達本發明的範圍。相似的標號通篇地指代相似的單元。
參照圖1,提供了對於將會從本發明中受益的一類終端和系統的圖示。將主要與移動通信應用相結合地描述本發明實施例的系統、方法和電腦程式產品。然而,應當理解,可以在移動通信業中和在移動通信業以外與各種其它應用相結合地利用本發明實施例的系統、方法和電腦程式產品。例如,可以與有線和/或無線網絡(例如網際網路)應用相結合地利用本發明實施例的系統、方法和電腦程式產品。
如圖所示,終端10可以包括用於發送信號到基站點或基站(BS)14以及從基站點或基站(BS)14接收信號的天線12。基站是蜂窩網絡的一部分,該蜂窩網絡包括為了操作網絡而需要的單元,例如移動交換中心(MSC)16。正如本領域技術人員所公知的,蜂窩網絡也可以稱為基站/MSC/網際互通功能(BMI)。在操作中,MSC能在終端進行和接收呼叫時路由去往終端和來自終端的呼叫和消息。MSC也可以在終端涉及到呼叫中時提供對陸線主幹的連接。此外,MSC可以耦合到伺服器網關(GTW)18。
MSC 16可以耦合到數據網,例如區域網(LAN)、城域網(MAN)和/或廣域網(WAN)。MSC可以直接地耦合到數據網。然而在一個典型實施例中,MSC耦合到GTW 18,而GTW耦合到WAN,例如網際網路20。例如處理單元(例如個人計算機、伺服器計算機等)這樣的設備又可以經由網際網路耦合到終端10。例如,如下說明的,處理單元可以包括與起始伺服器22相關聯的一個或多個處理單元,其中之一在圖1中示出。
除MSC 16之外,BS 14也可以耦合到信令GPRS(通用分組無線服務)支持節點(SGSN)24。正如本領域技術人員所公知的,SGSN對於分組交換服務通常能執行與MSC 16相似的功能。與MSC相似,SGSN可以耦合到數據網,例如網際網路22。SGSN可以直接地耦合到數據網。然而,在更典型的實施例中,SGSN耦合到分組交換核心網,例如GPRS核心網26。分組交換核心網然後耦合到另一GTW,例如GTW GPRS支持節點(GGSN)28,而GGSN耦合到網際網路。
通過將SGSN 24耦合到GPRS核心網26和GGSN 28,例如服務提供者22這樣的設備可以經由網際網路20、SGSN和GGSN耦合到終端10。在這點上,例如服務提供者這樣的設備可以穿過SGSN、GPRS和GGSN與終端通信。例如,服務提供者可以例如根據多媒體廣播多播服務(MBMS)向終端提供內容。對於關於MBMS的更多信息,參見標題為Multimedia Broadcast Multicast Service(多媒體廣播多播服務(MBMS)的第三代夥伴項目(3GPP)技術規範3GPP TS 22.146,通過參考將其內容整體引入於此。
除了被耦合到BS14之外,終端10還可以無線地耦合到一個或多個無線接入點(AP)30。AP可以包括被配置用以根據如下技術進行通信的接入點,如例如射頻(RF)、藍牙(BT)、紅外線(IrDA)或者許多不同無線聯網技術中的任何技術,包括WLAN技術在內。附加地或者可選地,終端可以耦合到一個或多個用戶處理器31。每個用戶處理器可以包括例如個人計算機、膝上型計算機等計算系統。在這點上,用戶處理器可以被配置用以根據如下技術來與終端通信,如例如RF、BT、IrDA或者許多不同的有線或無線通信技術中的任何技術,包括通用串行總線(USB)、LAN和/或WLAN技術在內。一個或多個用戶處理器可以附加地或者可選地包括能存儲可以隨後傳送到終端的內容的可移除存儲器。
終端10還可以耦合到一個或多個便攜電子設備33,例如數字攝像機和/或其它多媒體捕獲、產生和/或存儲設備。與用戶處理器31相似,終端可以被配置用以根據如下技術來與便攜電子設備通信,如例如RF、BT、IrDA或者許多不同的有線或無線通信技術中的任何技術,包括USB、LAN和/或WLAN技術在內。
AP 30和用戶處理器31可以耦合到網際網路20。與MSC 16相似,AP和用戶處理器可以直接地耦合到網際網路。然而在一個實施例中,AP經由GTW 18間接地耦合到網際網路。正如將理解到的,通過直接地或者間接地將終端和服務提供者22以及許多其它設備中的任何設備連接到網際網路,終端以及耦合到這種終端的便攜電子設備可以相互通信、與服務提供者等通信。如這裡所使用的,術語「數據」、「內容」、「信息」和類似術語可以互換地用來指代能根據本發明實施例加以發送、接收和/或存儲的數據。因此,任何這種術語的使用不應當理解為限制本發明的精神和範圍。
另外,終端10可以附加地或者可選地經由例如地面數字視頻廣播(例如DVB-T、DVB-H、ISDB-T、ATSC等)網絡這樣的數字廣播網耦合到數字廣播器32。正如將理解到的,通過直接地或者間接地連接終端和數字廣播器,終端可以從數字廣播器接收內容,例如一個或多個電視、無線電和/或數據信道的內容。在這點上,數字廣播器可以包括或者耦合到發射器(TX)34,例如DVB-T TX。類似地,終端可以包括接收器,例如DVB-T接收器(未示出)。終端可以能用許多不同方式中的任何一個或多個方式從許多不同實體中的任何實體接收內容。例如在一個實施例中,終端可以包括終端10』,該終端10』能根據DVB(例如DVB-T、DVB-H等)技術以及蜂窩(例如1G、2G、2.5G、3G等)通信技術來發送和/或接收數據、內容等。在這樣的實施例中,終端10』可以包括用於從DVB-T TX接收內容的天線12A以及用於發送信號到BS 14和從BS 14接收信號的另一天線12B。關於這種終端的信息,參見提交於2001年6月29日、標題為Receiver(接收器)的美國專利申請第09/894,532號,通過參考將其內容整體引入於此。
除直接地經由TX 34將終端10耦合到數字廣播器32之外或者取而代之,終端可以耦合到數字廣播器(DB)接收器36,該接收器36又可以例如直接地和/或經由TX耦合到數字廣播器32。在這樣的實例中,數字廣播接收器可以包括DVB-T接收器,例如機頂盒形式的DVB-T接收器。終端可以例如經由個人區域網在本地耦合到數字廣播接收器。然而在一個實施例中,終端可以附加地或者可選地經由網際網路20間接地耦合到數字廣播接收器。
現在參照圖2,根據本發明的一個實施例示出了能操作為終端10、服務提供者22、用戶處理器31、數字廣播接收器36和/或數字廣播器32的實體的框圖。儘管表示為分離的實體,但是在一些實施例中一個或多個實體可以支持在邏輯上分離但是在該一個或多個實體之內一起放置的終端、服務提供者、數字廣播接收器和/或數字廣播器中的一個或多個。例如,單個實體可以支持在邏輯上分離但是一起放置的終端和數字廣播接收器。又如,單個實體可以支持在邏輯上分離但是一起放置的數字廣播接收器和數字廣播器。
如圖所示,可操作為終端10、服務提供者22、數字廣播接收器36和/或數字廣播器32的實體一般可以包括連接到存儲器40的處理器38。處理器也可以連接到用於發送和/或接收數據、內容等的至少一個接口42或者其它裝置。存儲器可以包括易失性和/或非易失性存儲器,而且通常存儲內容、數據等。例如,存儲器通常存儲從實體發送或者由實體接收的內容。又如,存儲器通常存儲用於讓處理器根據本發明實施例執行與實體的操作相關聯的步驟的軟體應用、指令等。正如下文說明的,存儲器40可以存儲伺服器代理,該伺服器代理能將一個或多個客戶機分組成一個或多個組,使得客戶機隨後可以根據這些組來上載內容到一個或多個伺服器或者從該伺服器下載內容。類似地,該存儲器可以除此之外或者取而代之地存儲客戶機代理,該客戶機代理能根據這些組來上載內容到一個或多個伺服器或者從該一個或多個伺服器下載內容。
現在參照圖3,該示了根據本發明一個實施例的數字廣播接收器36的功能框圖。如圖所示,數字廣播接收器包括用於從數字廣播器32接收信號和饋送信號到接收器(RX)46中的天線44。接收器又能對信號進行解密、解調和/或解多路復用,以提取內容數據。接收器可以將內容數據饋送到處理器48,該處理器隨後可以對內容數據進行解碼。處理器然後可以將解碼的信號饋送到音頻/視頻(A/V)接口50中,該接口可以將信號轉換成適合於由例如電視機52這樣的監視器顯示的形式。
數字廣播接收器36可以包括易失性存儲器54,例如包括用於臨時存儲數據的高速緩存區的易失性隨機存取存儲器(RAM)。數字廣播接收器也可以包括可以是嵌入的和/或可以移除的非易失性存儲器56。非易失性存儲器可以附加地或者可選地包括EEPROM、快閃記憶體、硬碟等。存儲器可以存儲由數字廣播接收器用來實施數字廣播接收器功能的許多條信息、內容和數據中的任一條信息、內容和數據。例如,如上所示,存儲器可以存儲內容,例如從數字廣播器32接收的內容。又如,存儲器可以存儲分別地能對一個或多個客戶機分組和/或根據這些組來上載或者下載內容的伺服器代理和/或客戶機代理。
數字廣播接收器36也可以包括用於共享和/或獲得來自例如終端10和/或數字廣播器32這樣的電子設備的數據的一個或多個接口裝置。更特別地,數字廣播接收器可以包括用於共享和/獲得來自網際網路20這樣的網絡的數據的網絡接口裝置60。例如,數字廣播接收器可以包括被配置用以發送數據到例如網際網路這樣的網絡和/或從該網絡接收數據的乙太網個人計算機存儲器卡國際協會(PCMCIA)卡。
數字廣播接收器36也可以包括用於在本地共享和/或獲得來自例如終端這樣的電子設備的數據的一個或多個本地接口裝置62。例如,數字廣播接收器可以包括射頻收發器和/或紅外線(IR)收發器,使得可以根據射頻和/或紅外線傳送技術來共享和/或獲得數據。附加地或者可選地,例如數字廣播接收器可以包括使用由藍牙專門興趣組開發的藍牙品牌無線技術的藍牙(BT)收發器,使得數字廣播接收器可以根據藍牙傳送技術來共享和/或獲得數據。另外,數字廣播接收器可以附加地或者可選地根據包括LAN和/或WLAN技術在內的許多不同有線和/或無線聯網技術中的任何技術來共享/或獲得數據。
現在對圖4進行參照,該示了本發明一個實施例的數字廣播器32的功能框圖。與數字廣播接收器36相似,數字廣播器可以包括能實現數字廣播器功能的處理器64。數字廣播器也可以包括易失性存儲器66,例如包括用於暫時存儲數據的高速緩存區的易失性隨機存取存儲器(RAM)。數字廣播器也可以包括可以是嵌入的和/或可以移除的非易失性存儲器68。非易失性存儲器可以附加地或者可選地包括EEPROM、快閃記憶體、硬碟等。存儲器可以存儲由數字廣播器用來實施數字廣播器功能的許多條信息、內容和數據中的任一條信息、內容和數據。例如,如上所示,存儲器可以存儲內容,例如用於電視頻道的內容和用於許多其它電視、無線和/或數據信道的其它內容。又如,存儲可以存儲如下所述的伺服器代理和/或客戶機代理。
數字廣播器32也可以包括多路復用器70,該多路復用器能對用於許多電視、無線電和/或數據信道的內容進行多路復用。多路復用器然後可以將所得信號饋送到可以如圖1中所示與數字廣播器相分離的或者如圖4中所示結合於數字廣播器之內的TX 34中。無論TX相對於數字廣播器如何放置,TX都可以例如經由天線72從多路復用器接收用於加密、調製、放大和/或發送的信號。在這點上,例如數字廣播器能例如根據例如DVB-T這樣的數字廣播技術直接地或者間接地將內容發送到數字廣播接收器36和/或終端10。對於關於DVB-T更多信息,參見標題為Digital Video Broadcasting(DVB)Framing structure,channel coding and modulation for digital terrestrial television(數字視頻廣播(DVB)用於數字地面電視的成幀結構、信道編碼和調製)的歐洲電信標準學會(ETSI)EN 300 744(1997年第1.1.2版)和有關規範,通過參考將其內容整體引入於此。
根據例如DVB-T這樣的許多數字廣播技術,網際協議(IP)數據廣播(IPDC)可以用來將音頻、視頻和/或其它內容提供給終端10。在這點上,數字廣播器32可以能利用數字廣播技術將IP數據廣播內容提供給終端。正如本領域技術人員將理解到的,例如DVB-T這樣的數字廣播技術在本質上是蜂窩式的,其中發射站與許多不同小區中的每個小區相關聯。DVB-T例如使用MPEG-2傳輸流,這樣IP數據就可以封裝到從數字廣播器或者更特別地是TX 34發送的DVB發射信號中。包括IP數據報在內的數據流可以從幾個源來提供,而且由IP封裝器(未示出)封裝。IP封裝器又可以將封裝的IP數據流饋送到數據廣播(例如DVB-T)網中。
封裝的IP數據流然後可以傳輸到一個或多個發射站,其中發射站形成數據廣播網的小區。例如,封裝的IP數據流可以在MPEG-2傳送流上傳輸到一個或多個發射站,以便後續直接地空中傳輸到終端或者服務於一個或多個終端的接收器站。正如將理解到的,來自IP封裝器所產生的、由終端或者接收器站接收的MPEG-2傳送流實際上通常是單向的。在這點上,包含數據的IP分組可以嵌入於在傳輸流分組之內的多協議封裝(MPE)部分中。
除IP分組之外,MPE部分也可以包括前向糾錯(FEC)信息和時間分片信息。通過包括例如時間分片信息這樣的信息,可以與接收器(例如終端10)非持續地傳達數據,這樣能通過在沒有數據傳輸到接收器時關斷來節省電池電力。在其它方面,根據一個時間分片技術,而不是使用連續數字廣播(例如DVB-T)傳送的當前默認方法,可以運用時分復用型分配技術(例如DVB-H標準)。利用這樣的方式,就可以以突發提供服務,這允許接收器在接收器沒有接收數據時關電而且根據需要允許接收器上電以接收數據分組。
圖5圖示了根據本發明實施例可以操作為終端10的移動臺的功能圖。應當理解,所示的和下文所述的移動臺僅說明將從本發明中受益的一類終端,因此不應當理解為限制本發明的範圍。儘管出於例子的目的圖示了和將在下文描述終端的數個實施例,但是例如便攜數字助理(PDA)、尋呼機、膝上型計算機以及其它類型的語音、文本和多媒體通信系統這樣的其它類型終端也可以容易地運用本發明。
移動臺包括發射器74、接收器76和例如控制器78這樣的處理器,該控制器分別地提供信號到發射器和接收器以及從發射器和接收器接收信號。這些信號包括按照可用蜂窩系統空中接口標準的信令信息以及用戶語音和/或由用戶生成的數據。在這點上,移動臺可以能利用一個或多個空中接口標準、通信協議、調製類型和接入類型進行操作。更特別地,移動臺可以根據許多第一代(1G)、第二代(2G)、2.5G和/或第3三代(3G)通信協議等中的任何協議進行操作。例如,移動臺可以能根據2G無線通信協議IS-136(TDMA)、GSM和IS-95(CDMA)進行操作。移動臺可以附加地或者可選地根據例如DVB技術(例如DVB-T、ETSI標準EN 300 744)這樣的許多不同數字廣播技術中的任何技術進行操作。移動臺也可以根據例如MBMS技術(例如3GPP TS 22.146)這樣的許多不同廣播和/或多播技術中的任何技術進行操作。另外,移動臺可以根據ISDB-T、DAB、ATSC技術等進行操作。正如雙模或更高模式的移動臺(例如數字/模擬或者TDMA/CDMA/模擬電話)那樣,一些窄帶AMPS(NAMPS)以及TACS移動終端也可以從本發明的實施例中受益。
應當理解,控制器78包括為了實施移動臺的音頻和邏輯功能而需要的電路。例如,控制器可以包括數位訊號處理器設備、微處理器設備以及各種模擬到數字轉換器、數字到模擬轉換器和/或其它支持電路。移動臺的控制和信號處理功能根據這些設備的相應能力在它們之間加以分配。控制器還可以包括用以在調製和傳輸之前對消息和數據進行卷積編碼和交織的功能。控制器可以附加地包括內部語音編碼器(VC)78A,以及可以包括內部數據數據機(DM)78B。另外,控制器可以包括用以對可以在存儲器中存儲的一個或多個軟體程序進行操作的功能。
移動臺也包括用戶接口,該用戶接口包括常規耳機或揚聲器80、振鈴器82、麥克風84、顯示器86和用戶輸入接口,所有這些都耦合到控制器78。允許移動臺接收數據的用戶接口可以包括允許移動臺接收數據的許多設備中的任何設備,例如鍵盤88、觸摸顯示器(未示出)或其它輸入設備。在包括小鍵盤的實施例中,該小鍵盤包括常規數字鍵(0-9)和有關鍵(#、*)以及用於操作移動臺的其它鍵。
移動臺也可以包括用於根據許多不同的有線和/或無線技術中的任何技術來共享和/獲得來自例如另一終端10、服務提供者22、AP30、數字廣播接收器36、數字廣播器32等電子設備的數據的一個或多個裝置。例如,移動臺可以包括射頻(RF)接收器90和/或紅外線(IR)收發器92,使得移動臺可以根據射頻和/或紅外線技術來共享和/或獲得數據。又如,移動臺可以包括藍牙(BT)收發器94,使得移動臺可以根據藍牙傳送技術來共享和/或獲得數據。儘管未示出,但是移動臺可以包括一個或多個埠,例如USB埠,使得移動臺可以根據許多有線技術,例如根據USB技術來共享和/或獲得數據。同樣未示出的是,移動臺可以附加地或者可選地根據包括LAN和/或WLAN技術在內的許多不同的有線和/或無線聯網技術來發送和/或接收來自電子設備的數據。在這點上,關於終端10』如圖1中所示,移動臺可以包括附加天線等以發送和/或接收來自這種電子設備(例如數字廣播器)的數據。
移動臺還可以包括例如用戶標識模塊(SIM)66、可移動用戶標識模塊(R-UIM)等存儲器,存儲器通常存儲與移動用戶有關的信息元素。除SIM之外,移動臺還可以包括其它存儲器。在這點上,與數字廣播接收器36和數字廣播器32相似,移動臺可以包括易失性存儲器98。同樣與數字廣播接收器和數字廣播器相似,移動臺可以包括可以是嵌入的和/或可以是可移動的其它非易失性存儲器100。存儲器可以存儲由移動臺用來實施移動臺功能的許多條信息和數據中的任一條信息和數據。例如,存儲器可以存儲內容,例如從服務提供者22和或數字廣播接收器接收的內容。又如,存儲器也可以存儲客戶端應用,例如用於根據超文本傳送協議(HTTP)進行通信的常規Web瀏覽器、文件傳送(例如FTP)應用、Telnet應用、對等訪問應用等。再如,正如下文說明的,存儲器可以存儲應用,例如分別能將一個或多個客戶機分組和/或根據這些組來上載或者下載內容的伺服器代理和/或客戶機代理等應用。
正如背景技術部分中說明的,可用信息的數量增長和接收如此大量信息的終端10的數目增長對於提供此類信息的伺服器和用來傳送此類信息的網絡而言可能變得難以承受。同樣可以理解,在為數眾多的終端或者終端用戶同時請求信息時,伺服器和傳送網絡上的負擔可能變得巨大。因此,根據本發明的實施例,多個客戶機(例如終端、服務提供者22、用戶處理器31、數字廣播接收器36、數字廣播器32等)可以分組成一個或多個組,使得通過至少一個傳送網絡從伺服器下載內容或者上載內容到伺服器的客戶機(例如終端、服務提供者、用戶處理器、數字廣播接收器、數字廣播器)的數目在一段時間內被至少部分地平衡。
現在對圖6進行參照,該示了根據本發明一個實施例客戶機102上載內容到伺服器104或者從該伺服器104下載內容的功能框圖。如圖所示,客戶機能操作例如客戶機代理106這樣的應用,該應用能上載或者下載一條或多條內容,隨後將該內容存儲於客戶機內存(例如非易失性存儲器100)中的內容儲存器108中。另一方面,該伺服器能操作伺服器代理110,該伺服器代理能將該客戶機與一個或多個其它客戶機分組,使得該客戶機根據該分組來下載內容。在這一點上,伺服器代理也能與客戶機代理進行通信以指引客戶機代理從與該伺服器相關聯的內容儲存器112下載內容。
如這裡所圖示和描述的,客戶機代理106包括由客戶機102操作的軟體,而伺服器代理110包括由伺服器104操作的軟體。然而應當理解,在不脫離本發明的精神和範圍時,客戶機代理和/或伺服器代理可以可選地包括固件或者硬體。同樣,儘管客戶機代理沒有表示和描述為在客戶機本地,但是客戶機代理可以可選地相對於客戶機是分布式的而且例如越過網際網路20與客戶機通信。類似地,伺服器代理可以設置為在伺服器本地或者相對於接收方是分布式的。
現在將結合從伺服器104下載內容的客戶機102來具體地描述本發明實施例的系統、方法和電腦程式產品。同樣正如所述,客戶機包括終端10,該終端從包括數字廣播器32的伺服器針對一個或多個電視、無線電和/或數據信道來下載內容。然而應當理解,在不脫離本發明的精神和範圍的情況下,客戶機等同地可應用於上載內容到伺服器。也應當理解,該內容可以包括能夠從伺服器下載或者上載到伺服器的許多不同類型的多條內容中任一類型的內容,針對每個信道的每個內容代表了某類型的一條或多條內容。
此外,客戶機102可以包括用來上載內容到伺服器或者從伺服器下載內容的任何實體(例如終端10、服務提供者22、用戶處理器31、數字廣播接收器36、數字廣播器等)。另一方面,伺服器104可以包括任何如下實體(例如終端、服務提供者、數字廣播接收器、數字廣播器等),該實體用來將內容發送到從該實體下載內容的客戶機,或者用來從上載內容到該實體的客戶機接收內容。正如將會進一步理解到的,雖然在功能上以不同方法進行操作,但是同一實體可以在不同時間用作客戶機、伺服器或者客戶機和伺服器。
根據本發明的實施例,伺服器代理110能夠將客戶機102分組,使得從伺服器104下載內容的客戶機的數目在一段時間被至少部分地平衡。如這裡所述,該時間段可以從時刻t=0延展到時刻t=T,而且可以稱作傳送期間。例如,為便於客戶機針對一個或多個電視、無線電和/或數據信道來下載內容,該傳送期間可以定義為在00:00與05:00之間的時間段,其中客戶機和伺服器和/或傳送網絡所經歷了有所減少的活動。
如果希望如此以便於平衡從伺服器104下載內容的客戶機102的數目,則伺服器代理110可以將傳送期間分成數目為n的時間段,如圖7中所示,其中每個時間段可以稱為一個傳送窗。傳送窗可以用許多不同方式中的任何方式來配置,但是在一個實施例中,傳送窗配置成使得至少一個客戶機能夠完全地在傳送窗之內完整地下載一條或多條內容。在這一點上,儘管傳送窗的長度對於不同的內容可以不同,但是用於給定一條內容的傳送窗可以具有同一長度。在這一點上,傳送窗的數目和長度可以用許多不同方式中的任何方式來確定。例如,在一個實施例中,傳送窗的數目設置為使得所有傳送窗完全地在傳送期間之內適合,或者換而言之,使得傳送期間至少與所有傳送窗的總長度一樣長。另一方面,傳送窗的長度例如可以基於待下載的內容大小來確定。
除此之外或者取而代之,例如傳送窗的長度可以基於由客戶機102、伺服器104和/或用來下載內容的一個或多個傳送網絡所支持的下載速度來確定。在這一點上,伺服器代理110可以接收或者用別的方式收集統計數據,該統計數據足以確定通過一個或多個傳送網絡將內容從伺服器下載到客戶機的平均速度,該確定例如基於利用相同或者相似的客戶機、伺服器和一個或多個傳送網絡對相同或者相似內容的先前下載。正如將會理解到的,對於在減少的客戶機、伺服器和/或網絡活動期間所限定的傳送時段而言,由於客戶機在這樣的傳送期內間通常不是移動的,所以伺服器代理能夠通過收集相應的統計數據來區分在一個或多個傳送網絡的不同部分中的下載速度,即使伺服器代理可能不了解該一個或多個網絡的拓撲結構或者能力。
傳送窗的長度還可以基於客戶機102以及由此基於伺服器104在下載內容時經歷錯誤或者中斷的概率來確定。在這一點上,這樣的概率可以例如基於客戶機在沒有經歷下載錯誤或者中斷的情況下通常能夠下載的內容的字節數目來確定。相應的內容字節數目可以用許多不同方式中的任何方式來確定,例如根據由伺服器代理110接收或者用別的方式收集的統計數據來確定,其中統計數據可以基於利用相同或者相似客戶機、伺服器和一個或多個傳送網絡對相同或者相似內容的先前下載。無論傳送窗的長度如何確定,本領域技術人員都應當理解,傳送窗的長度以及由此其數目對於不同的多條內容、特別是對於具有不同大小的那些多條內容而不同。
作為用於確定傳送窗長度的技術的例子,考慮具有大小為fileSize並且平均下載時間為timeDL的內容。在這樣的實例中,假定內容可以無錯誤或者無中斷地下載,下載該內容所需要的時間SDT(整體下載時間)可以基於內容的大小和平均下載時間來確定,即SDT=fileSize/timeDL。另外,考慮客戶機在沒有經歷錯誤或者中斷的情況下通常可以下載字節平均數目為byteSucc的內容。同樣正如下文具體說明的,考慮伺服器代理110可以指示客戶機代理106或者客戶機代理重複地請求來自伺服器代理的指令(即輪詢伺服器代理)以在預定的interval(間隔)下載內容。在這樣的實例中,傳送窗的長度還可以基於byteSucc和interval來確定。具體而言,傳送窗的長度window可以確定如下window=SDT+(SDT/byteSucc)×interval。
無論傳送窗在傳送期間之內的數目和長度如何確定,伺服器代理110能夠將客戶機102分組。具體而言,在一個實施例中,伺服器代理能夠基於待下載的內容和用以下載該內容的傳送窗來將客戶機分組。為了進行說明,假定客戶機可以請求從三個數據信道即信道A、B和C中的一個或多個信道下載不同內容,其中每個數據信道包括被分成了多個傳送窗的傳送期間。在這樣的實例中,伺服器代理可以將客戶機分成組,每個組具有相關聯的數據信道和在該數據信道之內的傳送窗。正如將會理解到的,每個客戶機可以包含於各自具有不同相關聯信道的多於一個的組之內。然而,由於每個客戶機在給定的傳送期間中通常不會多於一次地下載任何給定信道的內容,所以任何給定客戶機通常都不包含在與同一信道的不同傳送窗相關聯的多於一個的組內。類似地,雖然客戶機能夠在任何給定時刻例如從多個信道下載不同類型的內容,但是客戶機通常不包含在與重疊的傳送窗口相關聯的多個組之內。
具體而言,考慮能夠由伺服器代理110維護的分組管理表,該分組管理表的例子在下文示出。正如所示,分組管理表說明了三個信道,例如三個電視、無線電和/或數據信道,每個信道代表不同內容。用來從這三個信道下載內容的傳送期間在00:00與05:00之間,而傳送窗的長度已經確定如下windowA=01:15、windowB=01:00和windowC=01:40。根據傳送窗長度和傳送期間,可以表明傳送期間包括用於信道A的四個窗、用於信道B的五個窗和用於信道C的三個窗,如分組管理表中所示。
分組管理表同樣如分組管理表中所示,伺服器代理110可以將請求從相應信道下載內容的客戶機102分組成與相應信道、而且通常是相應信道的傳送窗之一相關聯的組。例如,正如所示,伺服器代理可以將150個客戶機分組成與信道A的第一傳送窗相關聯的組A1、將156個客戶機分組成與信道A的第二傳送窗相關聯的組A2、將141個客戶機分組成與信道A的第三傳送窗相關聯的組A3和將155個客戶機分組成與信道A的第四傳送窗相關聯的組A4。類似地,伺服器代理可以將請求從信道B和C下載內容的客戶機分別地分組成與信道B和C的傳送窗之一相關聯的組。
如上文所示,客戶機通常不會是與給定信道相關聯的多個組如例如組A1和組A2中的成員。然而,客戶機可以是與多個信道相關聯的多個組中的成員。同樣,客戶機通常也不包含在與重疊的傳送窗相關聯的多個組之內。在這一點上,除分組管理表之外,伺服器代理110還可以針對一個或多個客戶機維護客戶機信息記錄,該客戶機信息記錄的例子在下文中示出。正如所示,客戶機信息記錄可以包括客戶機標識,例如終端客戶機的國際移動用戶標識(IMSI)。客戶機信息記錄也可以包括一條或者多條其它的客戶機信息,例如與客戶機先前實現的下載速度和在沒有經歷錯誤或者中斷的情況下由客戶機先前下載的字節的數目有關的統計數據。此外,客戶機信息記錄可以包括相應客戶機為了下載由該客戶機請求的內容而歸屬的組。例如,正如所示,客戶機可以屬於信道A的組1(即組A1)、信道B的組4(即組B4)和信道C的組1(即組C1)。
客戶機信息記錄對於特定信道而言,伺服器代理110可以用許多不同方式中的任何方式將客戶機102分組成與傳送窗之一相關聯的組。例如,伺服器代理可以基於已經在每個組之內的客戶機的數目來分配每個客戶機,例如通過將每個客戶機分配到包含數目最少的客戶機的組中。除此之外或者取而代之,例如伺服器代理可以分配一個或多個客戶機,使得在任何給定時刻,從伺服器104下載內容的客戶機的數目不超過同時下載的預定數目。又如,伺服器代理可以分配一個或多個客戶機,使得在傳送期間,由客戶機下載的信道的數目不超過預定義的信道數目,和/或使得由任一個客戶機下載的信道的數目不超過預定義的信道數目。又如,伺服器代理可以基於包括相應客戶機的其它現有組來將客戶機分組。在這一點上,伺服器代理可以將客戶機分組,使得客戶機不與如下傳送窗相關聯,該傳送窗與關聯於包括相應客戶機在內的其它現有組的傳送窗相重疊。又如,伺服器代理可以基於相應信道的傳送窗的優先級排序來分配一個或多個客戶機。具體而言,伺服器代理可以向由伺服器或者伺服器代理所限定的較優選的客戶機分配較高優先級的傳送窗,例如那些為相應內容提供較迅速下載的傳送窗。
在伺服器代理110已經針對一條或多條不同內容(例如用於一個或多個信道的內容)而將客戶機102放置於一個或多個組中後,客戶機能夠根據該分組從伺服器104下載內容。例如,客戶機或者具體而言是客戶機代理106可以通過針對如下實例以預定間隔(例如上文說明的interval)定期地輪詢伺服器代理來下載內容,在該實例中當前時刻是在與包括客戶機的一個或多個組相關聯的傳送窗之內。作為選擇,伺服器代理可以定期地關於當前時間是否在與包括客戶機的一個或多個組相關聯的傳送窗之內來指示客戶機代理。通過許多不同網絡中的任何網絡(包括與隨後用以從伺服器下載內容的一個或多個傳送網絡相同或者不同的一個或多個網絡),用許多不同方式中的任何方式,客戶機代理可以輪詢伺服器代理,或者伺服器代理可以指示客戶機代理。
無論伺服器代理110是響應於客戶機代理106的輪詢還是指示客戶機代理,如果伺服器代理向客戶機代理指示了當前時間是在與包括客戶機102的一個或多個組相關聯的傳送窗之內,則客戶機代理可以繼續從伺服器104下載與相應的一個或多個組相關聯的內容(例如來自相應信道的內容)。同樣正如將會理解到的,由於客戶機可以是多個組中的成員,所以客戶機代理可以繼續關於當前時間是否在與包括客戶機的一個或多個組相關聯的傳送窗之內來輪詢伺服器代理或者從伺服器代理接收指令,使得客戶機相應地下載這樣的內容。
正如將會理解到的,在各種實例中,客戶機102以及由此伺服器104可能在內容從伺服器到客戶機的傳送中經歷錯誤或者其它中斷。於是正如上文說明的,傳送窗的長度可以確定為將客戶機以及由此將伺服器在下載內容時經歷錯誤或者中斷的概率納入考慮之中。在這一點上,假定客戶機在下載內容時經歷中斷,客戶機代理106用來輪詢伺服器代理110或者從伺服器代理接收指令的間隔可以設置為使得在中斷之後,客戶機代理可以接收(響應於輪詢或者來自伺服器的指令)當前時間在相應的傳送窗之內這另一指示,以由此允許客戶機代理恢復下載內容。
也應當理解,在各種實例中客戶機102無法在相應的傳送窗之內完成內容下載。例如,客戶機可能在如下實例中無法在相應的傳送窗之內完成內容下載,在該實例中客戶機代理106能夠用來接收當前時間在相應的傳送窗之內這一指示的預定間隔被設置為使得在傳送期間或者相應的一個或多個傳送窗內,客戶機不輪詢伺服器代理或者伺服器代理不指示客戶機代理,如同當客戶機或者伺服器在相應的輪詢或者指示實例期間不工作時。又如,客戶機可能在如下實例中無法在相應的傳送窗之內完成內容下載,在該實例中內容的大小或者客戶機的下載速度減少或者處於在相應傳送窗之內下載內容所必需的狀態以下的狀態。又如,客戶機可能在如下實例中無法在相應的傳送窗之內完成內容下載,在該實例中客戶機在下載內容時經歷中斷,而且在傳送窗結束之前沒有足以完成下載的時間來恢復下載。
無論客戶機102無法在相應的傳送窗之內完成內容下載時的實例本質如何,在這樣的實例中客戶機代理106和伺服器代理110可以用許多不同方式中的任何方式做出反應。例如,伺服器代理可以中斷客戶機下載內容。作為選擇,例如伺服器代理可以繼續允許客戶機代理下載內容,其中客戶機代理接收當前時間在用於尚未下載的內容的相應傳送窗之內或者之後這一指示,由此允許客戶機代理甚至在相應的傳送窗已經到期之後仍下載內容。在又一選擇中,例如伺服器代理可以指定上溢傳送窗,在該上溢傳送窗內伺服器代理可以指示客戶機代理下載或者繼續下載相應內容。
同樣正如將會理解到的,傳送窗的長度以及由此客戶機102的分組可以隨時間而改變,例如當請求內容的客戶機的數目增加或者請求內容的客戶機的數目減少時。因此,伺服器代理110能夠維護傳送窗的長度而且隨時間更新該長度。例如,在一個或多個時間實例中,伺服器代理可以重新確定所請求的內容的大小。除此之外或者取而代之,伺服器代理可以根據統計數據來確定下載速度,該統計數據基於利用相同或者相似客戶機、伺服器和一個或多個傳送網絡對相同或者相似內容的最近先前下載來確定。再如,伺服器代理可以重新確定客戶機以及由此重新確定伺服器在下載內容時經歷錯誤或者中斷的概率,該概率可以基於最近的先前下載來確定。根據重新確定的所請求的內容的大小、下載速度和/或經歷錯誤的概率,伺服器代理可以再次確定傳送窗的長度而且隨需調整該長度。
此外,在各種實例中可能希望將客戶機102分組使得客戶機獨立於傳送期間或者傳送窗地根據分組來下載內容。在這樣的實例中,伺服器代理110可以用許多不同方式中的任何方式來將客戶機分組,例如基於待下載的內容的大小(或者信道)、由客戶機、伺服器104和/或一個或多個傳送網絡所支持的下載速度、和/或多個客戶機以及由此伺服器在下載內容時經歷錯誤或者中斷的概率,每一項都在上文結合了確定傳送窗長度進行了描述。於是,伺服器代理可以將請求下載相同或者相似內容的客戶機分組、將支持相同或者相似下載數據(和/或通過支持相同或者相似下載速度的一個或多個傳送網絡從伺服器請求內容)的客戶機分組、和/或將在下載內容時經歷錯誤或者中斷的概率相同或者相似的客戶機分組。
又如,正如上文結合了將客戶機102分組成與傳送窗相關聯的分組所說明的,伺服器代理110可以基於已經在許多組中的每個組中的客戶機的數目、請求從伺服器104下載內容的客戶機的數目(例如為了維持同時下載的預定義最大數目)、由客戶機下載的一條或多條不同內容的數目或者一個或多個不同信道的數目(例如為了維持一條或多條不同內容或者一個或多個不同信道的預定義最大數目和/或為了維持由任一個客戶機下載的一條或多條內容或者一個或多個信道的預定義最大數目)來將客戶機分組。再如,伺服器代理還可以基於包括相應客戶機的其它現有組來將客戶機分組。又如,伺服器代理可以基於相應信道的傳送窗的優先級排序來將客戶機分組。例如,伺服器代理可以向由伺服器或者伺服器代理所限定的較優選的客戶機分配較高優先級的組,例如那些被允許在優選的時刻或者通過一個或多個優選的傳送網絡來下載內容的組。
現在將參照圖8和圖9,該圖根據本發明一個實施例圖示了客戶機102和伺服器104在執行一種將客戶機分組和傳送(即下載或者上載)內容的方法時的操作中的各種步驟。為了進行說明,將在客戶機預訂從伺服器下載用於一個或多個電視、無線電和/或數據信道的內容的背景下描述執行該方法時的步驟。在這一點上,根據預訂,伺服器已經指定在00:00與05:00之間的傳送窗用於下載用於該信道的內容,其中伺服器的伺服器代理110例如用上文描述的方式為那些預訂從該伺服器下載內容的客戶機來維護分組管理表和客戶機信息記錄。
如圖8的方塊114中所示,將客戶機分組的方法包括客戶機102或者具體而言是客戶機的客戶機代理106發送預訂請求以便下載用於一個或多個信道的內容,而伺服器104或者具體而言是伺服器的伺服器代理110接收預訂請求。然後,如方塊116中所示,伺服器代理可以例如用上文描述的方式來確定客戶機從伺服器下載內容所用的傳送窗時間長度。伺服器代理可以基於在分組管理表之內包含的信息來確定該傳送窗時間長度在該系統(即跨經從伺服器下載內容的客戶機)中是否可用。在這一點上,伺服器代理可以確定該傳送窗時間長度是否可用,以由此確保在傳送期間的任何給定時刻,從伺服器下載內容的客戶機的數目不超過同時下載的預定義數目,如方塊118中所示。
如果傳送窗時間長度在該系統中不可用,則伺服器代理110可以用許多不同方式中的任何方式做出反應。如方塊120中所示,例如伺服器代理可以拒絕預訂請求。此外,伺服器代理可以向客戶機102通知預訂拒絕,也可以指明關於這一拒絕的原因(例如在傳送時段之內伺服器資源不足)。如果傳送窗時間長度在系統中可用,則伺服器代理可以基於在與相應客戶機(假定該客戶機先前已經預訂來自一個或多個信道的內容)相關聯的客戶機信息記錄中包含的信息來確定信道和/或用以下載該信道的傳送窗時間長度是否可為客戶機所用,如方塊122中所示。在這一點上,伺服器代理可以確定信道和/或傳送窗時間長度是否可用,以由此確保在傳送期間內由客戶機下載的信道的數目不超過預定義信道數目和/或確保在傳送期間內的任何給定時刻,客戶機不是與如下傳送窗口相關聯的組中的成員,該傳送窗口與關聯於包括相應客戶機在內的另一現有組的傳送窗口相重疊。
如果信道和/或用以下載該信道的傳送窗時間長度無法為客戶機所用,則伺服器代理110可以用許多不同方式中的任何方式做出反應。例如,同樣如方塊120中所示,伺服器代理可以拒絕預訂請求,而且向客戶機102通知該預訂拒絕,也可以指明關於這一拒絕的原因(即在傳送時段之內客戶機資源不足)。然而,如果信道和/或用以下載該信道的傳送窗時間長度可為客戶機所用,則如方塊124中所示,伺服器代理可以例如用上文描述的方式將客戶機分配到如下組,該組在用於下載內容的傳送窗之內從相應信道下載這樣的內容。如方塊126中所示,在分配客戶機時,伺服器代理可以相應地更新分組管理表和客戶機信息記錄(假定該客戶機具有客戶機信息記錄,否則伺服器代理可以創建客戶機信息記錄)。此外,伺服器代理可以發送而客戶機代理106可以接收預訂接受,如方塊128中所示。
在客戶機102已經預訂下載用於信道的內容之後的任一點,客戶機代理106可以發送而伺服器代理110可以接收與下載該信道的內容有關的輪詢請求,如方塊圖9的130中所示。在收到輪詢請求時,如方塊132中所示,伺服器代理可以確定當前時間是否在與包括該客戶機的組相關聯的傳送窗之內,而這樣的信息可以基於在分組管理表中包含的信息和相應客戶機的客戶機信息記錄來確定。如果當前時間不在相應的傳送窗之內,則伺服器代理可以通過發送如下響應做出反應而客戶機代理接收這一響應,該響應指示了當前時間不在用於客戶機下載內容的傳送窗之內,如方塊134中所示。
然而,如果當前時間在相應的傳送窗之內,則伺服器代理110可以通過發送如下指令做出反應而客戶機代理106接收這一指令,該指令用以從與如下組相關聯的信道下載內容,該組也與相應的傳送窗相關聯,如方塊136中所示。客戶機代理然後可以繼續從伺服器104或者具體而言是從伺服器的內容儲存器112下載相應內容。隨著客戶機代理下載內容,客戶機代理可以將內容存儲於客戶機102的內容儲存器108中。隨著客戶機代理下載內容,客戶機代理也可以收集與下載有關的統計數據,例如與由客戶機實現的下載速度和在沒有經歷錯誤或者中斷的情況下由客戶機下載的字節的數目有關的統計數據。
在客戶機代理106下載內容之時和/或之後,客戶機代理可以再次發送而伺服器代理110可以再次接收輪詢請求,如方塊140中所示。然後可以通過客戶機代理例如在預定的間隔重複地輪詢伺服器代理來重複該技術。在這一點上,客戶機代理能夠下載許多不同信道的內容。此外,正如上文說明的,在客戶機在下載內容時經歷中斷的實例中,客戶機代理可以在傳送窗之內再次輪詢伺服器代理以繼續下載。
正如上文說明的,傳送窗的長度以及由此客戶機102的分組可以隨時間而改變,例如在數目增加的客戶機預訂下載內容時。類似地,例如在客戶機對下載內容取消預訂、由此減少從伺服器104下載內容的客戶機的數目時,傳送窗的長度和客戶機的分組可以改變。因此,在系統操作期間的一個或多個時刻,伺服器代理可以更新在分組管理表中包含的信息和更新客戶機信息記錄,例如通過確定信道內容的大小、客戶機的下載速度和/或客戶機以及由此伺服器在下載內容時經歷錯誤或者中斷的概率。
根據本發明的一個方面,本發明的系統的全部或部分,例如客戶機102(例如終端10)和/或伺服器104(例如數字廣播器32)的全部或部分,通常是在電腦程式產品(例如客戶機代理106、伺服器代理110等)的控制之下進行操作。用於執行本發明實施例的方法的電腦程式產品包括例如非易失性存儲介質這樣的計算機可讀存儲介質和在計算機可讀存儲介質中實施的例如一連串計算機指令這樣的計算機可讀程序代碼部分。
在這一點上,圖8和圖9是根據本發明的方法、系統和程序產品的控制流圖。將理解到,控制流圖的每個方塊或步驟以及控制流程圖中方塊的組合可以由電腦程式指令來實施。這些電腦程式指令可以加載到計算機或者其它可編程裝置上以產生機器,使得在計算機或者其它可編程裝置上執行的指令創建用於實施在控制流程圖的一個或多個方塊或者一個或多個步驟中指定的功能的裝置。這些電腦程式指令也可以存儲於計算機可讀存儲器中,該存儲器可以指引計算機或者其它可編程裝置以特定方式工作,使得在計算機可讀存儲器中存儲的指令產生製造產品,該製造產品包括實施在控制流程圖的一個或多個方塊或者一個或多個步驟中指定的功能的指令裝置。電腦程式指令也可以加載到計算機或者其它可編程裝置上以使一連串操作步驟得以在計算機或者其它可編程裝置上執行從而產生計算機實施的過程,使得在計算機或者其它可編程裝置上執行的指令提供用於實施在控制流程圖的一個或多個方塊或者一個或多個步驟中指定的功能的步驟。
因而,控制流程圖的方塊或步驟支持用於執行指定功能的裝置的組合、用於執行指定功能的步驟的組合、以及用於執行指定功能的程序指令裝置。也將會理解,控制流程圖的每個方塊或步驟以及控制流圖中的方塊或步驟的組合可以由基於硬體的專用計算機系統來實施,該計算機系統執行指定的功能或步驟或者專用硬體和計算機指令的組合。
受益於在前面的描述以及關聯附圖中提供的教導,本發明的許多修改和其它實施例對於本發明所涉及的領域中的技術人員將是可以想到的。因此,應當理解,本發明不限於公開的具體實施例,而且本意在於使修改和其它實施例被涵蓋於所附權利要求的範圍之內。儘管這裡利用了具體措詞,但是它們僅僅是在通用性和描述性的意義上使用的而不是用於限制的目的。
權利要求
1.一種系統,包括多個客戶機;以及伺服器,能夠將所述多個客戶機分配到至少一個組,以便進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個,其中所述伺服器能夠基於所述內容的大小、傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的概率來分配所述客戶機中的至少一個客戶機。
2.根據權利要求1所述的系統,其中所述伺服器還能夠收集與傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的概率有關的統計數據,以由此確定所述傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的所述概率。
3.根據權利要求1所述的系統,其中所述伺服器能夠將所述客戶機中的至少一個客戶機分配到與至少一個傳送窗相關聯的至少一個組,在所述至少一個傳送窗之內相應的所述至少一個客戶機能夠進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個。
4.根據權利要求3所述的系統,其中所述伺服器能夠基於至少一個組的大小將所述客戶機中的至少一個客戶機分配到所述至少一個組。
5.根據權利要求3所述的系統,其中所述伺服器能夠將所述客戶機中的至少一個客戶機分配到至少一個組,使得傳送內容的客戶機的數目不超過同時傳送的預定義數目。
6.根據權利要求3所述的系統,其中傳送期間包括至少一個傳送窗,以及其中所述伺服器能夠將所述客戶機中的至少一個客戶機分配到至少一個組,使得在所述傳送期間內,由所述多個客戶機傳送的內容的不同類型的數目不超過不同類型的預定義數目。
7.根據權利要求3所述的系統,其中所述伺服器能夠將所述客戶機中的至少一個客戶機分配到至少一個組,使得在所述傳送期間內,由每個相應的所述客戶機傳送的內容的不同類型的數目不超過不同類型的預定義數目。
8.根據權利要求3所述的系統,其中所述伺服器能夠將所述客戶機中的至少一個客戶機分配到至少一個組,使得對於分配到多個組的客戶機,相應的所述客戶機被分配到與不重疊的傳送窗相關聯的組。
9.根據權利要求3所述的系統,其中所述伺服器能夠通過如下方式來分配所述客戶機中的至少一個客戶機將傳送期間分成至少一個傳送窗,基於所述內容的大小、所述傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的概率來確定所述至少一個傳送窗的長度,以及將所述客戶機中的至少一個客戶機分配到至少一個組,所述至少一個組與所述至少一個傳送窗相關聯。
10.根據權利要求3所述的系統,其中所述客戶機中的至少一個客戶機能夠基於所述至少一個組來進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個。
11.根據權利要求10所述的系統,其中所述伺服器能夠確定當前時間是否在與包括至少一個客戶機的至少一個組相關聯的至少一個傳送窗之內,而且如果所述當前時間在至少一個傳送窗之內,則指示相應的所述至少一個客戶機進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個。
12.根據權利要求11所述的系統,其中所述伺服器能夠在預定的間隔重複地確定當前時間是否在與包括的至少一個組相關聯的至少一個傳送窗之內,使得如果相應的所述至少一個客戶機在傳送所述內容時經歷中斷,則所述伺服器能夠指示相應的所述至少一個客戶機以由此允許相應的所述至少一個客戶機恢復傳送所述內容。
13.一種伺服器,包括伺服器代理,能夠將多個客戶機分配到至少一個組,以便進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個,其中所述伺服器代理能夠基於所述內容的大小、傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的概率來分配所述客戶機中的至少一個客戶機。
14.根據權利要求13所述的伺服器,其中所述伺服器代理還能夠收集與傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的概率有關的統計數據,以由此確定所述傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的所述概率。
15.根據權利要求13所述的伺服器,其中所述伺服器代理能夠將所述客戶機中的至少一個客戶機分配到與至少一個傳送窗相關聯的至少一個組,在所述至少一個傳送窗之內相應的所述至少一個客戶機能夠進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個。
16.根據權利要求15所述的伺服器,其中所述伺服器代理能夠基於至少一個組的大小將所述客戶機中的至少一個客戶機分配到所述至少一個組。
17.根據權利要求15所述的伺服器,其中所述伺服器代理能夠將所述客戶機中的至少一個客戶機分配到至少一個組,使得傳送內容的客戶機的數目不超過同時傳送的預定義數目。
18.根據權利要求15所述的伺服器,其中傳送期間包括至少一個傳送窗,以及其中所述伺服器代理能夠將所述客戶機中的至少一個客戶機分配到至少一個組,使得在所述傳送期間內,由所述多個客戶機傳送的內容的不同類型的數目不超過不同類型的預定義數目。
19.根據權利要求15所述的伺服器,其中所述伺服器代理能夠將所述客戶機中的至少一個客戶機分配到至少一個組,使得在所述傳送期間內,由每個相應的所述客戶機傳送的內容的不同類型的數目不超過不同類型的預定義數目。
20.根據權利要求15所述的伺服器,其中所述伺服器代理能夠將所述客戶機中的至少一個客戶機分配到至少一個組,使得對於分配到多個組的客戶機,相應的所述客戶機被分配到與不重疊的傳送窗相關聯的組。
21.根據權利要求15所述的伺服器,其中所述伺服器代理能夠通過如下方式來分配所述客戶機中的至少一個客戶機將傳送期間分成至少一個傳送窗,基於所述內容的大小、所述傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的概率來確定所述至少一個傳送窗的長度,以及將所述客戶機中的至少一個客戶機分配到至少一個組,所述至少一個組與所述至少一個傳送窗相關聯。
22.根據權利要求15所述的伺服器,其中所述伺服器代理能夠分配至少一個客戶機,使得所述至少一個客戶機能夠基於所述至少一個組來進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個。
23.根據權利要求22所述的伺服器,其中所述伺服器代理能夠確定當前時間是否在與包括至少一個客戶機的至少一個組相關聯的至少一個傳送窗之內,而且如果所述當前時間在至少一個傳送窗之內,則指示相應的所述至少一個客戶機進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個。
24.根據權利要求23所述的伺服器,其中所述伺服器代理能夠在預定的間隔重複地確定當前時間是否在與包括至少一個客戶機的至少一個組相關聯的至少一個傳送窗之內,使得如果相應的所述至少一個客戶機在傳送所述內容時經歷中斷,則所述伺服器代理能夠指示相應的所述至少一個客戶機以由此允許相應的所述至少一個客戶機恢復傳送所述內容。
25.一種客戶機,包括客戶機代理,能夠請求進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個,使得所述伺服器能夠將所述客戶機分配到能夠包括至少一個其它客戶機的至少一個組,以及使得所述伺服器能夠基於所述內容的大小、傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的概率將所述客戶機分配到至少一個組。
26.根據權利要求25所述的客戶機,其中所述客戶機代理能夠請求傳送內容,使得所述伺服器能夠收集與傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的概率有關的統計數據,以由此確定所述傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的所述概率。
27.根據權利要求25所述的客戶機,其中所述客戶機代理能夠請求傳送內容,使得所述伺服器能夠將所述客戶機分配到與至少一個傳送窗相關聯的至少一個組,在所述至少一個傳送窗之內所述客戶機能夠進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個。
28.根據權利要求27所述的客戶機,其中所述客戶機代理能夠請求傳送內容,使得所述伺服器能夠基於至少一個組的大小將所述客戶機分配到至少一個組。
29.權利要求27所述的客戶機,其中所述客戶機代理能夠請求傳送內容,使得所述伺服器能夠將所述客戶機分配到至少一個組,使得傳送內容的客戶機的數目不超過同時傳送的預定義數目。
30.權利要求27所述的客戶機,其中傳送期間包括至少一個傳送窗,以及其中所述客戶機代理能夠請求傳送內容,使得所述伺服器能夠將所述客戶機分配到至少一個組,使得在所述傳送期間內,由所述多個客戶機傳送的內容的不同類型的數目不超過不同類型的預定義數目。
31.根據權利要求27所述的客戶機,其中所述客戶機代理能夠請求傳送內容,使得所述伺服器能夠將所述客戶機分配到至少一個組,使得在所述傳送期間內,由所述客戶機傳送的內容的不同類型的數目不超過不同類型的預定義數目。
32.根據權利要求27所述的客戶機,其中所述客戶機代理能夠請求傳送內容,使得所述伺服器能夠將所述客戶機分配到至少一個組,使得如果所述客戶機被分配到多個組,則所述客戶機被分配到與不重疊的傳送窗相關聯的組。
33.根據權利要求27所述的客戶機,其中所述客戶機代理能夠請求傳送內容,使得所述伺服器能夠通過如下方式將所述客戶機分配到至少一個組將傳送期間分成至少一個傳送窗,基於所述內容的大小、所述傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的概率來確定所述至少一個傳送窗的長度,以及將所述客戶機分配到至少一個組,所述至少一個組與所述至少一個傳送窗相關聯。
34.根據權利要求27所述的客戶機,其中所述客戶機代理能夠基於所述至少一個組來進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個。
35.根據權利要求34所述的客戶機,其中所述客戶機代理能夠請求傳送內容,使得所述伺服器能夠確定當前時間是否在與包括所述客戶機的至少一個組相關聯的至少一個傳送窗之內,以及其中如果所述當前時間在至少一個傳送窗之內,則所述客戶機代理能夠接收指令以進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個。
36.根據權利要求35所述的客戶機,其中所述客戶機代理能夠請求傳送內容,使得所述伺服器能夠在預定的間隔重複地確定當前時間是否在與包括所述客戶機的至少一個組相關聯的至少一個傳送窗之內,以及其中如果所述客戶機在傳送所述內容時經歷中斷,則所述客戶機代理能夠接收進行傳送內容的指令以由此允許所述客戶機代理恢復傳送所述內容。
37.一種方法,包括將多個客戶機分配到至少一個組,以便進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個,其中分配多個客戶機包括基於所述內容的大小、傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的概率來分配所述客戶機中的至少一個客戶機。
38.根據權利要求37所述的方法,進一步包括收集與傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的概率有關的統計數據,以由此確定所述傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的所述概率。
39.根據權利要求37所述的方法,其中分配所述客戶機中的至少一個客戶機包括將所述客戶機中的至少一個客戶機分配到與至少一個傳送窗相關聯的至少一個組,在所述至少一個傳送窗之內相應的所述至少一個客戶機能夠進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個。
40.根據權利要求39所述的方法,其中分配所述客戶機中的至少一個客戶機包括基於至少一個組的大小將所述客戶機中的至少一個客戶機分配到所述至少一個組。
41.根據權利要求39所述的方法,其中分配所述客戶機中的至少一個客戶機包括將所述客戶機中的至少一個客戶機分配到至少一個組,使得傳送內容的客戶機的數目不超過同時傳送的預定義數目。
42.根據權利要求39所述的方法,其中傳送期間包括至少一個傳送窗,以及其中分配所述客戶機中的至少一個客戶機包括將所述客戶機中的至少一個客戶機分配到至少一個組,使得在所述傳送期間內,由所述多個客戶機傳送的內容的不同類型的數目不超過不同類型的預定義數目。
43.根據權利要求39所述的方法,其中分配所述客戶機中的至少一個客戶機包括將所述客戶機中的至少一個客戶機分配到至少一個組,使得在所述傳送期間內,由每個相應的所述客戶機傳送的內容的不同類型的數目不超過不同類型的預定義數目。
44.根據權利要求39所述的方法,其中分配所述客戶機中的至少一個客戶機包括將所述客戶機中的至少一個客戶機分配到至少一個組,使得對於分配到多個組的客戶機,相應的所述客戶機被分配到與不重疊的傳送窗相關聯的組。
45.根據權利要求39所述的方法,其中分配所述客戶機中的至少一個客戶機包括將傳送期間分成至少一個傳送窗;基於所述內容的大小、所述傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的概率來確定所述至少一個傳送窗的長度;以及將所述客戶機中的至少一個客戶機分配到至少一個組,所述至少一個組與所述至少一個傳送窗相關聯。
46.根據權利要求39所述的方法,還包括基於所述至少一個組進行從所述客戶機中的至少一個客戶機傳送至少一個內容到所述伺服器和從所述客戶機中的至少一個客戶機傳送至少一個內容到所述伺服器中。
47.根據權利要求46所述的方法,還包括確定當前時間是否在與包括至少一個客戶機的至少一個組相關聯的至少一個傳送窗之內;以及如果所述當前時間在至少一個傳送窗之內,則指示相應的所述至少一個客戶機進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個。
48.根據權利要求47所述的方法,其中所述確定步驟在預定的間隔重複地發生,使得如果相應的所述至少一個客戶機在傳送所述內容時經歷中斷,則所述指示步驟包括指示相應的所述至少一個客戶機以由此允許相應的所述至少一個客戶機恢復傳送所述內容。
49.一種電腦程式產品,包括其中存儲有計算機可讀程序代碼部分的至少一個計算機可讀存儲介質,所述計算機可讀程序代碼部分包括第一可執行部分,用於將多個客戶機分配到至少一個組,以便進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個,其中所述第一可執行部分適於基於所述內容的大小、傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的概率來分配所述客戶機中的至少一個客戶機。
50.根據權利要求49所述的電腦程式產品,進一步包括第二可執行部分,用於收集與傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的概率有關的統計數據,以由此確定所述傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的所述概率。
51.根據權利要求49所述的電腦程式產品,其中所述第一可執行部分適於將所述客戶機中的至少一個客戶機分配到與至少一個傳送窗相關聯的至少一個組,在所述至少一個傳送窗之內相應的所述至少一個客戶機能夠進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個。
52.根據權利要求51所述的電腦程式產品,其中所述第一可執行部分適於基於至少一個組的大小將所述客戶機中的至少一個客戶機分配到所述至少一個組。
53.根據權利要求51所述的電腦程式產品,其中所述第一可執行部分適於將所述客戶機中的至少一個客戶機分配到至少一個組,使得傳送內容的客戶機的數目不超過同時傳送的預定義數目。
54.根據權利要求51所述的電腦程式產品,其中傳送期間包括至少一個傳送窗,以及其中所述第一可執行部分適於將所述客戶機中的至少一個客戶機分配到至少一個組,使得在所述傳送期間內,由所述多個客戶機傳送的內容的不同類型的數目不超過不同類型的預定義數目。
55.根據權利要求51所述的電腦程式產品,其中所述第一可執行部分適於將所述客戶機中的至少一個客戶機分配到至少一個組,使得在所述傳送期間內,由每個相應的所述客戶機傳送的內容的不同類型的數目不超過不同類型的預定義數目。
56.根據權利要求51所述的電腦程式產品,其中所述第一可執行部分適於將所述客戶機中的至少一個客戶機分配到至少一個組,使得對於分配到多個組的客戶機,相應的所述客戶機被分配到與不重疊的傳送窗相關聯的組。
57.根據權利要求51所述的電腦程式產品,其中所述第一可執行部分適於通過如下方式來分配所述客戶機中的至少一個客戶機將傳送期間分成至少一個傳送窗,基於所述內容的大小、所述傳送速度和在所述傳送中沒有經歷中斷的情況下傳送所述內容的概率來確定所述至少一個傳送窗的長度,以及將所述客戶機中的至少一個客戶機分配到至少一個組,所述至少一個組與所述至少一個傳送窗相關聯。
58.根據權利要求51所述的電腦程式產品,進一步包括第二可執行部分,用於基於所述至少一個組進行從所述客戶機中的至少一個客戶機傳送至少一個內容到所述伺服器和從所述客戶機中的至少一個客戶機傳送至少一個內容到所述伺服器。
59.根據權利要求58所述的電腦程式產品,進一步包括第三可執行部分,用於確定當前時間是否在與包括至少一個客戶機的至少一個組相關聯的至少一個傳送窗之內;以及第四可執行部分,用於當所述當前時間在至少一個傳送窗之內時指示相應的所述至少一個客戶機進行將內容傳送到伺服器和從所述伺服器傳送內容中的至少一個。
60.根據權利要求59所述的電腦程式產品,其中所述第三可執行部分適於在預定的間隔重複地確定當前時間是否在與包括至少一個客戶機的至少一個組相關聯的至少一個傳送窗之內,使得如果相應的所述至少一個客戶機在傳送所述內容時經歷中斷,則所述第四可執行部分適於指示相應的所述至少一個客戶機以由此允許相應的所述至少一個客戶機恢復傳送所述內容。
全文摘要
提供了一種系統,包括多個客戶機和伺服器,該伺服器能夠將多個客戶機分配到至少一個組以便將內容傳送到伺服器和/或從伺服器傳送內容。該伺服器能夠基於內容的大小、傳送速度和在傳送中沒有經歷中斷的情況下傳送內容的概率來分配客戶機中的至少一個客戶機。在這一點上,該伺服器還能夠收集與該傳送速度和概率有關的統計數據以由此確定該傳送速度和概率。在將客戶機分配到一個或多個組之後,客戶機中的至少一個客戶機能夠基於該一個或多個組從伺服器下載內容或者上載內容到伺服器。
文檔編號H04L29/06GK1969502SQ200580020246
公開日2007年5月23日 申請日期2005年5月9日 優先權日2004年5月17日
發明者阿蒂·米奧南, 安特蒂-龐特蒂·韋尼奧, 阿里·安尼凱南 申請人:諾基亞公司