專利名稱:應(yīng)用驅(qū)動(dòng)的cdn預(yù)高速緩存的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及預(yù)高速緩存,尤其是應(yīng)用驅(qū)動(dòng)的內(nèi)容遞送網(wǎng)絡(luò)的預(yù)高速緩存。
背景技術(shù):
內(nèi)容遞送網(wǎng)絡(luò)(⑶N)是包含被置于不同網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)據(jù)副本的計(jì)算機(jī)網(wǎng)絡(luò)。⑶N提供了原始服務(wù)器和終端用戶計(jì)算機(jī)之間的數(shù)據(jù)的接口。原始服務(wù)器是內(nèi)容的初級(jí)源,且CDN的服務(wù)器對(duì)具有最高需求的內(nèi)容的副本進(jìn)行高速緩存。CDN的服務(wù)器可被有策略地安排為相比于原始服務(wù)器更接近終端用戶計(jì)算機(jī)。終端用戶計(jì)算機(jī)可訪問CDN的服務(wù)器處的高需求數(shù)據(jù),而非不得不直接訪問來自原始服務(wù)器的數(shù)據(jù)。如此,通過增加接入帶寬、增加冗余并減少訪問等待時(shí)間,CDN改善了對(duì)數(shù)據(jù)的訪問。華盛頓州雷蒙德市的微軟公司提供的Bing"(必應(yīng))地圖是使用⑶N提供內(nèi)容的在 線應(yīng)用的示例。該應(yīng)用具有大量的地塊(地圖的部分的圖像)形式的靜態(tài)內(nèi)容,該靜態(tài)內(nèi)容存儲(chǔ)在原始服務(wù)器上通過CDN被遞送到終端用戶。例如,用戶可在他們的計(jì)算設(shè)備處使用web瀏覽器以瀏覽地圖,例如通過跨地圖平掃,放大或縮小地圖的部分等等。當(dāng)用戶瀏覽地圖時(shí),瀏覽器向⑶N發(fā)送對(duì)新地塊的請(qǐng)求。發(fā)展了各種技術(shù)來允許內(nèi)容(例如,地塊)被更快地提供給用戶計(jì)算設(shè)備處的web瀏覽器。根據(jù)第一技術(shù),在線應(yīng)用的原始服務(wù)器可預(yù)測(cè)未來內(nèi)容請(qǐng)求。所預(yù)測(cè)的未來內(nèi)容可被預(yù)高速緩存在CDN中,使得如果所預(yù)測(cè)的未來內(nèi)容實(shí)際被請(qǐng)求,它可被用戶計(jì)算設(shè)備更快地訪問。根據(jù)第二技術(shù),用戶計(jì)算設(shè)備處的客戶機(jī)web瀏覽器可預(yù)測(cè)在未來將可能需要什么內(nèi)容,并可將該內(nèi)容預(yù)取到web瀏覽器。根據(jù)第三技術(shù),CDN服務(wù)器可預(yù)測(cè)用戶計(jì)算設(shè)備的未來內(nèi)容請(qǐng)求,并可將所預(yù)測(cè)的未來內(nèi)容預(yù)高速緩存在CDN中。然而,這些技術(shù)有缺點(diǎn)。例如,讓原始服務(wù)器預(yù)測(cè)未來內(nèi)容有預(yù)先確定要被預(yù)高速緩存的內(nèi)容的缺點(diǎn)。對(duì)于將內(nèi)容預(yù)取到web瀏覽器而言,在用戶產(chǎn)生數(shù)據(jù)傳送成本或具有受限帶寬(諸如在移動(dòng)應(yīng)用中)的情況中,這樣的預(yù)高速緩存可能是不可接受的和/或可能不能提供所需性能。此外,對(duì)于讓CDN預(yù)測(cè)并預(yù)高速緩存未來內(nèi)容而言,CDN可能不得不非常復(fù)雜以理解CDN接收的內(nèi)容請(qǐng)求的類型從而能夠推斷未來內(nèi)容請(qǐng)求。如此,當(dāng)前的高速緩存技術(shù)較不合乎需要。在Bing1;(必應(yīng))地圖的情況中,歸因于可用地塊的數(shù)量和不同用戶的不同聚焦區(qū)域,“高速緩存命中”率(被高速緩存的所請(qǐng)求的數(shù)據(jù)與可用數(shù)據(jù)總量的比率)不合需要地低(例如,小于50%)。這導(dǎo)致了在地圖載入中相對(duì)高的等待時(shí)間,因?yàn)椴坏貌活l繁地為用戶從原始服務(wù)器檢索地塊,而不是從CDN處的高速緩存檢索地塊。
發(fā)明內(nèi)容
提供本發(fā)明內(nèi)容以便以簡(jiǎn)化形式介紹將在以下具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識(shí)所要求保護(hù)主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護(hù)主題的范圍。
提供方法、系統(tǒng),和計(jì)算機(jī)程序產(chǎn)品以用于在內(nèi)容實(shí)際被請(qǐng)求之前對(duì)內(nèi)容進(jìn)行高速緩存。客戶機(jī)應(yīng)用可將隨后要被請(qǐng)求的內(nèi)容預(yù)測(cè)為所需內(nèi)容(而非在原始服務(wù)器處或在內(nèi)容遞送網(wǎng)絡(luò)服務(wù)器處作出預(yù)測(cè))。此外,所預(yù)測(cè)的內(nèi)容可被高速緩存在內(nèi)容遞送網(wǎng)絡(luò)的高速緩存服務(wù)器處(而非被高速緩存在web瀏覽器處)。這樣的技術(shù)可提供高速緩存命中率,降低等待時(shí)間,和/或具有進(jìn)一步的益處。在高速緩存服務(wù)器中的一方法實(shí)現(xiàn)中,從客戶機(jī)應(yīng)用接收對(duì)所需內(nèi)容的第一請(qǐng)求。第一請(qǐng)求也可指示與所需內(nèi)容相關(guān)的附加內(nèi)容,該附加內(nèi)容可能隨后被客戶機(jī)應(yīng)用請(qǐng)求。所指示的附加內(nèi)容不是當(dāng)前被指示為消費(fèi)所需,但是被預(yù)測(cè)為潛在地被未來的消費(fèi)需要。從原始服務(wù)器檢索所需內(nèi)容和所指示的附加內(nèi)容。所需內(nèi)容被發(fā)送到用戶設(shè)備處的客戶機(jī)應(yīng)用,而附加內(nèi)容被高速緩存在高速緩存服務(wù)器處。隨后,可從客戶機(jī)應(yīng)用接收包括對(duì)附加內(nèi)容的請(qǐng)求的第二請(qǐng)求(例如,因?yàn)楦郊觾?nèi)容現(xiàn)在需要被用于客戶機(jī)應(yīng)用處的消費(fèi))。響應(yīng)于第一請(qǐng)求被高速緩存在高速緩存服務(wù)器處的附加內(nèi)容,被響應(yīng)于第二請(qǐng)求由高速緩存服務(wù)器提供給客戶機(jī)應(yīng)用。所需內(nèi)容的第一請(qǐng)求可包括可能性指示,其指示附加內(nèi)容隨后被客戶機(jī)應(yīng)用請(qǐng)求 的可能性。對(duì)原始服務(wù)器處的所指示的附加內(nèi)容的請(qǐng)求(相對(duì)于其它內(nèi)容請(qǐng)求)可基于該可能性指示和/或其它信息而被區(qū)分優(yōu)先級(jí)。 在一個(gè)系統(tǒng)實(shí)現(xiàn)中,高速緩存服務(wù)器可包括內(nèi)容請(qǐng)求解析器、內(nèi)容檢索器模塊,和內(nèi)容提供者模塊。內(nèi)容請(qǐng)求解析器從用戶設(shè)備中的客戶機(jī)應(yīng)用接收對(duì)所需內(nèi)容的請(qǐng)求。該請(qǐng)求指示與所需內(nèi)容相關(guān)的附加內(nèi)容,該附加內(nèi)容可能隨后被客戶機(jī)應(yīng)用請(qǐng)求。內(nèi)容檢索器模塊向原始服務(wù)器發(fā)送對(duì)所需內(nèi)容的和所指示的附加內(nèi)容的至少一個(gè)請(qǐng)求,從原始服務(wù)器接收所需內(nèi)容和附加內(nèi)容,并將附加內(nèi)容高速緩存在存儲(chǔ)中。內(nèi)容提供者模塊將所需內(nèi)容發(fā)送到用戶設(shè)備處的客戶機(jī)應(yīng)用。內(nèi)容請(qǐng)求解析器從客戶機(jī)應(yīng)用接收包括對(duì)附加內(nèi)容的請(qǐng)求的第二請(qǐng)求。響應(yīng)于第二請(qǐng)求,內(nèi)容提供者模塊將經(jīng)高速緩存的附加內(nèi)容提供給客戶機(jī)應(yīng)用。此外,內(nèi)容檢索器模塊可包括請(qǐng)求優(yōu)先級(jí)區(qū)分器(prioritize!·),該優(yōu)先級(jí)區(qū)分器基于可能性指示對(duì)向原始服務(wù)器發(fā)送對(duì)所指示的附加內(nèi)容的請(qǐng)求進(jìn)行優(yōu)先級(jí)區(qū)分。在一個(gè)客戶機(jī)應(yīng)用實(shí)現(xiàn)中,客戶機(jī)應(yīng)用可包括通信接口和附加內(nèi)容預(yù)測(cè)器。附加內(nèi)容預(yù)測(cè)器接收客戶機(jī)應(yīng)用的當(dāng)前所需內(nèi)容的指示,并預(yù)測(cè)可能隨后被客戶機(jī)應(yīng)用請(qǐng)求的附加內(nèi)容。通信接口生成對(duì)所需內(nèi)容的第一請(qǐng)求,該第一請(qǐng)求也指示所預(yù)測(cè)的附加內(nèi)容。通信接口從高速緩存服務(wù)器接收所需內(nèi)容,該高速緩存服務(wù)器響應(yīng)于第一請(qǐng)求從原始服務(wù)器檢索到了所需內(nèi)容。隨后,通信接口生成第二請(qǐng)求,該第二請(qǐng)求是對(duì)所預(yù)測(cè)的附加內(nèi)容作為當(dāng)前所需內(nèi)容的請(qǐng)求。從高速緩存服務(wù)器接收所預(yù)測(cè)的附加內(nèi)容。高速緩存服務(wù)器響應(yīng)于第一請(qǐng)求先前已經(jīng)從原始服務(wù)器檢索了附加內(nèi)容并已經(jīng)高速緩存了該附加內(nèi)容。此外,附加內(nèi)容預(yù)測(cè)器可包括附加內(nèi)容優(yōu)先級(jí)區(qū)分器。附加內(nèi)容優(yōu)先級(jí)區(qū)分器生成可能性指示,指示附加內(nèi)容可能隨后被客戶機(jī)應(yīng)用請(qǐng)求的可能性。此處也描述了用于預(yù)測(cè)未來內(nèi)容請(qǐng)求的客戶機(jī)應(yīng)用、用于高速緩存所預(yù)測(cè)的未來內(nèi)容的高速緩存服務(wù)器,和進(jìn)一步的實(shí)施例的計(jì)算機(jī)程序產(chǎn)品。下面將參考各個(gè)附圖,詳細(xì)描述本發(fā)明的進(jìn)一步特點(diǎn)和優(yōu)點(diǎn),以及本發(fā)明的各實(shí)施例的結(jié)構(gòu)和操作。值得注意的是,本發(fā)明不僅限于此處所描述的特定實(shí)施例。本文呈現(xiàn)這些實(shí)施例僅用于說明性的用途?;诒疚乃拿枋觯渌鼘?shí)施例對(duì)于相關(guān)領(lǐng)域的技術(shù)人員將是顯而易見的。
結(jié)合到本說明書并構(gòu)成本說明書的一部分的附圖示出了本發(fā)明,且與描述一起,進(jìn)一步用于說明本發(fā)明的原理,并允許那些相關(guān)領(lǐng)域技術(shù)人員實(shí)施和使用本發(fā)明。圖1示出了根據(jù)一示例實(shí)施例將內(nèi)容遞送到用戶設(shè)備的內(nèi)容遞送網(wǎng)絡(luò)的框圖。圖2示出了根據(jù)一示例實(shí)施例的內(nèi)容遞送網(wǎng)絡(luò)的框圖,在那里所預(yù)測(cè)的內(nèi)容被高速緩存服務(wù)器檢索并高速緩存。圖3示出了根據(jù)一示例實(shí)施例的提供一過程的流程圖,該過程用于供高速緩存服務(wù)器將客戶機(jī)應(yīng)用在未來可能請(qǐng)求的內(nèi)容進(jìn)行高速緩存。
圖4示出了根據(jù)一示例實(shí)施例的提供用于向客戶機(jī)應(yīng)用提供先前已高速緩存的內(nèi)容的過程的流程圖。圖5示出了根據(jù)一示例實(shí)施例的提供一過程的流程圖,該過程用于供客戶機(jī)應(yīng)用請(qǐng)求并接收所需內(nèi)容并指示可能在未來被請(qǐng)求的內(nèi)容。圖6示出了根據(jù)一示例實(shí)施例的用戶設(shè)備的框圖,該用戶設(shè)備具有配置來請(qǐng)求并接收所需內(nèi)容并指示可能在未來被請(qǐng)求的內(nèi)容的客戶機(jī)應(yīng)用。圖7示出了根據(jù)一示例實(shí)施例的包括附加內(nèi)容優(yōu)先級(jí)區(qū)分器的附加內(nèi)容預(yù)測(cè)器的框圖。圖8示出了根據(jù)一示例實(shí)施例的用于指示內(nèi)容可能在未來被客戶機(jī)應(yīng)用請(qǐng)求的可能性的過程。圖9示出根據(jù)一示例實(shí)施例的高速緩存服務(wù)器的框圖。圖10示出根據(jù)一示例實(shí)施例的包括請(qǐng)求優(yōu)先級(jí)區(qū)分器的內(nèi)容檢索器模塊的框圖。圖11示出根據(jù)一示例實(shí)施例的用于區(qū)分請(qǐng)求的優(yōu)先級(jí)的過程,該請(qǐng)求向原始服務(wù)器請(qǐng)求客戶機(jī)應(yīng)用可能在未來請(qǐng)求的內(nèi)容。圖12示出了可用于實(shí)現(xiàn)本發(fā)明的各實(shí)施例的示例計(jì)算機(jī)的框圖。當(dāng)結(jié)合其中相同的附圖標(biāo)記標(biāo)識(shí)對(duì)應(yīng)的元素的附圖時(shí),本發(fā)明的特征和優(yōu)點(diǎn)將從以下闡述的詳細(xì)描述中變得更加顯而易見。在附圖中,相同的參考標(biāo)號(hào)一般指相同的、功能上相似的和/或結(jié)構(gòu)上相似的元素。其中元素第一次出現(xiàn)的附圖由對(duì)應(yīng)的參考標(biāo)號(hào)中最左側(cè)的數(shù)字指示。
具體實(shí)施例方式1.介紹本說明書公開了包括本發(fā)明的各特征的一個(gè)或多個(gè)實(shí)施例。所公開的實(shí)施例只例示了本發(fā)明。本發(fā)明的范圍不僅限于所公開的實(shí)施例。本發(fā)明由所附的權(quán)利要求進(jìn)行限定。說明書中對(duì)“一個(gè)實(shí)施例”、“實(shí)施例”、“示例實(shí)施例”等等的引用表示所描述的實(shí)施例可包括特定特征、結(jié)構(gòu)或特性,但是,每一個(gè)實(shí)施例可不必包括該特定特征、結(jié)構(gòu),或特征。此外,這些短語(yǔ)不一定指相同的實(shí)施例。此外,當(dāng)關(guān)于某一實(shí)施例描述特定特征、結(jié)構(gòu)或特性時(shí),不管是否被明確描述,關(guān)于其他實(shí)施例來實(shí)現(xiàn)該特征、結(jié)構(gòu)或特性被認(rèn)為是在本領(lǐng)域技術(shù)人員的知識(shí)范圍內(nèi)。本發(fā)明的多個(gè)示例性實(shí)施例在以下描述。應(yīng)當(dāng)理解,在此提供的任何章節(jié)/子章節(jié)標(biāo)題不旨在限制。本文檔中描述了各實(shí)施例,并且任何類型的實(shí)施例可被包括在任何章節(jié)/子章節(jié)下。I1.示例實(shí)施例內(nèi)容遞送網(wǎng)絡(luò)(⑶N)是包含被置于不同網(wǎng)絡(luò)節(jié)點(diǎn)的數(shù)據(jù)副本的計(jì)算機(jī)網(wǎng)絡(luò)。⑶N提供了原始服務(wù)器和終端用戶計(jì)算機(jī)之間的數(shù)據(jù)的接口。原始服務(wù)器是內(nèi)容的初級(jí)源,且CDN的服務(wù)器對(duì)具有最高需求的原始服務(wù)器的內(nèi)容的副本進(jìn)行高速緩存。CDN的服務(wù)器可被有策略地安排為相比于原始服務(wù)器更接近終端用戶計(jì)算機(jī)。終端用戶計(jì)算機(jī)可訪問CDN的服務(wù)器處的高需求數(shù)據(jù),而非不得不直接從原始服務(wù)器訪問數(shù)據(jù)。如此,通過增加接入帶寬、增加冗余并減少訪問等待時(shí)間,CDN改善了對(duì)數(shù)據(jù)的訪問??杀桓咚倬彺嬖贑DN中的內(nèi) 容的類型包括web對(duì)象(文本、圖形、URL和腳本)、可下載對(duì)象(媒體文件、軟件、文檔)、應(yīng)用、直播流媒體和數(shù)據(jù)庫(kù)查詢。發(fā)展了各種技術(shù)來允許內(nèi)容(例如,地塊)被更快地提供給用戶計(jì)算設(shè)備處的web瀏覽器。根據(jù)第一技術(shù),在線應(yīng)用的原始服務(wù)器可預(yù)測(cè)將來的內(nèi)容請(qǐng)求。所預(yù)測(cè)的未來內(nèi)容可被預(yù)高速緩存在CDN中,使得如果所預(yù)測(cè)的未來內(nèi)容實(shí)際被請(qǐng)求,它可被用戶計(jì)算設(shè)備更快地訪問。根據(jù)第二技術(shù),用戶計(jì)算設(shè)備處的客戶機(jī)web瀏覽器可預(yù)測(cè)未來將可能需要什么內(nèi)容,并可將該內(nèi)容預(yù)取到用戶計(jì)算設(shè)備處的web瀏覽器(例如,使用AJAX (異步JavaScript)技術(shù))。例如,用戶在計(jì)算設(shè)備處可使用web瀏覽器來查看一系列圖像。每一次一圖像被查看,要被查看的下一圖像在原始服務(wù)器可被預(yù)測(cè),所預(yù)測(cè)的下一圖像可被預(yù)取到web瀏覽器以允許從當(dāng)前圖像到下一圖像的平滑且即時(shí)的轉(zhuǎn)換。根據(jù)第三技術(shù),CDN服務(wù)器可預(yù)測(cè)用戶計(jì)算設(shè)備的未來內(nèi)容請(qǐng)求,并可將所預(yù)測(cè)的未來內(nèi)容預(yù)高速緩存在CDN中。然而,這些技術(shù)有缺點(diǎn)。例如,讓原始服務(wù)器預(yù)測(cè)未來內(nèi)容有預(yù)先確定要被預(yù)高速緩存的內(nèi)容的缺點(diǎn)。對(duì)于將內(nèi)容預(yù)取到web瀏覽器而言,在用戶產(chǎn)生數(shù)據(jù)傳送成本或具有受限帶寬(諸如在移動(dòng)應(yīng)用中)的情況中,這樣的預(yù)高速緩存可能是不可接受的和/或可能不能提供所需性能。此外,對(duì)于讓CDN預(yù)測(cè)并預(yù)高速緩存未來內(nèi)容而言,CDN可能不得不非常復(fù)雜以理解CDN接收的內(nèi)容請(qǐng)求的類型從而能夠推斷未來內(nèi)容請(qǐng)求。本發(fā)明的各實(shí)施例克服這樣的缺點(diǎn)。在一實(shí)施例中,可在用戶計(jì)算設(shè)備處的客戶機(jī)應(yīng)用中(例如,在web瀏覽器或其它客戶機(jī)應(yīng)用中)實(shí)現(xiàn)用于預(yù)測(cè)未來可能需要的內(nèi)容的邏輯。如此,該邏輯可被更具體地針對(duì)客戶機(jī)應(yīng)用來定制,并可(例如,通過更新)隨客戶機(jī)應(yīng)用的發(fā)展而發(fā)展。此外,在一實(shí)施例中,被預(yù)測(cè)的未來內(nèi)容可被高速緩存在CDN中的存儲(chǔ)中,而不是預(yù)高速緩存在web瀏覽器中。預(yù)高速緩存到CDN中的存儲(chǔ)不顯著增加傳送到web瀏覽器的數(shù)據(jù),并因此不對(duì)web瀏覽器性能產(chǎn)生不利影響,并且在數(shù)據(jù)傳送具有成本或存在受限帶寬的情況下沒有問題。如此,各實(shí)施例允許在CDN的高速緩存服務(wù)器中而不是在客戶機(jī)應(yīng)用它們本身進(jìn)行內(nèi)容預(yù)高速緩存。業(yè)務(wù)邏輯被允許駐留在決定什么內(nèi)容要被預(yù)高速緩存的客戶機(jī)應(yīng)用中。客戶機(jī)應(yīng)用可以基于用戶上下文/行為和/或其它因素直接提示CDN關(guān)于什么內(nèi)容要預(yù)高速緩存。預(yù)高速緩存提示可以可選地包括內(nèi)容未來將被使用的可能性指示,從而允許CDN根據(jù)可用容量來區(qū)分預(yù)高速緩存請(qǐng)求的優(yōu)先級(jí)。各實(shí)施例可在任何類型的CDN中實(shí)現(xiàn)。例如,圖1示出了根據(jù)示例實(shí)施例將內(nèi)容遞送到用戶設(shè)備的內(nèi)容遞送網(wǎng)絡(luò)⑶N 100的框圖。⑶N 100被示為內(nèi)容遞送網(wǎng)絡(luò)的示例類型,而不是為了進(jìn)行限制。如圖1所示,⑶N 100包括原始服務(wù)器102以及第一和第二高速緩存服務(wù)器104a和104b。此外,如圖1所示,⑶N 100向第一-第四用戶設(shè)備106a_106d遞送內(nèi)容。盡管在圖1中出于說明的目的示出了單個(gè)原始服務(wù)器102,兩個(gè)高速緩存服務(wù)器104a和104b,以及四個(gè)用戶設(shè)備106a-106d,但可呈現(xiàn)任何數(shù)量的圖1中的這些特征,包括一個(gè)或多個(gè)附加原始服務(wù)器、一個(gè)或多個(gè)附加高速緩存服務(wù)器,和/或一個(gè)或多個(gè)附加用戶設(shè)備,包括數(shù)十、數(shù)百、數(shù)千,以及甚至更多數(shù)量的服務(wù)器和/或用戶設(shè)備。在一實(shí)施例中,高速緩存服務(wù)器104a和104b可以或可以不被包括在高速緩存服務(wù)器群集(以及可選地其它高速緩存服務(wù)器)中,并且可存在任何數(shù)量的高速緩存服務(wù)器群集。 用戶設(shè)備106a_106d的每一個(gè)可以是任何類型的固定或移動(dòng)計(jì)算設(shè)備,包括臺(tái)式計(jì)算機(jī)(例如,個(gè)人計(jì)算機(jī)等)、移動(dòng)計(jì)算機(jī)或計(jì)算設(shè)備(例如,Palm 設(shè)備、R頂Blackberry 設(shè)備、個(gè)人數(shù)字助理(PDA)、膝上型計(jì)算機(jī)、筆記本計(jì)算機(jī)、平板計(jì)算機(jī)(例如,Apple iPadTM)、上網(wǎng)本等等)、智能電話(例如,Apple iPhone、Google AndroidTM 電話、Microsoft Windows 電話等)或其它類型的計(jì)算設(shè)備。如圖1所示,原始服務(wù)器102和高速緩存服務(wù)器104a和104b通過網(wǎng)絡(luò)108a通信地耦合,而高速緩存服務(wù)器104a和104b和用戶設(shè)備106a-106d通過網(wǎng)絡(luò)108b通信地耦合。網(wǎng)絡(luò)108a和108b可以是分開的網(wǎng)絡(luò)或可以被包括在單個(gè)網(wǎng)絡(luò)中。網(wǎng)絡(luò)108a和108b的示例包括LAN (局域網(wǎng))、WAN (廣域網(wǎng)),或諸如因特網(wǎng)等網(wǎng)絡(luò)的組合??杀话ㄔ诰W(wǎng)絡(luò)108a和108b中的通信鏈路的示例包括IEEE802. 11無線LAN(WLAN)無線鏈路、微波存取全球互通(W1-MAX)鏈路、蜂窩網(wǎng)絡(luò)鏈路、無線個(gè)域網(wǎng)(PAN)鏈路(例如,藍(lán)牙 鏈路)、以太網(wǎng)鏈路、USB (通用串行總線)鏈路等。原始服務(wù)器102和高速緩存服務(wù)器104a和104b的每一個(gè)可以是此處描述的或以其它方式已知的任意類型的計(jì)算設(shè)備。如圖1所示,用戶設(shè)備106a_106d的每個(gè)包括客戶機(jī)應(yīng)用IlOa-1lOd中的對(duì)應(yīng)的一個(gè)。客戶機(jī)應(yīng)用IlOa-1lOd是運(yùn)行在用戶設(shè)備106a — 106d中的應(yīng)用,它們通過⑶N 100訪問內(nèi)容。客戶機(jī)應(yīng)用IlOa-1lOd的示例包括web瀏覽器、媒體播放器(例如,視頻播放器、圖像查看器、音頻播放器等),和其它類型的客戶機(jī)應(yīng)用。如圖1所示,原始服務(wù)器102將內(nèi)容112存儲(chǔ)在客戶機(jī)應(yīng)用IlOa-1lOd可能希望訪問的存儲(chǔ)中。內(nèi)容112可以是任何類型的內(nèi)容,包括web對(duì)象(例如,文本、圖形/圖像/視頻、URL (統(tǒng)一資源定位符)、腳本等)、可下載對(duì)象(例如,媒體文件、軟件、文檔等)、應(yīng)用、直播流媒體和數(shù)據(jù)庫(kù)數(shù)據(jù)。在某些情況中,客戶機(jī)應(yīng)用IlOa-1lOd可直接在原始服務(wù)器102訪問內(nèi)容112。此外,高速緩存服務(wù)器104a-104b的每一個(gè)可分別將內(nèi)容112的各部分高速緩存為已高速緩存的內(nèi)容114a和已高速緩存的內(nèi)容114b。如此,在某些情況中,客戶機(jī)應(yīng)用IlOa-1lOd可訪問高速緩存服務(wù)器104a和104b處的內(nèi)容112(如已高速緩存內(nèi)容114a和114b),而不是不得不從原始服務(wù)器102獲得內(nèi)容112 (這可能是瓶頸)。例如,如圖1所示,用戶設(shè)備106a的客戶機(jī)應(yīng)用IlOa可向高速緩存服務(wù)器104a發(fā)送內(nèi)容請(qǐng)求116。內(nèi)容請(qǐng)求116指示被預(yù)測(cè)為未來要被客戶機(jī)應(yīng)用IlOa請(qǐng)求的內(nèi)容以及客戶機(jī)應(yīng)用IlOa立刻需要的內(nèi)容。以此方式,客戶機(jī)應(yīng)用IlOa向高速緩存服務(wù)器104a發(fā)送未來可能被請(qǐng)求的內(nèi)容,并因此由高速緩存服務(wù)器104a來高速緩存是合乎需要的。注意圖1的實(shí)施例中,內(nèi)容請(qǐng)求116指示客戶機(jī)應(yīng)用IlOa所需內(nèi)容以及被預(yù)測(cè)為客戶機(jī)應(yīng)用IlOa未來要請(qǐng)求的內(nèi)容兩者。在另一實(shí)施例中,內(nèi)容請(qǐng)求116可指示被預(yù)測(cè)為客戶機(jī)應(yīng)用IlOa未來要請(qǐng)求的內(nèi)容,而客戶機(jī)應(yīng)用IlOa所需的內(nèi)容可被指示在從客戶機(jī)應(yīng)用IlOa發(fā)送到高速緩存服務(wù)器104a的分開的請(qǐng)求中。高速緩存服務(wù)器104a可生成被發(fā)送到原始服務(wù)器112的內(nèi)容請(qǐng)求118,請(qǐng)求內(nèi)容請(qǐng)求116中指示的所預(yù)測(cè)的未來內(nèi)容。如果,客戶機(jī)應(yīng)用IlOa請(qǐng)求的所需內(nèi)容還沒有被高速緩存在高速緩存服務(wù)器104a處,高速緩存服務(wù)器104a可在內(nèi)容請(qǐng)求118中指示該所需內(nèi)容,或可以向原始服務(wù)器102 (或其它原始服務(wù)器)發(fā)送分開的對(duì)所需內(nèi)容的請(qǐng)求。在對(duì)內(nèi)容請(qǐng)求118的響應(yīng)120中,原始服務(wù)器102可將內(nèi)容112的內(nèi)容發(fā)送到高速緩存服務(wù)器104a。響應(yīng)120可包括所需內(nèi)容和所預(yù)測(cè)的未來內(nèi)容。另選地,所需內(nèi)容以及所預(yù)測(cè)的未來內(nèi)容可在分開的發(fā)送中從原始服務(wù)器102發(fā)送到高速緩存服務(wù)器104a,或者所需內(nèi)容和 所預(yù)測(cè)的未來內(nèi)容可被發(fā)送自不同原始服務(wù)器。高速緩存服務(wù)器104a可高速緩存所需內(nèi)容和所預(yù)測(cè)的未來內(nèi)容作為已高速緩存內(nèi)容114a,并且可以將所需內(nèi)容作為所需內(nèi)容122發(fā)送到客戶機(jī)應(yīng)用110a。如果客戶機(jī)應(yīng)用IlOa確實(shí)隨后向高速緩存服務(wù)器104a請(qǐng)求作為所預(yù)測(cè)的未來內(nèi)容的內(nèi)容,則高速緩存服務(wù)器104a可將包括所預(yù)測(cè)的未來內(nèi)容的已高速緩存的內(nèi)容114a發(fā)送到客戶機(jī)應(yīng)用110a。歸因于在高速緩存服務(wù)器104a和104b處對(duì)所預(yù)測(cè)的未來內(nèi)容的高速緩存,客戶機(jī)應(yīng)用IlOb-1lOd可類似地與高速緩存服務(wù)器104a和104b之一或兩者交互,從而以比傳統(tǒng)技術(shù)更加高效的方式來接收原始服務(wù)器102的內(nèi)容。如上所描述的,在一實(shí)施例中,客戶機(jī)應(yīng)用可預(yù)測(cè)未來要被訪問的內(nèi)容,且所預(yù)測(cè)的內(nèi)容可被高速緩存在高速緩存服務(wù)器處用于更快的響應(yīng)。在一實(shí)施例中,圖1的客戶機(jī)應(yīng)用IlOa-1lOd可預(yù)測(cè)未來要被訪問的內(nèi)容,并且可向高速緩存服務(wù)器104a和104b指示所預(yù)測(cè)的未來內(nèi)容以進(jìn)行高速緩存。例如,圖2示出了根據(jù)一示例實(shí)施例的CDN 200的框圖。如圖2所示,⑶N 200包括原始服務(wù)器102、高速緩存服務(wù)器202和用戶設(shè)備106a。高速緩存服務(wù)器202是圖1的高速緩存服務(wù)器104a和104b之一的示例。如圖2所示,用戶設(shè)備106a包括客戶機(jī)應(yīng)用204,而客戶機(jī)應(yīng)用204包括附加內(nèi)容預(yù)測(cè)器208??蛻魴C(jī)應(yīng)用204是圖1的客戶機(jī)應(yīng)用IlOa-1lOd之一的示例。在圖2中,客戶機(jī)應(yīng)用204被配置來預(yù)測(cè)隨后可能被請(qǐng)求的內(nèi)容,并且所預(yù)測(cè)的內(nèi)容被高速緩存服務(wù)器202檢索并高速緩存。以下結(jié)合圖3描述圖2。圖3示出了根據(jù)一示例實(shí)施例的提供一過程的流程圖300,該過程用于供高速緩存服務(wù)器以將客戶機(jī)應(yīng)用未來可能請(qǐng)求的內(nèi)容進(jìn)行高速緩存。在一個(gè)實(shí)施例中,流程圖300可由圖2的高速緩存服務(wù)器202來執(zhí)行。在一實(shí)施例中,流程圖300可被共享高速緩存存儲(chǔ)的多個(gè)高速緩存服務(wù)器聯(lián)合執(zhí)行。此外,流程圖300中的關(guān)于原始服務(wù)器的通信可用單個(gè)原始服務(wù)器或多個(gè)原始服務(wù)器來執(zhí)行?;谝韵掠嘘P(guān)流程圖300和高速緩存服務(wù)器202的討論,其他結(jié)構(gòu)及操作的實(shí)施例對(duì)于相關(guān)領(lǐng)域的技術(shù)人員將是顯而易見的。流程圖300開始于步驟302。在步驟302,從用戶設(shè)備中的客戶機(jī)應(yīng)用接收對(duì)所需內(nèi)容的請(qǐng)求,該請(qǐng)求指示可能隨后被所述客戶機(jī)應(yīng)用請(qǐng)求的與所需內(nèi)容相關(guān)的附加內(nèi)容。例如,如圖2所示,高速緩存服務(wù)器202可從用戶設(shè)備106a的客戶機(jī)應(yīng)用204接收第一所需內(nèi)容請(qǐng)求210。第一所需內(nèi)容請(qǐng)求210是對(duì)所需內(nèi)容的請(qǐng)求,所需內(nèi)容諸如用戶使用客戶機(jī)應(yīng)用204正在查看的地圖的地塊、用戶使用客戶機(jī)應(yīng)用204正在查看的一系列圖像中的一圖像、用戶使用客戶機(jī)應(yīng)用204正在觀看的視頻對(duì)象(例如視頻文件)的一視頻幀、用戶使用客戶機(jī)應(yīng)用204正在播放的音頻對(duì)象(例如音頻文件)的一音頻幀、用戶使用客戶機(jī)應(yīng)用204正在查看的網(wǎng)頁(yè)的內(nèi)容項(xiàng),和/或本文別處討論的或以其它方式已知的其它內(nèi)容。此外,第一所需內(nèi)容請(qǐng)求210包括指示可能隨后被客戶機(jī)應(yīng)用204請(qǐng)求的與所需內(nèi)容相關(guān)的附加內(nèi)容。在一實(shí)施例中,客戶機(jī)應(yīng)用204的附加內(nèi)容預(yù)測(cè)器208預(yù)測(cè)可能隨后被客戶機(jī)應(yīng)用204請(qǐng)求的與所需內(nèi)容相關(guān)的附加內(nèi)容。例如,所預(yù)測(cè)的附加內(nèi)容可以是用戶正在查看的地圖的被預(yù)測(cè)為隨后要被用戶查看一個(gè)或多個(gè)附加地塊、用戶正在查看的一系列圖像的被預(yù)測(cè)為隨后要被用戶查看一個(gè)或多個(gè)附加圖像、用戶正在觀看的一視頻對(duì)象的被預(yù)測(cè)為隨后要被用戶觀看一個(gè)或多個(gè)附加視頻幀、用戶正在播放的一音頻頻對(duì) 象的被預(yù)測(cè)為隨后要被播放一個(gè)或多個(gè)附加音頻幀、被預(yù)測(cè)為隨后要被查看的網(wǎng)頁(yè)所引用的一個(gè)或多個(gè)附加內(nèi)容項(xiàng)等等。所預(yù)測(cè)的附加內(nèi)容的指示被客戶機(jī)應(yīng)用204包括在第一所需內(nèi)容請(qǐng)求中。注意第一所需內(nèi)容請(qǐng)求210 (及其響應(yīng))可被包括在客戶機(jī)應(yīng)用204和高速緩存服務(wù)器202之間的一個(gè)或多個(gè)通信連接(例如,TCP連接)中??稍诳蛻魴C(jī)應(yīng)用204和高速緩存服務(wù)器202之間形成任何數(shù)量的連接,并且每個(gè)連接可包括對(duì)所需內(nèi)容的請(qǐng)求和/或可指示一個(gè)或多個(gè)所預(yù)測(cè)的附加內(nèi)容項(xiàng)。在一些情況中,所需內(nèi)容可能已經(jīng)被高速緩存在高速緩存服務(wù)器202處,而所預(yù)測(cè)的未來內(nèi)容還沒有被高速緩存。在這樣的情況中,高速緩存服務(wù)器202可僅僅向原始服務(wù)器請(qǐng)求所預(yù)測(cè)的未來內(nèi)容(即,不需要向原始服務(wù)器請(qǐng)求已經(jīng)被高速緩存在高速緩存服務(wù)器202處的所需內(nèi)容)。返回圖3,在步驟304,對(duì)至少所指示的附加內(nèi)容的請(qǐng)求被發(fā)送到原始服務(wù)器。例如,如圖2所示,高速緩存服務(wù)器202可發(fā)送指示在第一所需內(nèi)容請(qǐng)求210中所指示的附加內(nèi)容的服務(wù)器請(qǐng)求212。服務(wù)器請(qǐng)求212由原始服務(wù)器102接收。如果所需內(nèi)容尚未被高速緩存服務(wù)器202所高速緩存,則高速緩存服務(wù)器202可以可選地向原始服務(wù)器102發(fā)送對(duì)第一所需內(nèi)容請(qǐng)求210中指示的所需內(nèi)容的請(qǐng)求。在一實(shí)施例中,服務(wù)器請(qǐng)求212可包括對(duì)所預(yù)測(cè)的附加內(nèi)容的請(qǐng)求和對(duì)所需內(nèi)容的請(qǐng)求兩者。在步驟306,從原始服務(wù)器接收附加內(nèi)容。例如,響應(yīng)于服務(wù)器請(qǐng)求212,原始服務(wù)器102可發(fā)送包括所需內(nèi)容(如果被請(qǐng)求的話)的服務(wù)器響應(yīng)214。例如,原始服務(wù)器102可訪問與原始服務(wù)器102相關(guān)聯(lián)的存儲(chǔ)中的所需內(nèi)容。高速緩存服務(wù)器202從原始服務(wù)器102接收服務(wù)器響應(yīng)214。此外,原始服務(wù)器102可訪問與原始服務(wù)器102相關(guān)聯(lián)的存儲(chǔ)中的所預(yù)測(cè)的附加內(nèi)容,并可以在服務(wù)器響應(yīng)214或分開的響應(yīng)中將所預(yù)測(cè)的附加內(nèi)容發(fā)送到高速緩存服務(wù)器202。在步驟308,所需內(nèi)容被發(fā)送到用戶設(shè)備處的客戶機(jī)應(yīng)用。例如,如圖2所示,高速緩存服務(wù)器202可以在第一所需內(nèi)容響應(yīng)216中將所請(qǐng)求的所需內(nèi)容發(fā)送到客戶機(jī)應(yīng)用204。在步驟310,附加內(nèi)容被高速緩存。例如,如圖2所示,高速緩存服務(wù)器202可包括存儲(chǔ)222,并且從原始服務(wù)器102在服務(wù)器響應(yīng)214中接收到的所預(yù)測(cè)的附加內(nèi)容可被高速緩存在存儲(chǔ)222中作為已高速緩存的內(nèi)容224。存儲(chǔ)222可包括用以高速緩存內(nèi)容的任何類型的存儲(chǔ)機(jī)制中的一個(gè)或多個(gè),包括(例如,在硬盤驅(qū)動(dòng)器中的)磁盤、(例如,在光盤驅(qū)動(dòng)器中的)光盤、(例如,在磁帶驅(qū)動(dòng)器中的)磁帶、諸如RAM (隨機(jī)存取存儲(chǔ)器)設(shè)備等存儲(chǔ)器設(shè)備,和/或任何其他合適類型的存儲(chǔ)介質(zhì)。此外,在一實(shí)施例中,存儲(chǔ)222可被共享于多個(gè)高速緩存服務(wù)器之中。根據(jù)流程圖300,客戶機(jī)應(yīng)用已經(jīng)通知⑶N未來可能被需要的附加內(nèi)容的預(yù)測(cè),且所預(yù)測(cè)的附加內(nèi)容被預(yù)高速緩存在CDN中(例如,在CDN的高速緩存服務(wù)器402中)。該預(yù)高速緩存增加了實(shí)際隨后請(qǐng)求的內(nèi)容的高速緩存命中率,因此總體改善了終端用戶的體驗(yàn)。注意到全部預(yù)高速緩存將不一定被使用,且所預(yù)高速緩存的請(qǐng)求可以可選地被區(qū)分為優(yōu)先級(jí)在常規(guī)CDN內(nèi)容請(qǐng)求之下。以下進(jìn)一步描述這樣的優(yōu)先級(jí)區(qū)分的示例實(shí)施例。預(yù)高速緩存的益處是更好地利用(存在的)空余容量以改善總體用戶體驗(yàn)。優(yōu)先級(jí)區(qū)分的使用(例如可能性指示符)有助于優(yōu)化預(yù)高速緩存。 例如,圖4示出了根據(jù)一示例實(shí)施例的提供用于向客戶機(jī)應(yīng)用提供先前已高速緩存的內(nèi)容的過程的流程圖400。例如,在一實(shí)施例中,流程圖400可跟隨圖3的流程圖300。以下參考圖2描述流程圖400。流程圖400開始于步驟402。在步驟402,從客戶機(jī)應(yīng)用接收包括對(duì)附加內(nèi)容的請(qǐng)求的第二請(qǐng)求。例如,如圖2所示,高速緩存服務(wù)器202可從用戶設(shè)備106a的客戶機(jī)應(yīng)用204接收第二所需內(nèi)容請(qǐng)求218。第二所需內(nèi)容請(qǐng)求218是客戶機(jī)應(yīng)用204對(duì)內(nèi)容(例如,地塊、圖像、視頻、音頻、網(wǎng)頁(yè)等)的請(qǐng)求,該內(nèi)容先前被預(yù)測(cè)為在未來潛在地被客戶機(jī)應(yīng)用204請(qǐng)求并被指示在第一所需內(nèi)容請(qǐng)求210 (或其它先前所需內(nèi)容請(qǐng)求)中。在步驟404,已高速緩存的附加內(nèi)容被發(fā)送到用戶設(shè)備處的客戶機(jī)應(yīng)用。在一實(shí)施例中,高速緩存服務(wù)器202可分析第二所需內(nèi)容請(qǐng)求218以確定其中被請(qǐng)求的任何內(nèi)容是否已經(jīng)被高速緩存在高速緩存服務(wù)器202處(例如,在存儲(chǔ)222中)。例如,在一實(shí)施例中,高速緩存服務(wù)器202可訪問已高速緩存內(nèi)容映射或?qū)?nèi)容標(biāo)識(shí)符(例如,標(biāo)識(shí)號(hào),諸如散列值等)映射到高速緩存在存儲(chǔ)222中的內(nèi)容的其它數(shù)據(jù)結(jié)構(gòu)。高速緩存服務(wù)器202可將在對(duì)所需內(nèi)容的第二所需內(nèi)容請(qǐng)求218中接收到的內(nèi)容標(biāo)識(shí)符與已高速緩存的內(nèi)容映射中的內(nèi)容標(biāo)識(shí)符進(jìn)行比較,以確定所需內(nèi)容是否已經(jīng)被高速緩存。如果所需內(nèi)容的內(nèi)容標(biāo)識(shí)符在已高速緩存的內(nèi)容映射中被找到,則所需內(nèi)容已經(jīng)被高速緩存在高速緩存服務(wù)器202處。在此情況中,高速緩存服務(wù)器202可訪問已高速緩存在存儲(chǔ)222中的內(nèi)容(例如,作為已高速緩存內(nèi)容224),并可在已高速緩存內(nèi)容響應(yīng)220的發(fā)送中將該已高速緩存內(nèi)容提供給客戶機(jī)應(yīng)用204。在第二所需內(nèi)容請(qǐng)求218中指示的所需內(nèi)容還未被高速緩存在高速緩存服務(wù)器202處的情況中,高速緩存服務(wù)器202可向原始服務(wù)器102請(qǐng)求所需內(nèi)容,如前面結(jié)合(圖3)流程圖300的步驟304和306所描述的。此外,第二所需內(nèi)容請(qǐng)求218可以可選地以類似于第一所需內(nèi)容請(qǐng)求210的方式,指示由附加內(nèi)容預(yù)測(cè)器208預(yù)測(cè)的潛在地隨后被需要的另外的附加內(nèi)容。在此情況中,高速緩存服務(wù)器202可以以類似于上面結(jié)合流程圖300的步驟304、306和310的描述的方式,向原始服務(wù)器102請(qǐng)求所指示的另外的附加內(nèi)容,并可將該所指示的另外的附加內(nèi)容高速緩存在存儲(chǔ)222中用于隨后的內(nèi)容請(qǐng)求。
客戶機(jī)應(yīng)用和高速緩存服務(wù)器的示例實(shí)施例在后續(xù)子章節(jié)中描述。A、示例客戶機(jī)應(yīng)用實(shí)施例如上所描述的,在一實(shí)施例中,客戶機(jī)應(yīng)用(例如客戶機(jī)應(yīng)用204)可預(yù)測(cè)未來要被訪問的內(nèi)容,且所預(yù)測(cè)的內(nèi)容可被高速緩存在高速緩存服務(wù)器處用于更快的響應(yīng)。例如,圖5根據(jù)一示例實(shí)施例示出了流程圖500,它提供了用于供客戶機(jī)應(yīng)用請(qǐng)求并接收所需內(nèi)容并指示未來可能被請(qǐng)求的內(nèi)容以高速緩存的過程。在一個(gè)實(shí)施例中,流程圖500可由圖2的客戶機(jī)應(yīng)用204來執(zhí)行。流程圖500參考圖6來描述。圖6示出了包括客戶機(jī)應(yīng)用204的示例實(shí)施例的用戶設(shè)備600的框圖。如圖6所示,客戶機(jī)應(yīng)用204包括通信接口 602和附加內(nèi)容預(yù)測(cè)器208,而通信接口 602包括請(qǐng)求格式化器604?;陉P(guān)于流程圖500和圖6的客戶機(jī)應(yīng)用204的以下討論,進(jìn)一步的結(jié)構(gòu)和操作實(shí)施例對(duì)相關(guān)領(lǐng)域技術(shù)人員是顯而易見的。流程圖500開始于步驟502。在步驟502,生成對(duì)所需內(nèi)容的第一請(qǐng)求,它指示隨后 可能被客戶機(jī)應(yīng)用請(qǐng)求的與所需內(nèi)容相關(guān)的附加內(nèi)容。例如,如圖6所示,客戶機(jī)應(yīng)用204可生成第一所需內(nèi)容請(qǐng)求210,如上所述,該請(qǐng)求是對(duì)所需內(nèi)容的請(qǐng)求。此外,如上所述,第一所需內(nèi)容請(qǐng)求210包括對(duì)可能隨后被客戶機(jī)應(yīng)用204請(qǐng)求的與所需內(nèi)容相關(guān)的附加內(nèi)容的指示。在一實(shí)施例中,客戶機(jī)應(yīng)用204的附加內(nèi)容預(yù)測(cè)器208預(yù)測(cè)可能隨后被客戶機(jī)應(yīng)用204請(qǐng)求的與所需內(nèi)容相關(guān)的附加內(nèi)容。例如,如圖6所示,附加內(nèi)容預(yù)測(cè)器208可接收所需內(nèi)容指示606。所需內(nèi)容指示606可在客戶機(jī)應(yīng)用204內(nèi)部生成和/或可被用戶輸入到由客戶機(jī)應(yīng)用204提供的用戶界面。所需內(nèi)容指示606指示需要被顯示、播放,或以其他方式交互的內(nèi)容。例如,所需內(nèi)容指示606可(例如,通過URL,文件名等)指示地塊、視頻幀、音頻幀、圖像、網(wǎng)頁(yè)等中的一個(gè)或多個(gè)。附加內(nèi)容預(yù)測(cè)器208可基于由所需內(nèi)容指示606指示的所需內(nèi)容來預(yù)測(cè)附加內(nèi)容,并可將所預(yù)測(cè)的附加內(nèi)容輸出為所預(yù)測(cè)附加內(nèi)容指示 608。例如,當(dāng)所需內(nèi)容指示606將所查看的地圖的一圖塊指示為所需內(nèi)容時(shí),附加內(nèi)容預(yù)測(cè)器208可預(yù)測(cè)該地圖的隨后要被用戶查看的一個(gè)或多個(gè)附加的地塊。在這樣的情況中,附加內(nèi)容預(yù)測(cè)器208可生成所預(yù)測(cè)的附加內(nèi)容指示608以指示與所指示的地塊在空間上相鄰的一個(gè)或多個(gè)地塊,所指示的地塊內(nèi)的地塊(放大)、包括所指示的地塊的地塊(縮小),和/或地圖的有可能隨后被用戶查看的其它地塊。在另一示例中,在所需內(nèi)容指示606將一系列圖像的一圖像指示為所需內(nèi)容的情況下,附加內(nèi)容預(yù)測(cè)器208可將該一系列圖像的一個(gè)或多個(gè)附加圖像預(yù)測(cè)為隨后要由用戶查看,諸如該一系列圖像的與所指示的圖像(時(shí)間上或空間上)相鄰的一個(gè)或多個(gè)后續(xù)圖像(包括后續(xù)圖像的全部余下部分)、所指示的圖像的一部分的圖像(例如放大圖像)、包括整個(gè)所指示圖像的圖像(例如,縮小圖像)。在另一示例中,在所需內(nèi)容指示606將視頻的一視頻幀指示為所需內(nèi)容的情況下,附加內(nèi)容預(yù)測(cè)器208可將該視頻的一個(gè)或多個(gè)附加視頻幀預(yù)測(cè)為隨后要被用戶查看的,諸如該視頻的一個(gè)或多個(gè)后續(xù)視頻巾貞(包括視頻的全部余下部分)。在又一示例中,在所需內(nèi)容指示606將音頻的一音頻巾貞指示為所需內(nèi)容的情況下,附加內(nèi)容預(yù)測(cè)器208可將該音頻的一個(gè)或多個(gè)附加音頻幀預(yù)測(cè)為隨后要被用戶播放的,諸如該音頻的一個(gè)或多個(gè)后續(xù)音頻幀(包括音頻的全部余下部分)。在又一示例中,在所需內(nèi)容指示606將一網(wǎng)頁(yè)指示為所需內(nèi)容的情況下,附加內(nèi)容預(yù)測(cè)器208可將一個(gè)或多個(gè)附加網(wǎng)頁(yè)或其它web對(duì)象(例如圖像、視頻、音頻等)預(yù)測(cè)為隨后要被用戶查看的,諸如一個(gè)或多個(gè)網(wǎng)頁(yè)或鏈接在所指示的網(wǎng)頁(yè)內(nèi)的其它web對(duì)象、包括所指示網(wǎng)頁(yè)的web站點(diǎn)的一個(gè)或多個(gè)網(wǎng)頁(yè)等。如圖6所示,通信接口 602接收所需內(nèi)容指示606和所預(yù)測(cè)的附加內(nèi)容指示608。在一實(shí)施例中,請(qǐng)求格式化器604生成一個(gè)或多個(gè)請(qǐng)求來請(qǐng)求所需內(nèi)容指示606所指示的所需內(nèi)容以及所預(yù)測(cè)附加內(nèi)容指示608所指示的所預(yù)測(cè)的附加內(nèi)容。通信接口 602被配置來將由請(qǐng)求格式化器604生成的請(qǐng)求作為第一所需內(nèi)容請(qǐng)求210從客戶機(jī)應(yīng)用204發(fā)送。在各實(shí)施例中,請(qǐng)求格式化器604可生成請(qǐng)求以具有特定通信技術(shù)所需的任何格式。例如,在一實(shí)施例中,請(qǐng)求格式化器604可以以HTTP (超文本傳輸協(xié)議)請(qǐng)求消息的形式來生成請(qǐng)求。在這樣的實(shí)施例中,HTTP請(qǐng)求消息可被配置來請(qǐng)求所需內(nèi)容,并且所預(yù) 測(cè)的附加內(nèi)容可被以任何合適的形式指示在HTTP請(qǐng)求消息中,諸如在頭部被指示。例如,示例HTTP請(qǐng)求消息的部分示為如下GET/images/logo, png HTTP/1.1...HINTS:<URL1>=20;<URL2>=60...在此示例中,HTTP請(qǐng)求消息包括向服務(wù)器請(qǐng)求web對(duì)象“/images/logo, png”作為所需內(nèi)容的請(qǐng)求行。此外,該示例HTTP請(qǐng)求消息包括HTTP頭部“HINTS”,它指示兩個(gè)URL——URLl和URL2——作為所預(yù)測(cè)的附加內(nèi)容。在此示例中,“URL1”和“URL2”的每一個(gè)可用對(duì)對(duì)應(yīng)預(yù)測(cè)附加內(nèi)容(例如http://tv. msn. com/tv/article. aspx news=xyz等)的完整URL來替代在“HINTS”頭部中。盡管在上述示例頭部中示出兩個(gè)URL,所預(yù)測(cè)的附加內(nèi)容的任何數(shù)量的項(xiàng)可被URL或其它標(biāo)識(shí)符以此方式指示在頭部中。因此,在一實(shí)施例中,請(qǐng)求格式化器604可(例如使用“GET”指令)生成指示所需內(nèi)容以及在頭部中指示所預(yù)測(cè)附加內(nèi)容(例如所預(yù)測(cè)的附加內(nèi)容的“HINTS”或其它預(yù)定類型的頭部)的HTTP請(qǐng)求消息。在其它實(shí)施例中,所需內(nèi)容和所預(yù)測(cè)附加內(nèi)容可被請(qǐng)求格式化器604以其它方式指示在請(qǐng)求中。注意,如上面示例所示那樣,單個(gè)“HINTS”頭部可存在于HTTP請(qǐng)求消息中,或者可存在多個(gè)“HINTS”頭部。再進(jìn)一步,在一示例中,HTTP請(qǐng)求消息可指示所預(yù)測(cè)的附加內(nèi)容而不指示任何所需內(nèi)容(即,僅僅指定/請(qǐng)求所預(yù)測(cè)的附加內(nèi)容)。在這樣的HTTP請(qǐng)求消息中,“GET”指令可被用來指定所預(yù)測(cè)的附加內(nèi)容,且“HINTS”或其它頭部可不被使用,或可存在向高速緩存服務(wù)器指示所請(qǐng)求的內(nèi)容要被高速緩存而尚不返回給客戶機(jī)的頭部(例如“CACHE0NLY”頭部)。通信接口 602可將第一所需內(nèi)容請(qǐng)求210發(fā)送到高速緩存服務(wù)器。在各實(shí)施例中,通信接口 602可被配置以在HTTP消息中發(fā)送第一所需內(nèi)容請(qǐng)求,和/或可被配置來以能夠被相關(guān)領(lǐng)域的技術(shù)人員所知的其它方式來發(fā)送請(qǐng)求。返回圖5,在步驟504中,從高速緩存服務(wù)器接收所需內(nèi)容,該高速緩存服務(wù)器響應(yīng)于對(duì)所需內(nèi)容的第一請(qǐng)求從原始服務(wù)器檢索所需內(nèi)容。例如,如圖6所示,通信接口 602可響應(yīng)于第一所需內(nèi)容請(qǐng)求210從高速緩存服務(wù)器接收第一所需內(nèi)容響應(yīng)216。第一所需內(nèi)容響應(yīng)216包括請(qǐng)求210中請(qǐng)求的所需內(nèi)容??蛻魴C(jī)應(yīng)用204可顯示、播放,和/或以其他方式允許用戶設(shè)備600處的用戶與所接收的所需內(nèi)容進(jìn)行交互。在步驟506,生成對(duì)附加內(nèi)容的第二請(qǐng)求。例如,如圖6所示,客戶機(jī)應(yīng)用204可生成第二所需內(nèi)容請(qǐng)求218。如上所述,第二所需內(nèi)容請(qǐng)求218是客戶機(jī)應(yīng)用204對(duì)內(nèi)容(例如地塊、圖像、視頻、音頻、網(wǎng)頁(yè)等)的請(qǐng)求,該內(nèi)容先前被預(yù)測(cè)為可能隨后被客戶機(jī)應(yīng)用204請(qǐng)求并且在第一所需內(nèi)容請(qǐng)求210中被如此地指示。第二所需內(nèi)容請(qǐng)求218可被以與第一所需內(nèi)容請(qǐng)求210相類似的方式生成。例如,附加內(nèi)容預(yù)測(cè)器208可接收第二所需內(nèi)容指示606,其指示需要被顯示、播放,或以其它方式交互的內(nèi)容。附加內(nèi)容預(yù)測(cè)器208可基于由第二所需內(nèi)容指示606指示的所需內(nèi)容來可選地預(yù)測(cè)附加內(nèi)容,并可將所預(yù)測(cè)的附加內(nèi)容輸出為第二所預(yù)測(cè)附加內(nèi)容指示608。通信接口 602接收第二所需內(nèi)容指示606并可選地接收第二所預(yù)測(cè)附加內(nèi)容指示608。在一實(shí)施例中,請(qǐng)求格式化器604生成對(duì)第二所需內(nèi)容的請(qǐng)求,并將該第二所預(yù)測(cè)附加內(nèi)容可選地包括在所生成的請(qǐng)求中。通信接口602被配置來從客戶機(jī)應(yīng)用204發(fā)送請(qǐng)求作為第二所需內(nèi)容請(qǐng)求218。 在步驟508,從高速緩存服務(wù)器接收附加內(nèi)容,該高速緩存服務(wù)器響應(yīng)于對(duì)所需內(nèi)容的第一請(qǐng)求從原始服務(wù)器檢索了該附加內(nèi)容并將該附加內(nèi)容高速緩存。例如,如圖6所示,通信接口 602可接收已高速緩存的內(nèi)容響應(yīng)220,其包括來自高速緩存服務(wù)器的已高速緩存內(nèi)容作為第二所需內(nèi)容請(qǐng)求218中指示的所需內(nèi)容。高速緩存服務(wù)器先前從原始服務(wù)器獲得了所需內(nèi)容并且將所需內(nèi)容高速緩存以備它可能隨后被請(qǐng)求。如上所述,對(duì)用于高速緩存的內(nèi)容的請(qǐng)求可以可選地被區(qū)分為優(yōu)先級(jí)在普通⑶N內(nèi)容請(qǐng)求之下。以此方式,實(shí)際正被請(qǐng)求的內(nèi)容可在僅僅正被請(qǐng)求用于高速緩存目的的內(nèi)容之前被請(qǐng)求。同樣,更大可能實(shí)際被請(qǐng)求的正被請(qǐng)求用于高速緩存目的的內(nèi)容,可在更小可能實(shí)際被請(qǐng)求的正被請(qǐng)求用于高速緩存目的的內(nèi)容之前被高速緩存。例如,圖7示出了根據(jù)一示例實(shí)施例的,包括附加內(nèi)容優(yōu)先級(jí)區(qū)分器702的附加內(nèi)容預(yù)測(cè)器208的框圖。附加內(nèi)容優(yōu)先級(jí)區(qū)分器702被配置來分析所預(yù)測(cè)的附加內(nèi)容以確定其有多大可能實(shí)際隨后被客戶機(jī)應(yīng)用請(qǐng)求。例如,在一實(shí)施例中,附加內(nèi)容優(yōu)先級(jí)區(qū)分器702可根據(jù)圖8所示的步驟802操作。在步驟802中,生成可能性指示,指示附加內(nèi)容可隨后被客戶機(jī)應(yīng)用請(qǐng)求的可能性。在一實(shí)施例中,對(duì)每個(gè)所預(yù)測(cè)的附加內(nèi)容項(xiàng),附加內(nèi)容優(yōu)先級(jí)區(qū)分器702可生成對(duì)應(yīng)的可能性指示,指示附加內(nèi)容可隨后被客戶機(jī)應(yīng)用204請(qǐng)求的可能性。所生成的可能性指示可與對(duì)應(yīng)的所預(yù)測(cè)的附加內(nèi)容項(xiàng)相關(guān)聯(lián),并被包括在發(fā)送到高速緩存服務(wù)器的所需內(nèi)容請(qǐng)求中。高速緩存服務(wù)器可使用可能性指示來將對(duì)所預(yù)測(cè)附加內(nèi)容項(xiàng)的高速緩存相對(duì)于其它內(nèi)容區(qū)分優(yōu)先級(jí)。此外,高速緩存服務(wù)器可在請(qǐng)求所預(yù)測(cè)的內(nèi)容時(shí)將可能性指示發(fā)送到原始服務(wù)器,使得原始服務(wù)器可將向高速緩存服務(wù)器提供所預(yù)測(cè)的內(nèi)容區(qū)分優(yōu)先級(jí)。附加內(nèi)容優(yōu)先級(jí)區(qū)分器702可以以任何方式生成可能性指示,包括基于正被查看的內(nèi)容和/或基于用戶行為。例如,可為不同內(nèi)容類型不同地生成可能性指示(例如相對(duì)于地塊將更高的可能性指示值分配給視頻幀等)。在另一實(shí)施例中,可由附加內(nèi)容優(yōu)先級(jí)區(qū)分器702基于對(duì)實(shí)際被請(qǐng)求的內(nèi)容的(例如時(shí)間上和/空間上)的鄰近度來為所預(yù)測(cè)的附加內(nèi)容不同地生成可能性指示。例如,在地圖示例中,相對(duì)于被一個(gè)或多個(gè)中間地塊從正被查看的地塊分開的地塊,可將更大的可能性指示值分配給緊鄰當(dāng)前正被查看的地塊的地塊??上蛞曨l流的緊接著的下一個(gè)視頻幀分配具有相對(duì)視頻流的后面的視頻幀(例如視頻流中時(shí)間上和定位上后面的視頻幀)高的可能性指示值。依賴于實(shí)際實(shí)現(xiàn),圖像流的圖像和/或音頻流的音頻幀可被類似地和/或不同地對(duì)待。在網(wǎng)頁(yè)中,位于接近網(wǎng)頁(yè)的頂部的內(nèi)容項(xiàng)(例如URL)可相對(duì)于位于該網(wǎng)頁(yè)的底部的內(nèi)容項(xiàng)被分配更高的可能性指示值。在各實(shí)施例中,根據(jù)特定實(shí)現(xiàn)的需要,可能性指示可以以各種方式生成,并可以具有任何合適的值和值的范圍(例如,數(shù)字范圍、文本范圍(例如,“高”、“中”、“低”等))??紤]到用戶行為,當(dāng)用戶正在特定方向上平掃地圖時(shí),該方向上的地塊未來被請(qǐng)求的可能性高于其它圖塊的可能性,并因此可被分配更高可能性指示。當(dāng)用戶快進(jìn)視頻或音頻時(shí),“下一個(gè)”幀可能是前面的多個(gè)幀,作為流中前面的多個(gè)幀的幀可被分配具有相對(duì)于更緊鄰的幀更高的可能性指示值。例如,在上面所示的示例HTTP消息中,已經(jīng)為URLl生成了具有值20的可能性指示,并且已經(jīng)為URL2生成了具有值60的可能性指示。在這樣的示例中,可能性指示可以具有范圍為1-100的值,較低的可能性值意味著對(duì)應(yīng)的所預(yù)測(cè)的附加內(nèi)容項(xiàng)具有未來被客戶 機(jī)應(yīng)用所請(qǐng)求的較低的可能性,較高的可能性值意味著對(duì)應(yīng)的所預(yù)測(cè)的附加內(nèi)容項(xiàng)具有未來被客戶機(jī)應(yīng)用所請(qǐng)求的較高的可能性。如此,在此示例中相對(duì)于URL1,URL2具有未來被客戶機(jī)應(yīng)用請(qǐng)求的更高可能性,因此在URLl之前被高速緩存。B、示例高速緩存服務(wù)器實(shí)施例圖9示出根據(jù)一示例實(shí)施例的高速緩存服務(wù)器902的框圖。高速緩存服務(wù)器902是圖2所示出的高速緩存服務(wù)器202的示例。如圖2所示,高速緩存服務(wù)器902包括內(nèi)容檢索器模塊904、內(nèi)容請(qǐng)求解析器906、內(nèi)容提供者模塊908,以及存儲(chǔ)222。高速緩存服務(wù)器902可以以各種方式預(yù)高速緩存所預(yù)測(cè)的未來內(nèi)容。例如,在各實(shí)施例中,高速緩存服務(wù)器902可執(zhí)行流程圖300和400。例如,內(nèi)容請(qǐng)求解析器906可執(zhí)行流程圖300的步驟302,在那兒從用戶設(shè)備中的客戶機(jī)應(yīng)用接收對(duì)所需內(nèi)容的請(qǐng)求,該請(qǐng)求指示可能隨后被客戶機(jī)應(yīng)用請(qǐng)求的與所需內(nèi)容相關(guān)的附加內(nèi)容。內(nèi)容請(qǐng)求解析器906可接收并解析第一所需內(nèi)容請(qǐng)求210以標(biāo)識(shí)任何所需內(nèi)容和任何所預(yù)測(cè)附加內(nèi)容。內(nèi)容請(qǐng)求解析器906將第一已標(biāo)識(shí)所需內(nèi)容和所預(yù)測(cè)附加內(nèi)容912發(fā)送到內(nèi)容檢索器模塊904。內(nèi)容檢索器模塊904可執(zhí)行流程圖300的步驟304,在那兒對(duì)所指示的附加內(nèi)容的請(qǐng)求被發(fā)送到原始服務(wù)器。如圖9所示,內(nèi)容檢索器模塊904可將服務(wù)器請(qǐng)求212發(fā)送到原始服務(wù)器,其指示所預(yù)測(cè)的附加內(nèi)容并可指示所需內(nèi)容(如果尚未被高速緩存)。內(nèi)容檢索器模塊904可將對(duì)所預(yù)測(cè)的附加內(nèi)容的請(qǐng)求和對(duì)所需內(nèi)容的請(qǐng)求兩者包括在服務(wù)器請(qǐng)求212中,或在分開的通信中發(fā)送它們。內(nèi)容檢索器模塊904可執(zhí)行流程圖300的步驟306,在那兒從原始服務(wù)器接收所需內(nèi)容和附加內(nèi)容。內(nèi)容檢索器模塊904可從原始服務(wù)器接收服務(wù)器響應(yīng)214,包括所需內(nèi)容(如果被請(qǐng)求)和所預(yù)測(cè)的附加內(nèi)容,或可在分開的通信中接收所需內(nèi)容和所預(yù)測(cè)的附加內(nèi)容。內(nèi)容提供者模塊908執(zhí)行流程圖300的步驟308,在那兒所需內(nèi)容被發(fā)送到用戶設(shè)備處的客戶機(jī)應(yīng)用。如圖9所示,內(nèi)容檢索器模塊904可發(fā)送所檢索的所需內(nèi)容914,包括在服務(wù)器響應(yīng)214中從原始服務(wù)器接收的所需內(nèi)容。內(nèi)容提供者模塊908可接收所檢索的所需內(nèi)容914,并可在第一所需內(nèi)容響應(yīng)216中將所需內(nèi)容發(fā)送到客戶機(jī)應(yīng)用。內(nèi)容檢索器模塊904可執(zhí)行流程圖300的步驟310,在那兒高速緩存附加內(nèi)容。如圖9所示,內(nèi)容檢索器模塊904可將所預(yù)測(cè)的附加內(nèi)容高速緩存在存儲(chǔ)222中作為已高速緩存內(nèi)容224。內(nèi)容請(qǐng)求解析器906可執(zhí)行(圖4)流程圖400的步驟402,在那兒從客戶機(jī)應(yīng)用接收第二請(qǐng)求,包括對(duì)附加內(nèi)容的請(qǐng)求。如圖9所示,內(nèi)容請(qǐng)求解析器906可從客戶機(jī)應(yīng)用接收第二所需內(nèi)容請(qǐng)求218。內(nèi)容請(qǐng)求解析器906可接收并解析第二所需內(nèi)容請(qǐng)求218以標(biāo)識(shí)任何所需內(nèi)容和任何所預(yù)測(cè)附加內(nèi)容。內(nèi)容請(qǐng)求解析器906將第二已標(biāo)識(shí)所需內(nèi)容和所預(yù)測(cè)附加內(nèi)容916發(fā)送到內(nèi)容檢索器模塊904。在圖9所示的示例中,第二所標(biāo)識(shí)的所需內(nèi)容和所預(yù)測(cè)的附加內(nèi)容916將第一所標(biāo)識(shí)的所需內(nèi)容的所預(yù)測(cè)的附加內(nèi)容和所預(yù)測(cè)的附加內(nèi)容912包括為所需內(nèi)容。內(nèi)容檢索器模塊904和內(nèi)容提供者模塊908可執(zhí)行流程圖400的步驟404,在那兒已高速緩存的內(nèi)容被提供給用戶設(shè)備處的客戶機(jī)應(yīng)用。內(nèi)容檢索器模塊904可分析第二所標(biāo)識(shí)所需內(nèi)容和所預(yù)測(cè)附加內(nèi)容916以確定是否其中請(qǐng)求的任何內(nèi)容已經(jīng)被高速緩存在存儲(chǔ)222中。例如,在一實(shí)施例中,內(nèi)容檢索器模塊904可訪問已高速緩存的內(nèi)容映射或?qū)?nèi)容標(biāo)識(shí)符映射到高速緩存在存儲(chǔ)222中的內(nèi)容的上述其它數(shù)據(jù)結(jié)構(gòu)。如果內(nèi)容檢索器模塊904確定所需內(nèi)容已被高速緩存在存儲(chǔ)222中,則內(nèi)容檢索器模塊904可訪問存儲(chǔ)222中的已高速緩存的內(nèi)容(例如,如已高速緩存內(nèi)容224),并且可向內(nèi)容提供者模塊908提供已高速緩存的內(nèi)容作為已高速緩存內(nèi)容918。內(nèi)容提供者模塊908可在已高速緩存內(nèi)容響應(yīng)220中將已高速緩存內(nèi)容提供給客戶機(jī)應(yīng)用。在第二所標(biāo)識(shí)的所需內(nèi)容和所預(yù)測(cè)附加內(nèi)容916中指示的所需內(nèi)容尚未被高速緩存在存儲(chǔ)222的情況中,內(nèi)容檢索器模塊904可如上所述向原始服務(wù)器請(qǐng)求所需內(nèi)容。此夕卜,第二所標(biāo)識(shí)的所需內(nèi)容和所預(yù)測(cè)的附加內(nèi)容916可以可選地指示被預(yù)測(cè)為隨后被請(qǐng)求的其它附加內(nèi)容。在這樣的情況中,內(nèi)容檢索器模塊904可向原始服務(wù)器請(qǐng)求所指示的其它附加內(nèi)容,并可將所指示的其它附加內(nèi)容高速緩存在存儲(chǔ)222中用于隨后的內(nèi)容請(qǐng)求,如上所述。注意,相關(guān)領(lǐng)域技術(shù)人員應(yīng)該了解,內(nèi)容檢索器模塊904、內(nèi)容請(qǐng)求解析器906,和內(nèi)容提供者模塊908可被配置來生成請(qǐng)求并根據(jù)任何合適的通信協(xié)議和格式(包括HTTP消息等)接收響應(yīng)等。此外,如上所述,對(duì)用于高速緩存的內(nèi)容的請(qǐng)求可以相對(duì)于普通⑶N內(nèi)容請(qǐng)求可選地被區(qū)分優(yōu)先級(jí)。例如,圖10示出了根據(jù)示例實(shí)施例圖9的內(nèi)容檢索器模塊904的框圖,包括請(qǐng)求優(yōu)先級(jí)區(qū)分器1002。請(qǐng)求優(yōu)先級(jí)區(qū)分器1002被配置來區(qū)分用于高速緩存的內(nèi)容的請(qǐng)求的優(yōu)先級(jí)。例如,在一實(shí)施例中,請(qǐng)求優(yōu)先級(jí)區(qū)分器1002可根據(jù)圖11所示的步驟1102操作。在步驟1102,基于請(qǐng)求中所接收的可能性指示將所指示的附加內(nèi)容的請(qǐng)求到原始服務(wù)器的發(fā)送進(jìn)行優(yōu)先級(jí)區(qū)分。例如,在一實(shí)施例中,對(duì)于每個(gè)所預(yù)測(cè)的附加內(nèi)容項(xiàng),請(qǐng)求優(yōu)先級(jí)區(qū)分器1002可基于從客戶機(jī)應(yīng)用204接收的對(duì)應(yīng)的可能性指示來相對(duì)于其它內(nèi)容將請(qǐng)求所預(yù)測(cè)的附加內(nèi)容項(xiàng)進(jìn)行優(yōu)先級(jí)區(qū)分。例如,在一實(shí)施例中,請(qǐng)求優(yōu)先級(jí)區(qū)分器1002可生成并維護(hù)優(yōu)先級(jí)列表或列出所預(yù)測(cè)的附加內(nèi)容(例如通過標(biāo)識(shí)符)和對(duì)應(yīng)可能性指示的其它數(shù)據(jù)結(jié)構(gòu)。請(qǐng)求優(yōu)先級(jí)區(qū)分器1002可按可能性指示排序該列表,或可以以其他方式構(gòu)成該列表,使得內(nèi)容檢索器模塊904以區(qū)分了優(yōu)先級(jí)的方式根據(jù)可能性指示請(qǐng)求所預(yù)測(cè)的附加內(nèi)容??舍槍?duì)單個(gè)客戶機(jī)應(yīng)用或多個(gè)客戶機(jī)應(yīng)用來列出所預(yù)測(cè)的附加內(nèi)容和可能性指示。因此,以此方式,內(nèi)容檢索器模塊904可將單個(gè)客戶機(jī)應(yīng)用或多個(gè)客戶機(jī)應(yīng)用的向原始服務(wù)器的請(qǐng)求進(jìn)行優(yōu)先級(jí)區(qū)分。例如,關(guān)于上面所示示例HTTP消息,請(qǐng)求優(yōu)先級(jí)區(qū)分器1002可維持(例如存儲(chǔ)并按需更新)包括URLl和URL2的所預(yù)測(cè)的附加內(nèi)容及它們的對(duì)應(yīng)可能性指示的列表。因?yàn)閁RL2具有值為60的可能性指示,所以URL2被區(qū)分優(yōu)先級(jí)為高于具有可能性指示值20的URLl0以此,在此示例中,根據(jù)請(qǐng)求優(yōu)先級(jí)區(qū)分器1002所維護(hù)的優(yōu)先級(jí),在從原始服務(wù)器檢索URLl的內(nèi)容之前,內(nèi)容檢索器模塊904從原始服務(wù)器檢索URL2的內(nèi)容。此外,在各實(shí)施例中,內(nèi)容檢索器模塊904可使用附加和/或替換信息諸如,可用存儲(chǔ)容量、可用網(wǎng)絡(luò)容量、可用處理(例如CPU)容量等,來對(duì)內(nèi)容的請(qǐng)求區(qū)分優(yōu)先級(jí)。再則,在一實(shí)施例中,在請(qǐng)求所預(yù)測(cè)的未來內(nèi)容時(shí),高速緩存服務(wù)器可將可能性指示發(fā)送到原始 服務(wù)器,使得原始服務(wù)器可相對(duì)于其它內(nèi)容將把所預(yù)測(cè)的內(nèi)容到高速緩存服務(wù)器的發(fā)送區(qū)分優(yōu)先級(jí)(例如,將對(duì)所預(yù)測(cè)的未來內(nèi)容的請(qǐng)求區(qū)分優(yōu)先級(jí)為在對(duì)立刻所需內(nèi)容之下)。如此,在一實(shí)施例中,原始服務(wù)器可包括類似請(qǐng)求優(yōu)先級(jí)區(qū)分器1002的請(qǐng)求優(yōu)先級(jí)區(qū)分器,它基于可能性指示和/或附加/替換信息將所預(yù)測(cè)內(nèi)容到高速緩存服務(wù)器的發(fā)送進(jìn)行優(yōu)先級(jí)區(qū)分。II1.示例計(jì)算設(shè)備實(shí)施例客戶機(jī)應(yīng)用IlOa-1lOcU客戶機(jī)應(yīng)用204、附加內(nèi)容預(yù)測(cè)器208、通信接口 602、請(qǐng)求格式化器604、附加內(nèi)容優(yōu)先級(jí)區(qū)分器702、內(nèi)容檢索器模塊904、內(nèi)容請(qǐng)求解析器906、內(nèi)容提供者模塊908、請(qǐng)求優(yōu)先級(jí)區(qū)分器1002、流程圖300、流程圖400、流程圖500、步驟802、和步驟1102可被實(shí)現(xiàn)在硬件、軟件、固件,或其任何組合中。例如,客戶機(jī)應(yīng)用IlOa-1lOcU客戶機(jī)應(yīng)用204、附加內(nèi)容預(yù)測(cè)器208、通信接口 602、請(qǐng)求格式化器604、附加內(nèi)容優(yōu)先級(jí)區(qū)分器702、內(nèi)容檢索器模塊904、內(nèi)容請(qǐng)求解析器906、內(nèi)容提供者模塊908、請(qǐng)求優(yōu)先級(jí)區(qū)分器1002、流程圖300、流程圖400、流程圖500、步驟802、和步驟1102可被實(shí)現(xiàn)為配置用于在一個(gè)或多個(gè)處理器中執(zhí)行的計(jì)算機(jī)程序代碼/指令/邏輯。另選地,客戶機(jī)應(yīng)用IlOa-1lOcU客戶機(jī)應(yīng)用204、附加內(nèi)容預(yù)測(cè)器208、通信接口 602、請(qǐng)求格式化器604、附加內(nèi)容優(yōu)先級(jí)區(qū)分器702、內(nèi)容檢索器模塊904、內(nèi)容請(qǐng)求解析器906、內(nèi)容提供者模塊908、請(qǐng)求優(yōu)先級(jí)區(qū)分器1002、流程圖300、流程圖400、流程圖500、步驟802、和步驟1102可被實(shí)現(xiàn)為硬件邏輯/電子電路。例如,在一實(shí)施例中,客戶機(jī)應(yīng)用IlOa-1lOcU客戶機(jī)應(yīng)用204、附加內(nèi)容預(yù)測(cè)器208、通信接口 602、請(qǐng)求格式化器604、附加內(nèi)容優(yōu)先級(jí)區(qū)分器702、內(nèi)容檢索器模塊904、內(nèi)容請(qǐng)求解析器906、內(nèi)容提供者模塊908、請(qǐng)求優(yōu)先級(jí)區(qū)分器1002、流程圖300、流程圖400、流程圖500、步驟802、和步驟1102的一個(gè)或多個(gè)可被一起實(shí)現(xiàn)在片上系統(tǒng)(SoC)中。SoC可包括集成電路芯片,該集成電路芯片包括以下一個(gè)或多個(gè)處理器(如微控制器、微處理器、數(shù)字信號(hào)處理器(DSP)等等)、存儲(chǔ)器、一個(gè)或多個(gè)通信接口、和/或用于執(zhí)行其功能的進(jìn)一步的電路和/或嵌入的固件。圖12描繪了其中可以實(shí)現(xiàn)本發(fā)明的各實(shí)施例的計(jì)算機(jī)1200的示例性實(shí)現(xiàn)。例如,原始服務(wù)器102、高速緩存服務(wù)器104a和104b、用戶設(shè)備106a_106d、高速緩存服務(wù)器202、用戶設(shè)備600,和高速緩存服務(wù)器902的每一個(gè)可被實(shí)現(xiàn)在包括計(jì)算機(jī)1200的一個(gè)或多個(gè)特征和/或可替換特征的類似計(jì)算機(jī)1200的一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)中。計(jì)算機(jī)1200可以是例如常規(guī)個(gè)人計(jì)算機(jī)、移動(dòng)計(jì)算機(jī)、服務(wù)器或工作站形式的通用計(jì)算設(shè)備,或者計(jì)算機(jī)1200可以是專用計(jì)算設(shè)備。此處所提供的對(duì)計(jì)算機(jī)1200的描述只是為了說明,并不是限制性的。如相關(guān)領(lǐng)域的技術(shù)人員所知道的,本發(fā)明的各實(shí)施例可以在其他類型的計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)。如圖12所示,計(jì)算機(jī)1200包括一個(gè)或多個(gè)處理器1202、系統(tǒng)存儲(chǔ)器1204,以及將包括系統(tǒng)存儲(chǔ)器1204的各種系統(tǒng)組件耦合到處理器1202的總線1206??偩€1206表示若干類型的總線結(jié)構(gòu)中的任何一種總線結(jié)構(gòu)的一個(gè)或多個(gè),包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、加速圖形端口,以及處理器或使用各種總線體系結(jié)構(gòu)中的任何一種的局部總線。系統(tǒng)存儲(chǔ)器1204包括只讀存儲(chǔ)器(ROM) 1208和隨機(jī)存取存儲(chǔ)器(RAM) 1210?;据斎?輸出系統(tǒng)1212 (BIOS)儲(chǔ)存在ROM 1208中。
計(jì)算機(jī)1200還具有一個(gè)或多個(gè)以下驅(qū)動(dòng)器用于讀寫硬盤的硬盤驅(qū)動(dòng)器1214、用于讀或?qū)懣梢苿?dòng)磁盤1218的磁盤驅(qū)動(dòng)器1216、以及用于讀或?qū)懼T如⑶R0M、DVD ROM或其他光介質(zhì)之類的可移動(dòng)光盤1222的光盤驅(qū)動(dòng)器1220。硬盤驅(qū)動(dòng)器1214、磁盤驅(qū)動(dòng)器1216,以及光驅(qū)動(dòng)器1220分別通過硬盤驅(qū)動(dòng)器接口 1224、磁盤驅(qū)動(dòng)器接口 1226,以及光學(xué)驅(qū)動(dòng)器接口 1228連接到總線1206。驅(qū)動(dòng)器以及它們相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)為計(jì)算機(jī)提供了對(duì)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊,及其他數(shù)據(jù)的非易失存儲(chǔ)器。雖然描述了硬盤、可移動(dòng)磁盤和可移動(dòng)光盤,但是,也可以使用諸如閃存卡、數(shù)字視頻盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)等等之類的其他類型的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)來儲(chǔ)存數(shù)據(jù)。數(shù)個(gè)程序模塊可被儲(chǔ)存在硬盤、磁盤、光盤、ROM或RAM上。這些程序包括操作系統(tǒng)1230、一個(gè)或多個(gè)應(yīng)用程序1232、其他程序模塊1234以及程序數(shù)據(jù)1236。應(yīng)用程序1232或程序模塊1234可包括,例如,用于實(shí)現(xiàn)客戶機(jī)應(yīng)用IlOa-1lOcU客戶機(jī)應(yīng)用204、附加內(nèi)容預(yù)測(cè)器208、通信接口 602、請(qǐng)求格式化器604、附加內(nèi)容優(yōu)先級(jí)區(qū)分器702、內(nèi)容檢索模塊904、內(nèi)容請(qǐng)求解析器906、內(nèi)容提供者模塊908、請(qǐng)求優(yōu)先級(jí)區(qū)分器1002、流程圖300、流程圖400、流程圖500、步驟802,和/或步驟1102 (包括流程圖300、400、500的任何步驟),和或此處描述的其它實(shí)施例的計(jì)算機(jī)程序邏輯(例如計(jì)算機(jī)程序代碼)。用戶可以通過諸如鍵盤1238和定點(diǎn)設(shè)備1240之類的輸入設(shè)備向計(jì)算機(jī)1200中輸入命令和信息。其他輸入設(shè)備(未示出)可包括話筒、操縱桿、游戲手柄、圓盤式衛(wèi)星天線、掃描儀等。這些及其他輸入設(shè)備常常通過耦合到總線1206的串行端口接口 1242連接到處理器1202,但是,也可以通過其他接口,諸如并行端口、游戲端口、通用串行總線(USB)端口,來進(jìn)行連接。顯示設(shè)備1244也通過諸如視頻適配器1246之類的接口連接到總線1206。除了監(jiān)視器之外,計(jì)算機(jī)1200還可包括其他外圍輸出設(shè)備(未示出),如揚(yáng)聲器和打印機(jī)。計(jì)算機(jī)1200通過適配器或網(wǎng)絡(luò)接口 1250、調(diào)制解調(diào)器1252、或用于通過網(wǎng)絡(luò)建立通信的其他手段連接到網(wǎng)絡(luò)1248(例如,因特網(wǎng))??梢允莾?nèi)置的或外置的調(diào)制解調(diào)器1252可以經(jīng)由串行端口接口 1242連接到總線1206,如圖12所示,或者可以使用包括并行接口的另一接口類型連接到總線1206。如此處所用的,術(shù)語(yǔ)“計(jì)算機(jī)程序介質(zhì)”、“計(jì)算機(jī)可讀介質(zhì)”以及“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”被用于泛指介質(zhì),諸如與硬盤驅(qū)動(dòng)器1214相關(guān)聯(lián)的硬盤、可移動(dòng)磁盤1218、可移動(dòng)光盤1222,以及其他介質(zhì),諸如閃存卡、數(shù)字視頻盤、隨機(jī)讀取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)等。這些計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)與通信介質(zhì)(不包括通信介質(zhì))相區(qū)別且不重疊。通信介質(zhì)通常在諸如載波等已調(diào)制數(shù)據(jù)信號(hào)中承載計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或者其它數(shù)據(jù)。術(shù)語(yǔ)“已調(diào)制數(shù)據(jù)信號(hào)”是指使得以在信號(hào)中編碼信息的方式來設(shè)定或改變其一個(gè)或多個(gè)特征的信號(hào)。作為示例而非限制,通信介質(zhì)包括無線介質(zhì),如聲學(xué)、RF、紅外和其它無線介質(zhì)。實(shí)施例也針對(duì)這些通信介質(zhì)。如上文所指示的,計(jì)算機(jī)程序和模塊(包括應(yīng)用程序1232及其他程序模塊1234)可被儲(chǔ)存在硬盤、磁盤、光盤、ROM或RAM上。這樣的計(jì)算機(jī)程序也可以通過網(wǎng)絡(luò)接口 1250、串行端口接口 1242或任何其他接口類型來接收。這樣的計(jì)算機(jī)程序,當(dāng)由應(yīng)用執(zhí)行或加載時(shí),使得計(jì)算機(jī)1200能實(shí)現(xiàn)此處所討論的本發(fā)明的特征。相應(yīng)地,這樣的計(jì)算機(jī)程序表示計(jì)算機(jī)1200的控制器。 本發(fā)明還涉及包括儲(chǔ)存在任何計(jì)算機(jī)可使用介質(zhì)上的軟件的計(jì)算機(jī)程序產(chǎn)品。這樣的軟件,當(dāng)在一個(gè)或多個(gè)數(shù)據(jù)處理設(shè)備中執(zhí)行時(shí),使數(shù)據(jù)處理設(shè)備如此處所描述的那樣操作。本發(fā)明的各實(shí)施例使用現(xiàn)在已知的或?qū)硪阎娜魏斡?jì)算機(jī)可使用或計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的示例包括,但不僅限于,諸如RAM、硬盤驅(qū)動(dòng)器、軟盤、⑶ROM、DVDROM、zip磁盤、磁帶、磁存儲(chǔ)設(shè)備、光存儲(chǔ)設(shè)備、MEM (存儲(chǔ)器)、基于納米技術(shù)的存儲(chǔ)設(shè)備等等之類的存儲(chǔ)設(shè)備。V1.結(jié)論盡管上文描述了本發(fā)明的各實(shí)施例,但是,應(yīng)該理解,它們只是作為示例來呈現(xiàn)的,而不作為限制。那些精通有關(guān)技術(shù)的人員將理解,在不偏離如所附權(quán)利要求書所定義的本發(fā)明的精神和范圍的情況下,可以在形式和細(xì)節(jié)方面進(jìn)行各種修改。因此,本發(fā)明的范圍不應(yīng)該受到上述示例性實(shí)施例的任一個(gè)的限制,而只應(yīng)根據(jù)下面的權(quán)利要求和它們的等效內(nèi)容進(jìn)行定義。
權(quán)利要求
1.一種高速緩存服務(wù)器中的方法,包括 從用戶設(shè)備中的客戶機(jī)應(yīng)用接收對(duì)所需內(nèi)容的請(qǐng)求以及可能隨后被所述客戶機(jī)應(yīng)用請(qǐng)求的與所需內(nèi)容相關(guān)的附加內(nèi)容的指示; 向原始服務(wù)器發(fā)送對(duì)至少所指示的附加內(nèi)容的請(qǐng)求; 從所述原始服務(wù)器接收所述附加內(nèi)容; 將所需內(nèi)容發(fā)送到所述用戶設(shè)備處的所述客戶機(jī)應(yīng)用;以及 高速緩存所述附加內(nèi)容。
2.如權(quán)利要求1所述的方法,其特征在于,還包括 從所述客戶機(jī)應(yīng)用接收第二請(qǐng)求,所述第二請(qǐng)求包括對(duì)所述附加內(nèi)容的請(qǐng)求;以及 將已高速緩存的附加內(nèi)容提供給所述用戶設(shè)備處的所述客戶機(jī)應(yīng)用。
3.如權(quán)利要求2所述的方法,其特征在于,所述第二請(qǐng)求指示可能隨后被所述客戶機(jī)應(yīng)用請(qǐng)求的與所述第一附加內(nèi)容相關(guān)的第二附加內(nèi)容,所述方法還包括 將對(duì)所指示的第二附加內(nèi)容的請(qǐng)求發(fā)送到所述原始服務(wù)器; 從所述原始服務(wù)器接收所述第二附加內(nèi)容;以及 高速緩存所述第二附加內(nèi)容。
4.如權(quán)利要求1所述的方法,其特征在于,附加內(nèi)容的所述指示包括指示所述附加內(nèi)容可能隨后被所述客戶機(jī)應(yīng)用請(qǐng)求的可能性的可能性指示; 其中所述向原始服務(wù)器發(fā)送對(duì)至少所指示的附加內(nèi)容的請(qǐng)求包括 基于所述可能性指示、可用存儲(chǔ)容量、可用網(wǎng)絡(luò)容量,或可用處理容量之一,將向所述原始服務(wù)器發(fā)送對(duì)所指示的附加內(nèi)容的請(qǐng)求進(jìn)行優(yōu)先級(jí)區(qū)分。
5.如權(quán)利要求1所述的方法,其特征在于,從所述客戶機(jī)應(yīng)用接收的對(duì)所需內(nèi)容的請(qǐng)求是在頭部中指示所述附加內(nèi)容的HTTP超文本傳輸協(xié)議消息。
6.如權(quán)利要求1所述的方法,其特征在于,所述所需內(nèi)容包括第一圖像,而所述附加內(nèi)容是第二圖像,所述第二圖像空間上與所述第一圖像相鄰、在時(shí)間上與所述第一圖像相鄰、是所述第一圖像的一部分,或包括所述第一圖像。
7.如權(quán)利要求1所述的方法,其特征在于,對(duì)所需內(nèi)容的所述請(qǐng)求是與附加內(nèi)容的所述指示分開地從所述客戶機(jī)應(yīng)用接收的。
8.一種高速緩存服務(wù)器,包括 內(nèi)容請(qǐng)求解析器,所述內(nèi)容請(qǐng)求解析器從用戶設(shè)備中的客戶機(jī)應(yīng)用接收對(duì)所需內(nèi)容的請(qǐng)求以及可能隨后被所述客戶機(jī)應(yīng)用請(qǐng)求的與所需內(nèi)容相關(guān)的附加內(nèi)容的指示; 內(nèi)容檢索器模塊,所述內(nèi)容檢索器模塊向原始服務(wù)器發(fā)送對(duì)至少所指示的附加內(nèi)容的請(qǐng)求、從所述原始服務(wù)器接收所述附加內(nèi)容,并將所述附加內(nèi)容高速緩存在存儲(chǔ)中;以及內(nèi)容提供者模塊,所述內(nèi)容提供者模塊將所需內(nèi)容發(fā)送到所述用戶設(shè)備處的所述客戶機(jī)應(yīng)用。
9.如權(quán)利要求8所述的高速緩存服務(wù)器,其特征在于,所述內(nèi)容請(qǐng)求解析器從所述客戶機(jī)應(yīng)用接收第二請(qǐng)求,所述第二請(qǐng)求包括對(duì)所述附加內(nèi)容的請(qǐng)求,并且所述內(nèi)容提供者模塊向所述客戶機(jī)應(yīng)用提供經(jīng)高速緩存的附加內(nèi)容。
10.一種計(jì)算機(jī)程序產(chǎn)品,包括其上記錄有計(jì)算機(jī)程序邏輯的計(jì)算機(jī)可讀介質(zhì),包括 用于使得處理器能夠執(zhí)行權(quán)利要求1-7中任一項(xiàng)的計(jì)算機(jī)程序邏輯裝置。
全文摘要
本發(fā)明涉及應(yīng)用驅(qū)動(dòng)的CDN預(yù)高速緩存。提供了用于在內(nèi)容被請(qǐng)求之前高速緩存內(nèi)容的技術(shù)??稍诟咚倬彺娣?wù)器處從客戶機(jī)應(yīng)用接收對(duì)所需內(nèi)容的請(qǐng)求。該請(qǐng)求也指示與所需內(nèi)容相關(guān)的附加內(nèi)容,該附加內(nèi)容可能隨后被客戶機(jī)應(yīng)用請(qǐng)求。所指示的附加內(nèi)容(以及所需內(nèi)容,如果還未被高速緩存)被從原始服務(wù)器檢索。所需內(nèi)容被發(fā)送到用戶設(shè)備處的客戶機(jī)應(yīng)用,而附加內(nèi)容被高速緩存在高速緩存服務(wù)器處。隨后,可從客戶機(jī)應(yīng)用接收包括對(duì)附加內(nèi)容的請(qǐng)求的第二請(qǐng)求。現(xiàn)在被高速緩存在高速緩存服務(wù)器處的附加內(nèi)容,由高速緩存服務(wù)器響應(yīng)于第二請(qǐng)求來提供給客戶機(jī)應(yīng)用(而非從原始服務(wù)器檢索)。
文檔編號(hào)H04L29/08GK103024045SQ201210546718
公開日2013年4月3日 申請(qǐng)日期2012年12月14日 優(yōu)先權(quán)日2011年12月16日
發(fā)明者J·R·圖利艾尼, N·L·霍爾特, C·黃 申請(qǐng)人:微軟公司