本公開總體上涉及用于處理高速緩存的內(nèi)容資源的服務(wù)器、客戶端設(shè)備和其中的方法以及計(jì)算機(jī)程序和計(jì)算機(jī)程序存儲產(chǎn)品。
背景技術(shù):
近年來,由于其中用戶從不同網(wǎng)站將諸如網(wǎng)頁的內(nèi)容下載到其客戶端設(shè)備的各種web服務(wù)的廣泛使用,在諸如因特網(wǎng)和無線網(wǎng)絡(luò)的通信網(wǎng)絡(luò)上的業(yè)務(wù)量大大增加。在本公開中,術(shù)語“客戶端設(shè)備”用于表示能夠通過通信網(wǎng)絡(luò)從服務(wù)器或其他內(nèi)容存儲器下載內(nèi)容的任何通信實(shí)體。此外,術(shù)語“服務(wù)器”用于表示能夠通過通信網(wǎng)絡(luò)(其可以包括因特網(wǎng)和/或無線網(wǎng)絡(luò))向客戶端設(shè)備遞送諸如網(wǎng)頁的內(nèi)容的任何通信實(shí)體。貫穿本公開提及的服務(wù)器還可以稱為內(nèi)容服務(wù)器、原始服務(wù)器、內(nèi)容服務(wù)器主機(jī)或原始服務(wù)器主機(jī)。
通常,在其中客戶端設(shè)備的用戶可以瀏覽網(wǎng)站等并點(diǎn)擊鏈接以獲得各種web資源的瀏覽會(huì)話中下載網(wǎng)頁或其部分。還可以從服務(wù)器下載諸如電影、音樂和電視節(jié)目的其他類型的內(nèi)容。本文使用術(shù)語“內(nèi)容資源”以表示可以通過客戶端設(shè)備在(提及一些說明性但是非限制性示例)諸如瀏覽會(huì)話或超文本傳輸協(xié)議HTTP會(huì)話的下載會(huì)話中下載的任何內(nèi)容片斷。內(nèi)容資源因此可以是(但不限于)可以從例如提供網(wǎng)站的服務(wù)器訪問的網(wǎng)頁或其一部分或一些視頻或音頻內(nèi)容。此外,術(shù)語“下載會(huì)話”是指其中內(nèi)容由客戶端設(shè)備下載的任何通信會(huì)話。為了保護(hù)內(nèi)容不被截取,采用內(nèi)容的加密(例如通過使用HTTPS(HTTP安全))也變得越來越普遍。
為了減少由這種下載引起的業(yè)務(wù)量和/或服務(wù)器上的負(fù)載,可以采用高速緩存,其中由服務(wù)器提供的內(nèi)容資源存儲在就所涉及的傳輸鏈路和網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)量而言可以“更靠近”客戶端設(shè)備的位置,由此減少傳輸距離以及還減少獲得所請求的內(nèi)容資源所花費(fèi)的時(shí)間。例如,可以以這種方式高速緩存頻繁請求的內(nèi)容資源,以便減少由這樣的下載請求引起的網(wǎng)絡(luò)中的業(yè)務(wù)和/或服務(wù)器上的負(fù)載以及客戶端設(shè)備和服務(wù)器之間產(chǎn)生的通信(稱為往返)。
以這種方式高速緩存內(nèi)容資源的位置通常稱為“高速緩存器”,本文將使用該術(shù)語。高速緩存器因此是用于內(nèi)容資源的存儲器。術(shù)語“原始服務(wù)器”還通常用于表示內(nèi)容原始存儲在其中的服務(wù)器或服務(wù)器主機(jī),這些內(nèi)容可以暫時(shí)存儲(即高速緩存)在高速緩存器中。
當(dāng)通過訪問網(wǎng)站等從服務(wù)器下載內(nèi)容資源時(shí),當(dāng)每個(gè)內(nèi)容資源必須被單獨(dú)請求(僅被引導(dǎo)到高速緩存)時(shí),可能需要在客戶端設(shè)備和服務(wù)器之間進(jìn)行大量的往返。這在采用HTTPS時(shí)是需要的,而當(dāng)采用HTTP時(shí),請求終止于高速緩存器。對于HTTPS,已經(jīng)引入了“盲高速緩存BC”(還稱為“帶外高速緩存”O(jiān)OBC)的概念,以允許也在采用HTTPS時(shí)的有效高速緩存。簡要描述,BC或OOBC允許從高速緩存器中直接獲取內(nèi)容資源(即使當(dāng)例如使用HTTPS對內(nèi)容資源進(jìn)行加密時(shí))??梢酝ㄟ^采用具有關(guān)于可以從各種高速緩存器獲取不同內(nèi)容資源的范圍的信息的所謂高速緩存器映射來減少瀏覽會(huì)話中的往返數(shù)量。高速緩存器映射還可以稱為資源映射。貫穿本公開,術(shù)語“獲取”和“下載”可互換使用。
簡而言之,服務(wù)器(通常是原始服務(wù)器或類似服務(wù)器)在下載會(huì)話的早期將高速緩存器映射發(fā)送給客戶端設(shè)備,并且每當(dāng)要獲取新的內(nèi)容資源時(shí),例如當(dāng)用戶點(diǎn)擊網(wǎng)頁中的鏈接時(shí),客戶端設(shè)備檢查該內(nèi)容資源是否存在于高速緩存器映射上。網(wǎng)頁的鏈接可以與多個(gè)單獨(dú)的內(nèi)容資源相關(guān)聯(lián)(有時(shí)是數(shù)百個(gè)內(nèi)容資源),并且當(dāng)用戶點(diǎn)擊這樣的鏈接時(shí),客戶端設(shè)備需要獲取所有這些內(nèi)容資源。如果任何內(nèi)容資源存在于高速緩存器映射上,則客戶端設(shè)備可以根據(jù)高速緩存器映射從高速緩存中獲取那些內(nèi)容資源,而不是從原始服務(wù)器請求它們僅被引導(dǎo)到高速緩存。對于高速緩存器映射的進(jìn)一步描述,參考于2016年2月8日獲取的“Delivering content via Out-Of-Band Cache”:
https://github.com/EricssonResearch/blind-cache-draft/blob/master/draft-eriksson-oob-cache-latest.txt。
然而,如果下載會(huì)話中的通信的性能惡化,或者如果所瀏覽的網(wǎng)站等的服務(wù)器由于大量下載請求而變得負(fù)荷很重,則可能發(fā)生客戶端設(shè)備的用戶在所請求的內(nèi)容資源被獲取以及可以在設(shè)備上呈現(xiàn)(例如,顯示或以其它方式播放)之前在等待時(shí)間方面體驗(yàn)增加的延時(shí)。還可能發(fā)生的是,許多下載操作使高速緩存器過載,并且上述高速緩存器映射可能將客戶端設(shè)備引導(dǎo)到過載的高速緩存器,導(dǎo)致高速緩存器上的更多的負(fù)載。
在另一示例中,當(dāng)客戶端設(shè)備使用無線連接進(jìn)行通信時(shí),例如由于由其它通信導(dǎo)致的不良覆蓋或高干擾,連接的無線電條件可能惡化,和/或由于使用的無線網(wǎng)絡(luò)中的高業(yè)務(wù)負(fù)載等可能缺少通信所需的可用無線電資源。
任何上述情況可能因此降低通信的性能,導(dǎo)致令人沮喪的延時(shí)和用戶的下載體驗(yàn)的惡化(例如當(dāng)瀏覽網(wǎng)頁等時(shí))。
技術(shù)實(shí)現(xiàn)要素:
本文描述的實(shí)施例的目的是解決至少一些以上概述的問題和情況??梢酝ㄟ^使用如所附獨(dú)立權(quán)利要求中定義的服務(wù)器、客戶端設(shè)備及其中的方法來實(shí)現(xiàn)該目的和其他目的。
根據(jù)一個(gè)方面,在服務(wù)器中執(zhí)行一種用于處理高速緩存的內(nèi)容資源的方法。在該方法中,服務(wù)器在下載會(huì)話中從客戶端設(shè)備接收下載請求,并且識別被視為在下載會(huì)話中稍后可能需要的至少一個(gè)內(nèi)容資源。服務(wù)器然后響應(yīng)于接收到的下載請求,向客戶端設(shè)備發(fā)送高速緩存器映射。所述高速緩存器映射包括預(yù)獲取指示,其指示所識別的至少一個(gè)內(nèi)容資源應(yīng)當(dāng)由客戶端設(shè)備從包含所識別的至少一個(gè)內(nèi)容資源的高速緩存器中預(yù)獲取。
由此,可以通過減少引導(dǎo)至服務(wù)器的請求的數(shù)量來使服務(wù)器卸下負(fù)載。此外,客戶端設(shè)備能夠在通信的性能可能變差從而與高速緩存器的通信困難或甚至不可能(例如,由于在下載會(huì)話中使用的通信網(wǎng)絡(luò)中的惡化的無線電條件或擁塞)之前預(yù)獲取內(nèi)容資源(一個(gè)或多個(gè))。
根據(jù)另一方面,計(jì)算機(jī)程序存儲產(chǎn)品包括當(dāng)在服務(wù)器上執(zhí)行時(shí)使服務(wù)器執(zhí)行上述方法的指令。
根據(jù)另一方面,計(jì)算機(jī)程序包括當(dāng)在服務(wù)器上執(zhí)行時(shí)使服務(wù)器執(zhí)行上述方法的指令。
根據(jù)另一方面,服務(wù)器布置為處理高速緩存的內(nèi)容資源。服務(wù)器包括處理器和包含處理器可執(zhí)行的指令的存儲器,由此服務(wù)器配置為在下載會(huì)話中從客戶端設(shè)備接收下載請求,并且識別被視為在下載會(huì)話中稍后可能需要的至少一個(gè)內(nèi)容資源。服務(wù)器還配置為:響應(yīng)于接收到的下載請求,向客戶端設(shè)備發(fā)送高速緩存器映射,所述高速緩存器映射包括預(yù)獲取指示,其指示所識別的至少一個(gè)內(nèi)容資源應(yīng)當(dāng)由客戶端設(shè)備從包含所識別的至少一個(gè)內(nèi)容資源的高速緩存器中預(yù)獲取。
根據(jù)另一方面,由客戶端設(shè)備執(zhí)行一種用于處理高速緩存的內(nèi)容資源的方法。在該方法中,客戶端設(shè)備在下載會(huì)話期間從服務(wù)器接收高速緩存器映射,所述高速緩存器映射包括指示應(yīng)當(dāng)從高速緩存中預(yù)獲取至少一個(gè)內(nèi)容資源的預(yù)獲取指示??蛻舳嗽O(shè)備然后根據(jù)預(yù)獲取指示從高速緩存器中預(yù)獲取至少一個(gè)內(nèi)容資源,使得一旦在客戶端設(shè)備中請求或需要至少一個(gè)內(nèi)容資源,便允許在所述客戶端設(shè)備中隨后使用所述至少一個(gè)內(nèi)容資源。
因此,預(yù)獲取的內(nèi)容資源將在客戶端設(shè)備中可用,以便在它們稍后被例如用戶或客戶端設(shè)備中運(yùn)行的某應(yīng)用請求的情況下立即播出或其他使用。
根據(jù)另一方面,計(jì)算機(jī)程序存儲產(chǎn)品包括當(dāng)在客戶端設(shè)備上執(zhí)行時(shí)使客戶端設(shè)備執(zhí)行上述方法的指令。
根據(jù)另一方面,計(jì)算機(jī)程序包括當(dāng)在客戶端設(shè)備上執(zhí)行時(shí)使客戶端設(shè)備執(zhí)行上述方法的指令。
根據(jù)另一方面,客戶端設(shè)備布置為處理高速緩存的內(nèi)容資源??蛻舳嗽O(shè)備包括處理器和包含處理器可執(zhí)行的指令的存儲器,由此客戶端設(shè)備配置為在下載會(huì)話期間從服務(wù)器接收高速緩存器映射,所述高速緩存器映射包括預(yù)獲取指示,其指示應(yīng)當(dāng)從高速緩存器中預(yù)獲取至少一個(gè)內(nèi)容資源??蛻舳嗽O(shè)備還配置為根據(jù)預(yù)獲取指示,從高速緩存器中預(yù)獲取至少一個(gè)內(nèi)容資源,使得一旦在客戶端設(shè)備中請求或需要至少一個(gè)內(nèi)容資源,便允許在客戶端設(shè)備中隨后使用所述至少一個(gè)內(nèi)容資源。
根據(jù)另一方面,服務(wù)器布置為處理高速緩存的內(nèi)容資源。服務(wù)器包括接收單元,其配置為在下載會(huì)話中從客戶端設(shè)備接收下載請求。服務(wù)器還包括識別單元,其配置為識別被視為在下載會(huì)話中稍后可能需要的至少一個(gè)內(nèi)容資源。服務(wù)器還包括發(fā)送單元,其配置為:響應(yīng)于接收到的下載請求,向客戶端設(shè)備發(fā)送高速緩存器映射,所述高速緩存器映射包括預(yù)獲取指示,其指示所識別的至少一個(gè)內(nèi)容資源應(yīng)當(dāng)由客戶端設(shè)備從包含所識別的至少一個(gè)內(nèi)容資源的高速緩存器中預(yù)獲取。
根據(jù)另一方面,客戶端設(shè)備布置為處理高速緩存的內(nèi)容資源。客戶端設(shè)備包括接收單元,其配置為在下載會(huì)話期間從服務(wù)器接收高速緩存器映射,高速緩存器映射包括指示應(yīng)當(dāng)從高速緩存中預(yù)獲取至少一個(gè)內(nèi)容資源的預(yù)獲取指示??蛻舳嗽O(shè)備還包括獲取單元,其配置為根據(jù)預(yù)獲取指示,從高速緩存器中預(yù)獲取至少一個(gè)內(nèi)容資源,使得一旦在客戶端設(shè)備中請求或需要至少一個(gè)內(nèi)容資源,便允許在客戶端設(shè)備中隨后使用所述至少一個(gè)內(nèi)容資源。
可以根據(jù)不同的可選實(shí)施例來配置和實(shí)現(xiàn)上述服務(wù)器、客戶端設(shè)備和方法以完成下面將描述的進(jìn)一步的特征和益處。
附圖說明
現(xiàn)在將通過示例性實(shí)施例并參考附圖來更詳細(xì)地描述該解決方案,在附圖中:
圖1是示出高速緩存器可以如何用來提供內(nèi)容資源的通信場景,其可以在實(shí)現(xiàn)本文描述的實(shí)施例時(shí)采用。
圖2是示出根據(jù)一些可能實(shí)施例的服務(wù)器中的過程的流程圖。
圖3是示出根據(jù)另外可能的實(shí)施例的客戶端設(shè)備中的過程的流程圖。
圖4是示出可如何配置客戶端設(shè)備以用于實(shí)現(xiàn)本文所描述的實(shí)施例的示例的框圖。
圖5是示出根據(jù)另外可能的實(shí)施例的當(dāng)使用該解決方案時(shí)的過程的更詳細(xì)示例的信令圖。
圖6是根據(jù)另外可能的實(shí)施例的高速緩存器映射中的條目的示意圖。
圖7是根據(jù)另外可能的實(shí)施例更詳細(xì)地示出服務(wù)器和客戶端設(shè)備的框圖。
具體實(shí)施方式
簡言之,提供了一種解決方案,以使客戶端設(shè)備能夠在與服務(wù)器的下載會(huì)話中預(yù)獲取某些內(nèi)容資源,該內(nèi)容資源被視為在它們被預(yù)獲取之后的某個(gè)時(shí)刻可能被需要。這可以通過在發(fā)送給客戶端設(shè)備的高速緩存器映射中設(shè)置預(yù)獲取指示來實(shí)現(xiàn),其中預(yù)獲取指示用于指示該內(nèi)容資源應(yīng)當(dāng)從存儲該內(nèi)容資源的高速緩存器中預(yù)獲取。響應(yīng)于客戶端設(shè)備在下載會(huì)話中做出的下載請求(例如下載會(huì)話中的最先下載請求),將高速緩存器映射發(fā)送給客戶端。因此,該內(nèi)容資源將在客戶端設(shè)備中可用,以便在它們稍后被例如用戶或客戶端設(shè)備中運(yùn)行的某應(yīng)用請求的情況下立即顯示或播出。
如上所述,通過采用高速緩存器映射,可以大大減少客戶端設(shè)備和服務(wù)器之間的往返次數(shù),因?yàn)榭蛻舳嗽O(shè)備然后不必從服務(wù)器請求每個(gè)和每一個(gè)所需的內(nèi)容資源,從而避免了不必要的延時(shí)和與服務(wù)器的過度通信。如果鑒于中間鏈路、過程和節(jié)點(diǎn)的量,高速緩存器位于比服務(wù)器更靠近客戶端設(shè)備的位置,則從該高速緩存器中的每次獲取可以比從服務(wù)器下載進(jìn)行得更快。在該解決方案中,取決于高速緩存器映射中的預(yù)獲取指示,可以從高速緩存器中預(yù)獲取內(nèi)容資源,從而一旦需要使用預(yù)獲取的內(nèi)容資源,便可以由此進(jìn)一步降低延時(shí)。
該解決方案的另一個(gè)優(yōu)點(diǎn)是:客戶端設(shè)備能夠在例如由于惡化的無線電條件(如果客戶端設(shè)備是無線設(shè)備的話)或者由于所使用的通信網(wǎng)絡(luò)中的擁塞等而導(dǎo)致通信的性能可能變差之前預(yù)獲取內(nèi)容資源。否則,由于通信中的差的性能,稍后可能難以(如果可能的話)獲取該內(nèi)容資源。將在下面稍后描述服務(wù)器可以如何識別要由客戶端設(shè)備預(yù)獲取的一個(gè)或多個(gè)內(nèi)容資源的一些示例。
采用該解決方案的預(yù)獲取指示的又一個(gè)優(yōu)點(diǎn)是:服務(wù)器將獲得對于控制某些內(nèi)容資源是應(yīng)當(dāng)從高速緩存器中立即獲取、還是在需要該內(nèi)容資源的情況下稍后從高速緩存器或從服務(wù)器本身獲取(例如取決于服務(wù)器和/或高速緩存器上的當(dāng)前負(fù)載)的增加的可能性。因此,服務(wù)器可以基本上通過使用以下三個(gè)選項(xiàng)之一,借助于高速緩存器映射,以或多或少動(dòng)態(tài)的方式控制由獲取操作引起的在高速緩存器或服務(wù)器上的另外的負(fù)載。
首先,如果為高速緩存器映射中的特定內(nèi)容資源設(shè)置了預(yù)獲取指示符,則客戶端設(shè)備將被觸發(fā)以立即從所指示的高速緩存器中預(yù)獲取該內(nèi)容資源。其次,如果沒有為高速緩存器映射中存在的內(nèi)容資源設(shè)置預(yù)獲取指示符,則客戶端設(shè)備可以在稍后的時(shí)刻從所指示的高速緩存器中獲取該資源。第三,如果該內(nèi)容資源在高速緩存器映射中根本不存在,則客戶端設(shè)備可以在稍后的時(shí)刻向服務(wù)器請求并從服務(wù)器獲取該資源。以這種方式,服務(wù)器能夠使用高速緩存器映射來控制客戶端設(shè)備如何以及何時(shí)將獲取內(nèi)容資源(如果有的話)。
圖1示出了可以如下采用該解決方案的通信場景。在這種場景中,服務(wù)器100可操作以使得客戶端設(shè)備102能夠通過通信網(wǎng)絡(luò)104下載內(nèi)容資源。換句話說,服務(wù)器100可操作以向客戶端設(shè)備102提供內(nèi)容資源?!巴ㄐ啪W(wǎng)絡(luò)”是本文使用的一般術(shù)語,其用于表示可以通過其傳輸內(nèi)容資源的任何類型的網(wǎng)絡(luò)(一個(gè)或多個(gè)),例如包括無線或移動(dòng)網(wǎng)絡(luò)(如果客戶端設(shè)備102是能夠進(jìn)行無線電通信的無線設(shè)備的話)。本文描述的解決方案還適用于使用到通信網(wǎng)絡(luò)104的固定或有線連接的客戶端設(shè)備。示意性地示出的通信網(wǎng)絡(luò)104還可以包括因特網(wǎng)。服務(wù)器100可以包括保存由服務(wù)器100提供的所有內(nèi)容資源的存儲器100A,使得任何內(nèi)容資源可以從服務(wù)器100自身(如果不是從高速緩存器的話)下載,即,獲取。
在本文描述的一些示例中,假設(shè)客戶端設(shè)備由用戶操作,但是本文的實(shí)施例不限于此,并且下面概述了設(shè)備的一些非限制性示例。在該示例中,客戶端設(shè)備102在圖1中示意性地示出為以智能手機(jī)形式的移動(dòng)電話,但是它還可以是膝上型計(jì)算機(jī)、平板計(jì)算機(jī)、無線調(diào)制解調(diào)器和傳感器設(shè)備中的任何一個(gè)。它還可以是更固定的設(shè)備,例如嵌入或可附接到車輛(例如汽車、卡車、公共汽車、船、火車、飛機(jī)和飛行無人機(jī))的遠(yuǎn)程信息處理單元。客戶端設(shè)備102還可以例如嵌入或可附接到家用電器,例如在白色家電、門鎖、監(jiān)視和報(bào)警設(shè)備以及自主真空吸塵器和割草機(jī)中。
客戶端設(shè)備還可以嵌入或可附接到用于工業(yè)目的或用于家庭支持功能的機(jī)器人和3D打印機(jī)的遠(yuǎn)程信息處理單元??蛻舳嗽O(shè)備可以包括于其中或添加所至的其他示例是在公共服務(wù)設(shè)備(諸如用于公共交通的路燈、監(jiān)視攝像機(jī)和入口許可設(shè)備)中。換句話說,本文描述的客戶端設(shè)備可以是能夠利用與通信網(wǎng)絡(luò)104的連接性的任何設(shè)備或者被實(shí)現(xiàn)在所述任何設(shè)備中。這樣的客戶端設(shè)備的其它示例是在醫(yī)療保健和支付終端(例如信用卡支付終端)中使用的設(shè)備。
第一動(dòng)作1∶1示出了服務(wù)器100通過將各種內(nèi)容資源存儲在高速緩存器106中(因此稱為高速緩存)來執(zhí)行各種內(nèi)容資源的高速緩存,以實(shí)現(xiàn)到客戶端設(shè)備的更快的下載。例如,服務(wù)器100可以將內(nèi)容推送到高速緩存器106,或者備選地,服務(wù)器可以將內(nèi)容資源的列表發(fā)送給高速緩存器1006,該高速緩存器1006進(jìn)而將從服務(wù)器100獲取那些資源。上面描述了高速緩存如何可以提供更有效的內(nèi)容資源下載。假設(shè)客戶端設(shè)備102能夠比從服務(wù)器100獲取內(nèi)容資源更有效地從高速緩存器106獲取內(nèi)容資源。該高速緩存動(dòng)作可以一次并且針對所有或者不同的場合執(zhí)行,例如,每當(dāng)內(nèi)容資源在服務(wù)器100中變得可用時(shí)或者每當(dāng)客戶端設(shè)備請求內(nèi)容資源時(shí)。
可選動(dòng)作1∶2示出了客戶端設(shè)備102可以在某個(gè)時(shí)刻向服務(wù)器100發(fā)送某些用戶信息,該信息可以用作為客戶端設(shè)備102配置高速緩存器映射的基礎(chǔ),這將稍后在下文進(jìn)行更詳細(xì)地描述。用戶信息可以與設(shè)備102的用戶的各種特性(諸如年齡、性別、興趣、職業(yè)等)相關(guān)。用戶信息還可以與由客戶端設(shè)備102進(jìn)行的內(nèi)容資源的先前下載相關(guān),有效地定義用戶的“下載歷史”。用戶信息因此被視為對于預(yù)測(即識別)哪些內(nèi)容資源可能是用戶可能感興趣下載是有用的。
或者,客戶端設(shè)備102可以將其下載活動(dòng)報(bào)告給用于收集和維護(hù)用戶信息的特定節(jié)點(diǎn)(這里稱為“用戶信息節(jié)點(diǎn)”108),其可以在網(wǎng)絡(luò)104的合適節(jié)點(diǎn)中或在可以以本文所述的方式訪問的任何節(jié)點(diǎn)中實(shí)現(xiàn)。對下載活動(dòng)的報(bào)告由動(dòng)作1∶3A示出。用戶信息節(jié)點(diǎn)108可以由服務(wù)器100用以獲得用戶信息作為給客戶端設(shè)備配置高速緩存器映射的基礎(chǔ)。另一動(dòng)作1∶3B示出了服務(wù)器100從用戶信息節(jié)點(diǎn)108獲得關(guān)于客戶端設(shè)備102的當(dāng)前用戶的信息。上述動(dòng)作1∶1-1∶3A,B可以在任何時(shí)間執(zhí)行以準(zhǔn)備下面的后續(xù)動(dòng)作。
圖1中的以下的動(dòng)作示出了如何在所示場景中為客戶端設(shè)備102執(zhí)行下載會(huì)話。下載會(huì)話可以例如在用戶點(diǎn)擊到網(wǎng)頁或其他內(nèi)容的鏈接時(shí)或者在設(shè)備中運(yùn)行的某應(yīng)用需要內(nèi)容資源時(shí)開始,觸發(fā)客戶端設(shè)備102向服務(wù)器100發(fā)送內(nèi)容請求。因此,下一個(gè)動(dòng)作1∶4示出了客戶端設(shè)備102相應(yīng)地向服務(wù)器100發(fā)送下載請求,該下載請求可以是下載會(huì)話中針對內(nèi)容資源的最先或至少“早期”的請求。如上所述,選擇到某些內(nèi)容的鏈接可以觸發(fā)客戶端設(shè)備獲取與該鏈接相關(guān)聯(lián)的一系列單獨(dú)的內(nèi)容資源,每個(gè)獲取操作通常需要來自客戶端設(shè)備的下載請求。
響應(yīng)于動(dòng)作1∶4的下載請求,服務(wù)器100向客戶端設(shè)備102發(fā)送包括高速緩存器映射的響應(yīng),由以下動(dòng)作1∶5示出。該動(dòng)作中的響應(yīng)還可以包含在下載請求中請求的內(nèi)容資源。所發(fā)送的高速緩存器映射包括指示客戶端設(shè)備102應(yīng)從高速緩存器106預(yù)獲取一個(gè)或多個(gè)內(nèi)容資源的預(yù)獲取指示。稍后將在下文更詳細(xì)地描述如何可以由服務(wù)器100配置高速緩存器映射的示例。最后動(dòng)作1∶6示出了客戶端設(shè)備102根據(jù)其中的高速緩存器映射和預(yù)獲取指示從高速緩存器106預(yù)獲取一個(gè)或多個(gè)內(nèi)容資源。
在上述動(dòng)作的通信中,可以例如根據(jù)以下3個(gè)示例中的任一個(gè)來使用協(xié)議HTTP。
示例1:客戶端設(shè)備102在動(dòng)作1∶4中發(fā)送針對內(nèi)容資源的HTTP GET請求。響應(yīng)于此,服務(wù)器100在動(dòng)作1∶5中發(fā)送200OK,添加內(nèi)容編碼:帶外。200OK的內(nèi)容包含高速緩存器映射而不是實(shí)際資源。
示例2:客戶端設(shè)備102在動(dòng)作1∶4中發(fā)送針對內(nèi)容資源的HTTP GET請求。響應(yīng)于此,服務(wù)器100在動(dòng)作1∶5中發(fā)送具有以下內(nèi)容類型的200OK:多部分/混合的。主體的一部分是請求的內(nèi)容,而另一部分是高速緩存器映射。
示例3:客戶端設(shè)備102在動(dòng)作1∶4中發(fā)送針對內(nèi)容資源的HTTP GET請求。響應(yīng)于此,服務(wù)器100在動(dòng)作1∶5中發(fā)送具有鏈接報(bào)頭和包含所請求的資源的正文的200OK。200OK中的鏈接報(bào)頭通知客戶端設(shè)備102存在可從某個(gè)高速緩存器映射地址獲得的高速緩存器映射。200OK中的鏈接報(bào)頭可以例如是
鏈接:<https://a_server.com/path_to_resource_map>;rel=″resource-map”
客戶端然后向高速緩存器映射地址發(fā)送HTTP GET請求,并獲得高速緩存器映射。
現(xiàn)在將參考圖2中的流程圖描述如何可以在服務(wù)器(諸如上述服務(wù)器100)中執(zhí)行的動(dòng)作方面采用該解決方案以用于處理高速緩存的內(nèi)容資源的示例。在不限制所描述的特征的情況下,有時(shí)還將參考圖1中所示的示例。圖2所示的過程因此可以用于完成上述與客戶端設(shè)備102通信的服務(wù)器100的功能。
第一動(dòng)作200示出了服務(wù)器100在下載會(huì)話中從客戶端設(shè)備102接收下載請求。在隨后的動(dòng)作202中,服務(wù)器100識別被視為在下載會(huì)話中稍后可能需要的至少一個(gè)內(nèi)容資源。稍后將在下文描述如何可以執(zhí)行該動(dòng)作的一些示例。進(jìn)一步的動(dòng)作204示出了服務(wù)器100還可以識別包含所識別的至少一個(gè)內(nèi)容資源的高速緩存器。備選地,如果所識別的至少一個(gè)內(nèi)容資源尚未被存儲在任何高速緩存器中,則服務(wù)器100在動(dòng)作204中可將所識別的內(nèi)容資源(一個(gè)或多個(gè))存儲(即高速緩存)在合適的高速緩存器中,其指示為備選方式“存儲在高速緩存器中”。
在最后示出的動(dòng)作206中,服務(wù)器100響應(yīng)于接收到的下載請求向客戶端設(shè)備發(fā)送高速緩存器映射,該高速緩存器映射包括預(yù)獲取指示,其指示所識別的至少一個(gè)內(nèi)容資源應(yīng)當(dāng)由客戶端設(shè)備102從包含所識別的至少一個(gè)內(nèi)容資源的高速緩存器106預(yù)獲取。
在上述過程中可能采用各種不同的非限制性實(shí)施例,并且現(xiàn)在將概述實(shí)施例的一些示例。在一個(gè)示例實(shí)施例中,可以基于以下項(xiàng)中的任何一項(xiàng)來在動(dòng)作202中識別至少一個(gè)內(nèi)容資源:
A)與客戶端設(shè)備102的一個(gè)或多個(gè)先前下載會(huì)話中的事件。這種類型的信息可以稱為客戶端設(shè)備102及其用戶的下載歷史。例如,服務(wù)器100可以存儲和保持關(guān)于由客戶端設(shè)備至少在某段時(shí)間進(jìn)行的下載的信息作為進(jìn)行針對動(dòng)作202描述的識別的基礎(chǔ)。
B)從客戶端設(shè)備102接收的先前下載請求的超文本傳輸協(xié)議HTTP的報(bào)頭中的信息??梢园ㄔ贖TTP報(bào)頭中的這樣的信息可以與做出請求時(shí)客戶端設(shè)備102的位置和/或計(jì)劃路由相關(guān)。
C)關(guān)于客戶端設(shè)備102的當(dāng)前用戶的信息。在另一示例實(shí)施例中,可以在從客戶端設(shè)備102或從客戶端設(shè)備102已經(jīng)向其報(bào)告其先前的下載活動(dòng)的用戶信息節(jié)點(diǎn)108接收的報(bào)告消息中獲得關(guān)于當(dāng)前用戶的信息。上面針對動(dòng)作1∶2和1∶3A,B描述了服務(wù)器100如何可以獲得關(guān)于當(dāng)前用戶的這種信息。
上文提到,可以以不同方式配置高速緩存器映射以提供本文所描述的預(yù)獲取指示。因此,在圖3中示意性示出的另一示例實(shí)施例中,高速緩存器映射中針對所識別的至少一個(gè)內(nèi)容資源中的每個(gè)內(nèi)容資源的條目300可以包括被設(shè)置為提供預(yù)獲取指示的預(yù)獲取指示符300A。例如,預(yù)獲取指示符300A可以由具有諸如“1”的第一值的比特來設(shè)置,并且不由具有諸如“0”的第二值的比特來設(shè)置。備選地,第一值可以是0,而第二值可以是1。另一種可能性是僅當(dāng)資源要被預(yù)獲取時(shí)才在高速緩存器映射條目中包括預(yù)獲取指示為真等,并且當(dāng)不要預(yù)獲取資源時(shí)根本不在高速緩存器映射條目中包括任何預(yù)獲取指示。
如果預(yù)獲取指示符300A未被設(shè)置,例如具有值0或在高速緩存器映射條目中根本不存在,則這意味著不應(yīng)預(yù)獲取內(nèi)容資源。服務(wù)器因此僅為動(dòng)作202中識別的內(nèi)容資源(一個(gè)或多個(gè))設(shè)置預(yù)獲取指示符300A,而對高速緩存器映射中的所有其他內(nèi)容資源不設(shè)置預(yù)獲取指示符。圖3中所示的示意性示例高速緩存器映射條目300還包括對所討論的內(nèi)容資源的識別(表示為資源ID)、對可以獲取內(nèi)容資源的高速緩存器106的識別(表示為高速緩存器ID)以及還有關(guān)于資源是什么類型的內(nèi)容的信息。
高速緩存器映射條目300還包括元數(shù)據(jù)300B,元數(shù)據(jù)300B可以包括關(guān)于可以用于控制客戶端設(shè)備102的預(yù)獲取操作的條件或規(guī)則的信息。在內(nèi)容資源被加密并且需要由客戶端設(shè)備解密的情況下,元數(shù)據(jù)300B還可以包括加密信息,例如加密密鑰。在另外的示例實(shí)施例中,高速緩存器映射中針對所識別的至少一個(gè)內(nèi)容資源中的每個(gè)內(nèi)容資源的條目300因此可以包括元數(shù)據(jù)300B,元數(shù)據(jù)300B指示客戶端設(shè)備102用于預(yù)獲取相應(yīng)內(nèi)容資源的時(shí)間和位置中的至少一個(gè)。
元數(shù)據(jù)300B可以控制客戶端設(shè)備102根據(jù)指示的時(shí)間預(yù)獲取該條目的內(nèi)容資源,指示的時(shí)間可以是在它應(yīng)當(dāng)被預(yù)獲取的某個(gè)時(shí)間間隔、或在它應(yīng)當(dāng)被預(yù)獲取之前的最遲(最大)時(shí)間或在它應(yīng)當(dāng)被預(yù)獲取之后的最早(最小)時(shí)間。例如,元數(shù)據(jù)300B可以指示應(yīng)當(dāng)在一天中高速緩存器通常未被高度加載時(shí)的時(shí)間預(yù)獲取內(nèi)容資源??蛇x地或另外地,元數(shù)據(jù)300B可以控制設(shè)備102僅當(dāng)設(shè)備位于某個(gè)區(qū)域內(nèi)時(shí)或者當(dāng)連接到服務(wù)某個(gè)區(qū)域的某個(gè)基站或接入點(diǎn)時(shí)或僅當(dāng)電池電量高于某一水平時(shí)或者僅當(dāng)設(shè)備連接到電池充電器時(shí)預(yù)獲取內(nèi)容資源。
如上所述,元數(shù)據(jù)300B還可以包括與內(nèi)容資源的加密相關(guān)的信息,其對于解密預(yù)獲取的內(nèi)容資源(一個(gè)或多個(gè))是有用的。下面呈現(xiàn)了如何在實(shí)踐中為三個(gè)不同的內(nèi)容資源配置一些高速緩存器映射條目的示例。
因此,上述示例分別示出了針對三個(gè)相應(yīng)內(nèi)容資源(包括狗、汽車和貓的圖像)的三個(gè)高速緩存器映射條目。注釋-“prefetch”:true-在針對汽車圖像和貓圖像的條目中是指示應(yīng)當(dāng)從識別的高速緩存器中預(yù)獲取這些圖像的預(yù)獲取指示符。
在另一示例實(shí)施例中,服務(wù)器100在檢測到由客戶端設(shè)備102使用的無線連接將惡化時(shí)將預(yù)獲取指示包括在高速緩存器映射中。在該實(shí)施例中,客戶端設(shè)備因此是在下載會(huì)話中使用無線通信的無線設(shè)備。該實(shí)施例的優(yōu)點(diǎn)是,將在發(fā)生連接的惡化(這將使得一旦需要內(nèi)容資源(一個(gè)或多個(gè))會(huì)難以或甚至不可能進(jìn)行下載)之前預(yù)獲取至少一個(gè)內(nèi)容資源。可以以如下不同的方式檢測設(shè)備的無線連接的這種即將惡化。
在另外的示例實(shí)施例中,上述對無線連接的即將惡化的檢測可以包括以下項(xiàng)中的至少一項(xiàng):
D)檢測到客戶端設(shè)備102正在移動(dòng)到缺乏無線電覆蓋的區(qū)域中。例如,可以基于關(guān)于網(wǎng)絡(luò)的覆蓋和關(guān)于設(shè)備的移動(dòng)的知識來進(jìn)行該檢測,其可以根據(jù)在本文中沒有必要以任何細(xì)節(jié)進(jìn)行描述的已知技術(shù)通過網(wǎng)絡(luò)104和/或設(shè)備102中的定位機(jī)制來獲得。
E)檢測到無線連接將由于強(qiáng)烈的無線電業(yè)務(wù)而丟失或被干擾。例如,如果無線電業(yè)務(wù)增加,則可以推斷出設(shè)備的連接將惡化(例如,由于來自其它無線電傳輸對無線電通信的增加的干擾)。
在另一示例實(shí)施例中,當(dāng)進(jìn)一步檢測到無線連接的信號質(zhì)量在惡化之前將高于預(yù)定義水平時(shí),服務(wù)器100可以在高速緩存器映射中包括預(yù)獲取指示??梢砸呀?jīng)選擇預(yù)定義的信號質(zhì)量水平,使得可以成功地執(zhí)行預(yù)獲取操作(例如不會(huì)失去連接和/或沒有太多的有害干擾)。
在另一示例實(shí)施例中,服務(wù)器100可以在檢測到用于下載會(huì)話的通信網(wǎng)絡(luò)104將擁塞時(shí)在高速緩存器映射中包括預(yù)獲取指示。在一些示例中,可以基于一天中網(wǎng)絡(luò)正常擁塞的時(shí)間或通過檢測設(shè)備所在的區(qū)域中正在進(jìn)行的無線通信的增加等來預(yù)測網(wǎng)絡(luò)中的即將到來的擁塞。
現(xiàn)在將參考圖4中的流程圖描述如何可以在客戶端設(shè)備(諸如上述客戶端設(shè)備102)中執(zhí)行的動(dòng)作方面采用該解決方案以用于處理高速緩存的內(nèi)容資源的另一個(gè)示例。在不限制所描述的特征的情況下,有時(shí)還將參考圖1中所示的示例。圖4所示的過程因此可以用于完成上述與服務(wù)器100通信的客戶端設(shè)備102的功能。
第一可選動(dòng)作400示出客戶端設(shè)備102可以在下載會(huì)話中向服務(wù)器100發(fā)送下載請求,因此與圖2中的動(dòng)作200相對應(yīng)。在下一動(dòng)作402中,客戶端設(shè)備102在下載會(huì)話期間從服務(wù)器100接收高速緩存器映射,該高速緩存器映射包括指示應(yīng)當(dāng)從高速緩存(例如圖1中的高速緩存器106)中預(yù)獲取至少一個(gè)內(nèi)容資源的預(yù)獲取指示。該動(dòng)作與圖2中的動(dòng)作206相對應(yīng)。在另一動(dòng)作404中,客戶端設(shè)備102由此被觸發(fā)以根據(jù)預(yù)獲取指示從高速緩存器106中預(yù)獲取至少一個(gè)內(nèi)容資源。通過這樣做,一旦接收到請求至少一個(gè)內(nèi)容資源的用戶輸入(如果有的話),則客戶端設(shè)備102能夠例如通過在客戶端設(shè)備102上執(zhí)行所述至少一個(gè)內(nèi)容資源的隨后呈現(xiàn),使用所述至少一個(gè)內(nèi)容資源。最后可選動(dòng)作406示出客戶端設(shè)備102可以在某一時(shí)刻呈現(xiàn)或以其它方式使用預(yù)獲取的內(nèi)容資源(一個(gè)或多個(gè)),例如當(dāng)由用戶請求或由設(shè)備中的應(yīng)用等需要時(shí)。
可能在客戶端設(shè)備中的上述過程中采用各種不同的非限制性實(shí)施例,并且現(xiàn)在將概述實(shí)施例的一些示例。在一些示例實(shí)施例中,可以通過客戶端設(shè)備中的高速緩存代理來執(zhí)行從高速緩存中預(yù)獲取至少一個(gè)內(nèi)容資源。圖5A-5C示出了可以如何在客戶端設(shè)備500中實(shí)現(xiàn)這樣的高速緩存代理的一些示例。在這些示例中,高速緩存代理502表示為“BC代理”,其中BC代表盲高速緩存器。高速緩存代理502可以在以下項(xiàng)中的任一項(xiàng)中實(shí)現(xiàn):
-在客戶端設(shè)備中運(yùn)行的客戶端應(yīng)用500A,如圖5A中所示,
-ServiceWorker 500B的腳本,如圖5B中所示,以及
-超文本傳輸協(xié)議HTTP庫500C,如圖5C中所示。
在另一示例實(shí)施例中,所接收的高速緩存器映射中針對至少一個(gè)內(nèi)容資源中的每個(gè)內(nèi)容資源的的條目包括被設(shè)置為提供所述指示的預(yù)獲取指示符。該實(shí)施例在圖3中示出并且已經(jīng)在上面進(jìn)行了描述。
在另一示例實(shí)施例中,客戶端設(shè)備102可以根據(jù)條目300中包括的元數(shù)據(jù)300B從高速緩存器106預(yù)獲取至少一個(gè)內(nèi)容資源,該元數(shù)據(jù)指示客戶端設(shè)備102預(yù)獲取相應(yīng)的內(nèi)容資源的時(shí)間和位置中的至少一個(gè)。該實(shí)施例的元數(shù)據(jù)與上面針對圖3描述的元數(shù)據(jù)300B相對應(yīng)。
在另一示例實(shí)施例中,客戶端設(shè)備102可以響應(yīng)于在下載會(huì)話中發(fā)送給服務(wù)器100的下載請求來接收高速緩存器映射。本實(shí)施例的下載請求與上述動(dòng)作1∶4和200相對應(yīng),并且它可以是下載會(huì)話中的第一個(gè)或至少早期的下載請求。
現(xiàn)在將參考圖6中的信令圖來描述服務(wù)器和客戶端設(shè)備可以如何更詳細(xì)地操作的另一個(gè)說明性但非限制性的示例。在該圖中,示出了服務(wù)器600、客戶端設(shè)備602和高速緩存器604。第一動(dòng)作6∶1示出了服務(wù)器600在高速緩存器604中高速緩存各種內(nèi)容資源,其與上述動(dòng)作1∶1。相對應(yīng)。在下一個(gè)動(dòng)作6∶2中,客戶端設(shè)備602從用戶接收某個(gè)輸入,其觸發(fā)下載會(huì)話,該下載會(huì)話開始于在動(dòng)作6∶3中客戶端設(shè)備602向服務(wù)器600發(fā)送下載請求,動(dòng)作6∶3與上述動(dòng)作1∶4、200和400相對應(yīng)。備選地,動(dòng)作6∶2中的輸入可以來自在設(shè)備602中運(yùn)行的某應(yīng)用。
在下一動(dòng)作6∶4中,服務(wù)器600識別表示為CR的內(nèi)容資源,其被視為在下載會(huì)話中稍后可能需要。該動(dòng)作與上述動(dòng)作202相對應(yīng)。這里,應(yīng)當(dāng)理解,服務(wù)器600可以識別用戶可能感興趣的任何數(shù)量的內(nèi)容資源,并且該解決方案不限于這一方面。上面已經(jīng)描述了可以如何執(zhí)行該動(dòng)作的若干示例。另一動(dòng)作6∶5示出了在該內(nèi)容資源尚未存儲在高速緩存器604中的情況下服務(wù)器600可以將所識別的內(nèi)容資源高速緩存在高速緩存器604中。在動(dòng)作6∶4之后,服務(wù)器600因此可以嘗試識別已經(jīng)存儲了所識別的內(nèi)容資源的高速緩存器,如上面針對動(dòng)作204所描述的,并且如果沒有找到這樣的高速緩存器,則執(zhí)行動(dòng)作6∶5。
在下一個(gè)動(dòng)作6∶6中,服務(wù)器600創(chuàng)建高速緩存器映射,并且例如通過設(shè)置針對高速緩存器映射中的內(nèi)容資源的預(yù)獲取指示符,在高速緩存器映射指示所識別的內(nèi)容資源應(yīng)當(dāng)由客戶端設(shè)備602預(yù)獲取,這也在上面已經(jīng)進(jìn)行了描述。然后,服務(wù)器600在與上述動(dòng)作1∶5、206和402相對應(yīng)的動(dòng)作6∶7中向客戶端設(shè)備602發(fā)送具有高速緩存器映射的響應(yīng)。已經(jīng)接收到高速緩存器映射,在另一動(dòng)作6∶8中,客戶端設(shè)備602因此從高速緩存器中預(yù)獲取指示的內(nèi)容資源,并且在另一動(dòng)作6∶9中存儲預(yù)獲取的內(nèi)容資源供以后使用。
在稍后的某個(gè)時(shí)刻,客戶端設(shè)備602在動(dòng)作6∶10中從用戶接收某個(gè)輸入,其指示需要呈現(xiàn)(例如,在客戶端設(shè)備602上播出)預(yù)獲取的內(nèi)容資源。由于內(nèi)容資源已經(jīng)被預(yù)先獲取和存儲,所以它可以立即呈現(xiàn)在客戶端設(shè)備602上,如最終動(dòng)作6∶11中所示。有利的是,一旦需要就可以無延遲地呈現(xiàn)預(yù)獲取的內(nèi)容資源,并且在動(dòng)作6∶10中接收到用戶輸入之后不必獲取它,(如果由客戶端設(shè)備602使用的網(wǎng)絡(luò)連接已經(jīng)在該時(shí)刻惡化或完全丟失,則獲取可能是困難的或甚至不可能的)。
現(xiàn)在將參考圖7中的框圖來描述如何構(gòu)造服務(wù)器和客戶端設(shè)備以實(shí)現(xiàn)上述解決方案及其實(shí)施例的非限制性示例。在該圖中,服務(wù)器700和客戶端設(shè)備702可以配置為在適當(dāng)時(shí)根據(jù)采用如上所述的解決方案的示例和實(shí)施例中的任何一個(gè)來操作,并且如下所述。服務(wù)器700和客戶端設(shè)備702中的每一個(gè)示出為包括相應(yīng)的處理器700P,702P、相應(yīng)的存儲器700M,702M和具有用于以本文所述的方式發(fā)送和接收信息和消息、的適當(dāng)設(shè)備的表示為“C”的通信電路。
服務(wù)器700和客戶端設(shè)備702中的每一個(gè)中的通信電路C因此包括配置為根據(jù)實(shí)現(xiàn)使用合適的協(xié)議進(jìn)行通信的設(shè)備。上面提到可以在通信中使用HTTP。然而,該解決方案不限于任何特定類型的消息或協(xié)議。以上參照圖1和圖6描述了可以如何執(zhí)行通信的示例。
圖2和圖4的動(dòng)作可以通過服務(wù)器700和客戶端設(shè)備702中的相應(yīng)處理器700P、702P中的功能單元來執(zhí)行。例如,服務(wù)器700可以包括配置或布置成以上述方式執(zhí)行圖2中的流程圖的至少一些動(dòng)作的裝置。此外,客戶端設(shè)備702可以包括配置或布置成以上述方式執(zhí)行圖4中的流程圖的至少一些動(dòng)作的裝置。
服務(wù)器700布置為處理高速緩存的內(nèi)容資源。服務(wù)器700因此包括處理器700P和存儲器700M,所述存儲器700M包括可由所述處理器700P執(zhí)行的指令,由此服務(wù)器700配置如下。
服務(wù)器700配置為在下載會(huì)話中從客戶端設(shè)備702接收下載請求。該接收操作可以由服務(wù)器700中的接收單元700A執(zhí)行(例如以上面針對動(dòng)作200描述的方式)。服務(wù)器700還配置為識別被視為在下載會(huì)話中稍后可能需要的至少一個(gè)內(nèi)容資源。該識別操作可以由服務(wù)器700中的識別單元700B執(zhí)行(例如以上面針對動(dòng)作202描述的方式)。
服務(wù)器700還配置為:響應(yīng)于接收到的下載請求,向客戶端設(shè)備702發(fā)送高速緩存器映射,高速緩存器映射包括預(yù)獲取指示,其指示所識別的至少一個(gè)內(nèi)容資源應(yīng)當(dāng)由客戶端設(shè)備702從包含所識別的至少一個(gè)內(nèi)容資源的高速緩存器中預(yù)獲取。該發(fā)送操作可以由服務(wù)器700中的發(fā)送單元700C執(zhí)行(例如以上面針對動(dòng)作206描述的方式)。
客戶端設(shè)備702布置為處理高速緩存的內(nèi)容資源。客戶端設(shè)備702因此包括處理器702P和存儲器702M,所述存儲器包括可由所述處理器執(zhí)行的指令,由此客戶端設(shè)備702如下操作。
客戶端設(shè)備702可以配置為在下載會(huì)話中向服務(wù)器700發(fā)送下載請求。該發(fā)送操作可以由客戶端設(shè)備702中的發(fā)送單元702A執(zhí)行(例如以上面針對動(dòng)作400描述的方式)??蛻舳嗽O(shè)備702配置為在下載會(huì)話期間從服務(wù)器700接收高速緩存器映射,高速緩存器映射包括指示應(yīng)當(dāng)從高速緩存器中預(yù)獲取至少一個(gè)內(nèi)容資源的預(yù)獲取指示。該接收操作可以由客戶端設(shè)備702中的接收單元702B執(zhí)行(例如以上面針對動(dòng)作402描述的方式)。
客戶端設(shè)備702還配置為根據(jù)預(yù)獲取指示從高速緩存中預(yù)獲取至少一個(gè)內(nèi)容資源,以便一旦在客戶端設(shè)備中請求或需要該至少一個(gè)內(nèi)容資源,便允許在客戶端設(shè)備702中隨后使用該至少一個(gè)內(nèi)容資源。預(yù)獲取操作可由客戶端設(shè)備702中的預(yù)獲取單元702C執(zhí)行(例如以上面針對動(dòng)作404所描述的方式)。
應(yīng)當(dāng)注意,圖7分別示出了服務(wù)器700和客戶端設(shè)備702中的各種功能單元,并且技術(shù)人員能夠在實(shí)踐中使用適當(dāng)?shù)能浖陀布韺?shí)現(xiàn)這些功能單元。因此,該解決方案通常不限于服務(wù)器700和客戶端設(shè)備702的所示結(jié)構(gòu),并且其中的功能模塊700A-C和702A-C可以配置為在適當(dāng)時(shí)候根據(jù)在本公開中描述的特征和實(shí)施例中的任何一個(gè)來操作。
上述功能模塊700A-C和702A-C可以通過包括代碼裝置的相應(yīng)計(jì)算機(jī)程序704和708的程序模塊在相應(yīng)的服務(wù)器700和客戶端設(shè)備702中實(shí)現(xiàn),當(dāng)代碼裝置由處理器700P、702P運(yùn)行時(shí)使得相應(yīng)的服務(wù)器700和客戶端設(shè)備702執(zhí)行上述動(dòng)作和過程。每個(gè)處理器700P,702P可包括單個(gè)中央處理單元(CPU)或可包括兩個(gè)或多于兩個(gè)處理單元。例如,每個(gè)處理器700P,702P可以包括通用微處理器、指令集處理器和/或相關(guān)芯片集和/或?qū)S梦⑻幚砥?例如專用集成電路(ASIC))。每個(gè)處理器P還可包括用于高速緩存目的的存儲器。
每個(gè)計(jì)算機(jī)程序704、708可以分別由在服務(wù)器700和客戶端設(shè)備702中的每一個(gè)中以具有計(jì)算機(jī)可讀介質(zhì)和可連接到相應(yīng)的處理器700P、702P的存儲器形式的計(jì)算機(jī)程序存儲產(chǎn)品706和710來執(zhí)行。因此,服務(wù)器700和客戶端設(shè)備702中的每一個(gè)中的計(jì)算機(jī)程序存儲產(chǎn)品706、710可以包括其上存儲相應(yīng)的計(jì)算機(jī)程序704、708的計(jì)算機(jī)可讀介質(zhì)(例如以計(jì)算機(jī)程序模塊等的形式)。例如,在每個(gè)節(jié)點(diǎn)中的存儲器700M、702M可以是閃存、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、或電可擦除可編程ROM(EEPROM),并且在替代實(shí)施例中,程序模塊可以分布在以相應(yīng)服務(wù)器700和客戶端設(shè)備702內(nèi)的存儲器的形式的不同的計(jì)算機(jī)程序存儲產(chǎn)品上。
因此,本文描述的解決方案可以通過包括指令的計(jì)算機(jī)程序704,708在服務(wù)器700和客戶端設(shè)備702中的每一個(gè)中實(shí)現(xiàn),當(dāng)指令在服務(wù)器700和客戶端設(shè)備702上執(zhí)行時(shí)使得服務(wù)器700和客戶端設(shè)備702在適當(dāng)時(shí)候執(zhí)行根據(jù)上述各個(gè)實(shí)施例的動(dòng)作。該解決方案還可以在服務(wù)器700和客戶端設(shè)備702中的每一個(gè)處在包括指令的計(jì)算機(jī)程序存儲產(chǎn)品706,710中實(shí)現(xiàn),當(dāng)指令在服務(wù)器700和客戶端設(shè)備702上執(zhí)行時(shí)使得服務(wù)器700和客戶端設(shè)備702在適當(dāng)時(shí)候執(zhí)行根據(jù)上述各個(gè)實(shí)施例的動(dòng)作。
雖然解決方案是參照特定示例性實(shí)施例描述的,但是該描述一般僅旨在示出本發(fā)明的概念,并且不應(yīng)視為限制解決方案的范圍。例如,在本公開中已經(jīng)使用了術(shù)語“服務(wù)器”、“客戶端設(shè)備”、“內(nèi)容資源”、“高速緩存器”、“高速緩存器映射”、“預(yù)獲取指示符”和“元數(shù)據(jù)”,但是還可以使用具有本文描述的特征和特性的任何其他相應(yīng)的實(shí)體、功能和/或參數(shù)。該解決方案由所附權(quán)利要求限定。