相關(guān)申請(qǐng)交叉引用
本專利合作條約(pct)專利申請(qǐng)要求2015年12月15日提交的題為“cachinginacontentdeliveryframework”的美國(guó)非臨時(shí)申請(qǐng)14/570,512的優(yōu)先權(quán),其全部?jī)?nèi)容通過(guò)引用并入本文。
版權(quán)聲明
本專利文檔包含受版權(quán)保護(hù)的材料。版權(quán)所有者不反對(duì)在美國(guó)專利商標(biāo)局的檔案中復(fù)制本專利文檔或任何相關(guān)資料,但另保留所有版權(quán)。
通過(guò)引用并入
以下美國(guó)專利和美國(guó)公開(kāi)專利申請(qǐng)
通過(guò)引用全部并入本文以用于所有目的:
1.2012年12月12日提交的題為“contentdeliverynetwork”的美國(guó)公開(kāi)專利申請(qǐng)us2013/0159472;
2.2012年12月12日提交的題為“contentdeliverynetwork”的美國(guó)公開(kāi)專利申請(qǐng)us2013/0159473;
3.2014年6月17日提交的題為“originserver-sidechannelinacontentdeliveryframework”的美國(guó)公開(kāi)專利申請(qǐng)us2014/0344399a1;以及
4.1998年2月10日提交的題為“optimizednetworkresourcelocation”的美國(guó)專利6,185,598。
本發(fā)明涉及內(nèi)容傳送和內(nèi)容傳送網(wǎng)絡(luò),更具體地,涉及內(nèi)容傳送網(wǎng)絡(luò)中的緩存。
附圖說(shuō)明
本發(fā)明的其他目的、特征和特性以及結(jié)構(gòu)的相關(guān)元件的操作方法和功能以及部件和制造經(jīng)濟(jì)的組合將在參考附圖考慮以下描述和所附權(quán)利要求的情況下變得更加明顯,所有附圖構(gòu)成本說(shuō)明書(shū)的一部分。
圖1示出了根據(jù)本發(fā)明的示例性實(shí)施例的示例性內(nèi)容傳送框架的多個(gè)方面;
圖2示出了根據(jù)本發(fā)明的示例性實(shí)施例的示例性內(nèi)容傳送網(wǎng)絡(luò)(cdn)的多個(gè)方面;
圖3是根據(jù)本發(fā)明的示例性實(shí)施例的處理的多個(gè)方面的流程圖;以及
圖4描繪了根據(jù)本發(fā)明的示例性實(shí)施例的計(jì)算的多個(gè)方面。
具體實(shí)施方式
術(shù)語(yǔ)表:
如本文所用,除非另有說(shuō)明,否則以下術(shù)語(yǔ)或縮寫具有以下含義:
cd表示內(nèi)容傳送;
cdn表示內(nèi)容傳送網(wǎng)絡(luò);
http表示超文本傳輸協(xié)議;
https表示安全版http;
ttl表示生存時(shí)間(timetolive);
uri表示統(tǒng)一資源標(biāo)識(shí)符;
url表示統(tǒng)一資源定位符。
背景和概述
內(nèi)容傳送網(wǎng)絡(luò)(cdn)代表一個(gè)或更多個(gè)內(nèi)容提供商,優(yōu)選地經(jīng)由公共互聯(lián)網(wǎng)將內(nèi)容(例如,資源)有效地分發(fā)給客戶端。內(nèi)容提供商經(jīng)由源數(shù)據(jù)源(源服務(wù)器或起源)提供其內(nèi)容(例如,資源),并且cdn還可以提供一種超高層(over-the-top)傳輸機(jī)制,用于在相反方向上,即從客戶端到源服務(wù)器有效地發(fā)送內(nèi)容。終端用戶(客戶端)和內(nèi)容提供商均受益于使用cdn。使用cdn,內(nèi)容提供商能夠使其自己的服務(wù)器(例如,其源服務(wù)器)減輕壓力(從而減輕負(fù)載)。客戶端通過(guò)能夠以較少的延遲獲得內(nèi)容而受益。
參考圖1,其示出了根據(jù)本發(fā)明的示例性實(shí)施例的示例性內(nèi)容傳送框架100,與一個(gè)或更多個(gè)訂戶104相關(guān)聯(lián)的內(nèi)容102可以經(jīng)由一個(gè)或更多個(gè)cdn108分發(fā)給客戶端106。cdn108可以是任何類型的cdn,并且可以包括子cdn、委托cdn、部分cdn等。在2012年12月12日提交的美國(guó)公開(kāi)專利申請(qǐng)us2013/0159472和us2013/0159473、2014年6月17日提交的us2014/0344399以及1998年2月10日提交的美國(guó)專利6,185,598中描述了示例性cdn,每篇文獻(xiàn)的全部?jī)?nèi)容通過(guò)引用方式完整并入本文以用于所有目的。圖2示出了根據(jù)本發(fā)明的示例性實(shí)施例的示例性cdn108的多個(gè)方面。
如本文所使用的,客戶端是例如被終端用戶用于在系統(tǒng)內(nèi)發(fā)出請(qǐng)求(例如,dns和http請(qǐng)求)的代理(例如,瀏覽器、機(jī)頂盒或其它應(yīng)用)。當(dāng)不使用cdn或其它中介時(shí),這種請(qǐng)求可以直接轉(zhuǎn)到訂戶自己的服務(wù)器(例如,他們的源服務(wù)器)或者互聯(lián)網(wǎng)中的其它組件。當(dāng)內(nèi)容提供商訂閱cd服務(wù)時(shí)(例如,如美國(guó)公開(kāi)專利申請(qǐng)us2013/0159472和us2013/0159473所述),各種請(qǐng)求可以轉(zhuǎn)到中介cd服務(wù),所述中介cd服務(wù)可以將終端用戶請(qǐng)求映射到源請(qǐng)求,并且沿途可能會(huì)轉(zhuǎn)換和緩存內(nèi)容。
每個(gè)不同的源(例如,源服務(wù)器)通常與一個(gè)訂戶相關(guān)聯(lián),但是訂戶可以與任何數(shù)量的源(包括訂戶自有的源和cdn提供的源)相關(guān)聯(lián)。
實(shí)際上,cdn所交互的物理源可以是從中介鏈獲取內(nèi)容的中介,可能是例如最終終止于訂戶的實(shí)際源服務(wù)器處的獨(dú)立內(nèi)容獲取系統(tǒng)的元件。然而,就cdn的內(nèi)部而言,源是從其直接獲取內(nèi)容的在系統(tǒng)邊界之外的服務(wù)。
如本文所使用的,終端用戶是最終消費(fèi)由服務(wù)提供商實(shí)體提供的一些互聯(lián)網(wǎng)服務(wù)(例如,網(wǎng)站、流媒體服務(wù)等)的實(shí)體(例如,個(gè)人或組織)。在本說(shuō)明書(shū)中,該提供商實(shí)體有時(shí)被稱為訂戶,因?yàn)樗鼈冇嗛哻dn服務(wù),以便有效地傳送它們的內(nèi)容,例如,從其源傳送給其消費(fèi)者。cdn可以提供其訂戶和它們的終端用戶之間的增值媒介(例如,緩存、轉(zhuǎn)換等)。
緩存
內(nèi)容(例如,資源)可以在cdn內(nèi)緩存和由其它實(shí)體緩存,包括被提供內(nèi)容的客戶端。應(yīng)當(dāng)理解,客戶端還可以是cdn內(nèi)的實(shí)體。在一些情況下,內(nèi)容可由在cdn內(nèi)和cdn外的中介緩存。再次參考圖1中的內(nèi)容傳送框架100,至少一些內(nèi)容102可以在cdn108(例如,cdn高速緩存或高速緩存服務(wù)110)內(nèi)緩存。
緩存和可緩存的內(nèi)容通常具有與之相關(guān)聯(lián)的緩存策略,并且通常期望處理這樣的內(nèi)容的實(shí)體將遵守這些緩存策略。特別感興趣的緩存策略包括與內(nèi)容到期有關(guān)的那些策略,可以理解,通常不希望提供陳舊的或過(guò)期的內(nèi)容或者以和與該內(nèi)容相關(guān)聯(lián)的緩存策略不一致的方式提供內(nèi)容。
緩存策略可以被指定為與內(nèi)容相關(guān)聯(lián)的緩存指令,并且緩存指令可以取決于例如資源的類型。例如,http資源(包括https資源)優(yōu)選地使用常規(guī)http緩存指令,例如在internetengineeringtaskforce(ietf)requestforcomments(rfc)7234,“hypertexttransferprotocol(http/1.1):caching”中所述,其全部?jī)?nèi)容通過(guò)引用完整并入本文,用于所有目的。眾所周知,在http資源的情況下,緩存指令可以通過(guò)與資源相關(guān)聯(lián)的首部(header)來(lái)提供。如果沒(méi)有向資源提供緩存指令,則實(shí)體(例如,緩存節(jié)點(diǎn))可以使用針對(duì)該類型的資源或來(lái)自該提供商的默認(rèn)緩存策略。實(shí)體可以從另一個(gè)源確定默認(rèn)緩存策略。通常,與內(nèi)容(例如,資源或資源集)相關(guān)聯(lián)的緩存指令(或緩存策略)可以與該內(nèi)容一起提供(例如,在http資源的情況下作為首部),和/或在與內(nèi)容不同的位置或?qū)嶓w(例如,數(shù)據(jù)庫(kù)等)處可用。
cdn可以代表其訂戶緩存內(nèi)容,并且優(yōu)選地,cdn代表其訂戶允許例如在cdn節(jié)點(diǎn)內(nèi)規(guī)定cdn緩存的內(nèi)容的緩存到期策略。cdn可擁有或支持內(nèi)容(例如,資源或資源集)的內(nèi)部緩存策略,其中內(nèi)部緩存策略是cdn緩存所遵循的策略,該策略與相同內(nèi)容的外部緩存策略是分開(kāi)的并且可能不同(例如,在傳送給客戶端時(shí)與內(nèi)容一起傳送的緩存策略)。
在一些實(shí)施例中,cdn可以支持訂戶或其它用戶或?qū)嶓w設(shè)置或覆蓋資源的內(nèi)部緩存策略。例如,在這樣的系統(tǒng)中,cdn客戶/訂戶可以訪問(wèn)自助服務(wù)門戶等(例如,經(jīng)由應(yīng)用程序(編程)接口api),并且覆蓋來(lái)自源服務(wù)器的一些或全部?jī)?nèi)容的緩存策略。例如,特定cdn訂戶可以使用門戶對(duì)其特定類型的內(nèi)容(例如,其pdf文件等)設(shè)置緩存策略,例如,使得這些文件被緩存特定時(shí)間段(例如,一周、一小時(shí)等)。
如本文所述,cdn的內(nèi)部請(qǐng)求處理過(guò)程可以在請(qǐng)求時(shí)間而不是在填充時(shí)間確定所請(qǐng)求內(nèi)容的緩存策略,而不是每當(dāng)對(duì)內(nèi)容設(shè)置緩存策略時(shí)試圖使緩存內(nèi)容(例如,資源)無(wú)效。實(shí)際上,請(qǐng)求處理使用緩存策略的后期綁定,從而確保使用最新的內(nèi)部緩存策略,而不必進(jìn)行強(qiáng)制無(wú)效(潛在的昂貴處理)。
與用于外部緩存的緩存指令類似的緩存指令可以用于內(nèi)部緩存策略。然而,應(yīng)當(dāng)理解,為了便于將內(nèi)部與外部緩存策略指令區(qū)分開(kāi),cdn將對(duì)內(nèi)部緩存策略使用不同的名稱和/或(例如,經(jīng)由內(nèi)部使用的http首部)提供這些策略。以這種方式,外部緩存策略可以被提供給外部實(shí)體,而內(nèi)部緩存策略可以由cdn實(shí)體(例如,高速緩存)來(lái)執(zhí)行。
例如,再次參考圖1中的內(nèi)容傳送框架100,來(lái)自訂戶104的內(nèi)容102可以具有與其相關(guān)聯(lián)的內(nèi)部和/或外部緩存策略(例如,緩存指令)。由cdn108提供給客戶端106的內(nèi)容102′優(yōu)選地包括外部緩存策略(例如,緩存指令)。內(nèi)部緩存策略可以與內(nèi)容102′一起被提供給客戶端106,因?yàn)檫@些策略優(yōu)選地使用客戶端將不會(huì)識(shí)別或執(zhí)行的指令。與特定內(nèi)容相關(guān)聯(lián)的緩存策略可以包括在內(nèi)容中(例如,在http資源的情況下,作為http首部),或者它們可以位于其它地方。在沒(méi)有與內(nèi)容相關(guān)聯(lián)的特定指令的情況下,cdn可以對(duì)該內(nèi)容應(yīng)用默認(rèn)緩存策略。
在本文的一些實(shí)施例中,與內(nèi)容(例如,資源或資源組)相關(guān)聯(lián)的緩存策略(內(nèi)部和外部)可以存儲(chǔ)在數(shù)據(jù)庫(kù)中(有時(shí)在本文中稱為規(guī)則庫(kù)rulebase)。當(dāng)正在處理對(duì)資源的客戶端請(qǐng)求時(shí),可以訪問(wèn)規(guī)則庫(kù),以便查找/獲得所需的緩存策略(內(nèi)部和外部)。再次參考圖1,緩存110可以訪問(wèn)一個(gè)或更多個(gè)數(shù)據(jù)庫(kù)112,以便獲得關(guān)于與內(nèi)容相關(guān)聯(lián)的內(nèi)部和/或外部緩存策略的信息。
如上所述,在一些實(shí)施例中,cdn可以支持訂戶或其它用戶或?qū)嶓w例如經(jīng)由自助服務(wù)門戶等(例如,經(jīng)由api)來(lái)設(shè)置或覆蓋資源的內(nèi)部緩存策略。在圖1中示出了示例性門戶114,其中訂戶可以訪問(wèn)和/或修改與其內(nèi)容(即,將由cdn代表它們來(lái)提供的內(nèi)容)相關(guān)聯(lián)的緩存策略。
因此,根據(jù)本發(fā)明的示例性實(shí)施例,當(dāng)在cdn節(jié)點(diǎn)處接收到客戶端對(duì)內(nèi)容的請(qǐng)求時(shí),該節(jié)點(diǎn)將確定該內(nèi)容的緩存到期策略(例如,是否存在覆蓋策略,如存在,是什么;如不存在,應(yīng)當(dāng)遵守由源服務(wù)器提供的策略)??梢岳缤ㄟ^(guò)訪問(wèn)規(guī)則庫(kù)來(lái)確定內(nèi)容的緩存策略。
然后,該策略例如作為一個(gè)或更多個(gè)緩存約束被傳送到緩存節(jié)點(diǎn)(也稱為高速緩存)。然后,高速緩存可以使用這些約束來(lái)確定其擁有的內(nèi)容(如果有的話)是否可以被返回給請(qǐng)求客戶端,還是需要刷新/重新加載等。應(yīng)該理解,如果節(jié)點(diǎn)沒(méi)有可用資源,那么無(wú)論內(nèi)部緩存策略如何,它都需要獲得資源,盡管它可以遵守當(dāng)前的緩存策略。
例如,如果配置指定了“一小時(shí)”的內(nèi)部緩存策略,則該策略在應(yīng)用請(qǐng)求資源時(shí)被傳送到高速緩存。如果高速緩存具有資源,則其將其所擁有的資源的原始填充時(shí)間與指定的策略(以及當(dāng)前時(shí)間)進(jìn)行比較,以確定是否可以從緩存資源中提供其所擁有的資源,還是需要先刷新/重新加載(或可能異步)。
如果所請(qǐng)求的資源不在高速緩存中,則當(dāng)且僅當(dāng)指定的策略允許或需要時(shí)才進(jìn)行填充并存儲(chǔ)在高速緩存中(例如,如果響應(yīng)被標(biāo)記為不存儲(chǔ),并且沒(méi)有提供指定緩存策略的內(nèi)部策略,則不對(duì)它進(jìn)行存儲(chǔ),等等)。
在沒(méi)有任何內(nèi)部緩存策略覆蓋的情況下,來(lái)自源的響應(yīng)的緩存規(guī)則將仍然適用(即,如果其認(rèn)為資源是新的且沒(méi)有約束,則高速緩存將返回資源)。
在將資源傳送給客戶端時(shí),將應(yīng)用任何外部策略。這允許不同類的客戶端指定不同的約束。例如,在一些情況下,對(duì)資源的內(nèi)部請(qǐng)求可以以始終防止發(fā)生刷新的方式來(lái)請(qǐng)求資源;或者可以類似地要求刷新,而不管高速緩存所認(rèn)為的資源的到期如何。
圖3是根據(jù)本發(fā)明的示例性實(shí)施例的處理的多個(gè)方面的流程圖。如圖3中的流程圖所示,cdn中的高速緩存(緩存節(jié)點(diǎn))接收對(duì)內(nèi)容(c)的請(qǐng)求(在302處)。該請(qǐng)求可以以任何方式(例如,經(jīng)由cdn的會(huì)合系統(tǒng))到達(dá)緩存節(jié)點(diǎn)。內(nèi)容c可以是或包括一個(gè)或更多個(gè)資源,并且該請(qǐng)求可以采用指定這些資源的uri或url的形式。高速緩存確定(在304處)請(qǐng)求的內(nèi)容c是否在本地緩存。如果確定(在304處)沒(méi)有c的本地緩存副本可用,則該節(jié)點(diǎn)優(yōu)選地與c的緩存策略一起獲得內(nèi)容c的副本(在306處)。該節(jié)點(diǎn)可以從cdn中的適當(dāng)?shù)奶畛錂?quán)威節(jié)點(diǎn)獲得c的副本,應(yīng)當(dāng)理解,該填充權(quán)威節(jié)點(diǎn)還將檢查其緩存版本(如果有的話)不是過(guò)時(shí)的。換句話說(shuō),后期綁定緩存策略檢查優(yōu)選地由提供所請(qǐng)求內(nèi)容的副本的所有中間節(jié)點(diǎn)來(lái)執(zhí)行,無(wú)論它們是將該內(nèi)容提供給外部客戶端還是內(nèi)部客戶端。
另一方面,如果確定(在304處)存在所請(qǐng)求內(nèi)容c的本地緩存副本,則該節(jié)點(diǎn)(例如,從數(shù)據(jù)庫(kù)112)獲得(在310處)與內(nèi)容c相關(guān)聯(lián)的當(dāng)前緩存策略。然后使用當(dāng)前緩存策略(在312處)來(lái)確定該節(jié)點(diǎn)是否可以提供所請(qǐng)求內(nèi)容(c)的當(dāng)前緩存版本。如果基于在310中獲得/確定的當(dāng)前緩存策略,不能提供所請(qǐng)求內(nèi)容c的本地緩存版本,則如上所述,該節(jié)點(diǎn)獲得內(nèi)容c的當(dāng)前版本(在306處),并且提供c的當(dāng)前版本(在308處)。另一方面,如果確定(在312處)可以接收該節(jié)點(diǎn)提供內(nèi)容c的當(dāng)前緩存版本(至少部分地基于在310獲得的c的當(dāng)前緩存策略),則提供內(nèi)容c的當(dāng)前緩存版本(在308處)。
可以通過(guò)擴(kuò)展傳送給高速緩存的約束來(lái)處理在規(guī)則庫(kù)中指定的緩存策略,例如基于mime類型和/或狀態(tài)碼指定的策略(負(fù)緩存是其一種特定情況)。例如,“如果緩存不超過(guò)一個(gè)小時(shí),除非是認(rèn)為其不可緩存的text/html的情況或可緩存一天的text/*的情況?!睉?yīng)當(dāng)理解,適當(dāng)簡(jiǎn)潔的語(yǔ)法將適用于并且用于這種約束。
在某些情況下,規(guī)則庫(kù)約束集可以在序列生成時(shí)可編譯,因?yàn)樗ǔ_m用于廣泛的屬性-但是需要針對(duì)過(guò)濾器進(jìn)行規(guī)定(該集合應(yīng)當(dāng)是有限的且在請(qǐng)求準(zhǔn)備期間可容易地選擇);類似地,可以通過(guò)將負(fù)ttl值和狀態(tài)代碼的列表包括到約束集中來(lái)處理負(fù)緩存。
將理解,這種方法的缺點(diǎn)在于必須對(duì)每個(gè)請(qǐng)求都進(jìn)行緩存策略確定。這不可能是免費(fèi)的,而且可能相對(duì)昂貴。另一方面,由于策略更新可能很少,因此具有相對(duì)即時(shí)策略更新的益處可能不大。為了降低該成本,實(shí)施方案可以將配置版本號(hào)與每個(gè)資源一起存儲(chǔ),并且只有配置發(fā)生變化時(shí)才對(duì)其進(jìn)行重新計(jì)算。例如,這種方法將用當(dāng)前配置版本號(hào)來(lái)調(diào)用緩存引擎,并使高速緩存將其和與資源相關(guān)聯(lián)的配置號(hào)進(jìn)行比較。如果配置號(hào)相同,則使用附加到資源的策略信息,否則回調(diào)以獲得當(dāng)前約束集。有效地,如果看起來(lái)約束已經(jīng)改變了,這種方法將僅處理規(guī)則庫(kù)以獲得約束。在一些實(shí)現(xiàn)中,版本號(hào)可以是或包括緩存策略的校驗(yàn)和或散列等(以及序列號(hào),或替代序列號(hào))。散列可以是諸如md5或sha等的加密散列。以這種方式,隨后撤消的更改可被視為匹配先前版本。
這樣的系統(tǒng)將通過(guò)輸入導(dǎo)致當(dāng)前約束被請(qǐng)求的一些崗哨序列號(hào)來(lái)處理奇怪的約束(例如,不想要引起刷新的內(nèi)部請(qǐng)求的類型)。為了支持這種方法,高速緩存的接口可以使得允許請(qǐng)求來(lái)傳送序列號(hào)和/或約束集。如果無(wú)論如何需要針對(duì)每個(gè)請(qǐng)求處理規(guī)則庫(kù),那么可以在該期間收集約束并在請(qǐng)求時(shí)將約束傳送給高速緩存,如果序列號(hào)沒(méi)有改變,則高速緩存可以忽略它,而不是從高速緩存調(diào)用。
計(jì)算
圖4是實(shí)現(xiàn)可以用于執(zhí)行本文討論的處理的代理、父代服務(wù)器或其它計(jì)算設(shè)備的計(jì)算系統(tǒng)400的示意圖。該計(jì)算系統(tǒng)包括總線402(即互連)、至少一個(gè)處理器404、至少一個(gè)通信端口414、主存儲(chǔ)器406、可移除存儲(chǔ)介質(zhì)410、只讀存儲(chǔ)器408以及大容量存儲(chǔ)設(shè)備412。處理器404可以是任何已知的處理器,例如但不限于
主存儲(chǔ)器406可以是隨機(jī)存取存儲(chǔ)器(ram)或本領(lǐng)域公知的任何其它動(dòng)態(tài)存儲(chǔ)設(shè)備。只讀存儲(chǔ)器408可以是任何靜態(tài)存儲(chǔ)設(shè)備,例如用于存儲(chǔ)諸如處理器404的指令的靜態(tài)信息的可編程只讀存儲(chǔ)器(prom)芯片。大容量存儲(chǔ)設(shè)備412可以用于存儲(chǔ)信息和指令。例如,可以使用諸如
總線402將處理器404與其它存儲(chǔ)器、存儲(chǔ)設(shè)備和通信塊通信地耦接。根據(jù)所使用的存儲(chǔ)設(shè)備,總線402可以是pci/pci-x、scsi或基于通用串行總線(usb)的系統(tǒng)總線(或其它總線)??梢瞥鎯?chǔ)介質(zhì)410可以是任何種類的外部硬盤驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器、
本文中的實(shí)施例可以被提供為計(jì)算機(jī)程序產(chǎn)品,其可以包括其上存儲(chǔ)有指令的機(jī)器可讀介質(zhì),所述指令可以用于對(duì)計(jì)算機(jī)(或其它電子設(shè)備)進(jìn)行編程以執(zhí)行處理。機(jī)器可讀介質(zhì)可以包括但不限于軟盤、光盤、cd-rom、磁光盤、rom、ram、可擦除可編程只讀存儲(chǔ)器(eprom)、電可擦除可編程只讀存儲(chǔ)器(eeprom)、磁卡或光卡、閃存或適用于存儲(chǔ)電子指令的其它類型的介質(zhì)/機(jī)器可讀介質(zhì)。
如圖所示,主存儲(chǔ)器可以被編碼有一個(gè)或更多個(gè)應(yīng)用/服務(wù)422,所述應(yīng)用/服務(wù)支持如上面關(guān)于各種附圖和其它所討論的功能。例如,在一個(gè)實(shí)施例中,應(yīng)用422可以包括或以其它方式實(shí)現(xiàn)本文所描述的各種處理和/或指令。應(yīng)用422(和/或如本文所述的其它資源)可以被實(shí)現(xiàn)為支持根據(jù)本文所述的不同實(shí)施例的處理功能的軟件代碼,例如數(shù)據(jù)和/或邏輯指令(例如,存儲(chǔ)在存儲(chǔ)器中或另一計(jì)算機(jī)可讀介質(zhì)例如磁盤上的代碼)。在一個(gè)實(shí)施例的操作期間,處理器404通過(guò)使用總線402訪問(wèn)主存儲(chǔ)器406,以啟動(dòng)、運(yùn)行、執(zhí)行、解釋或以其它方式執(zhí)行應(yīng)用422的邏輯指令。應(yīng)用422的執(zhí)行產(chǎn)生應(yīng)用進(jìn)程424中的處理功能。換句話說(shuō),進(jìn)程424表示在計(jì)算機(jī)系統(tǒng)400中的處理器404內(nèi)或上執(zhí)行的應(yīng)用422的一個(gè)或更多個(gè)部分。
以上描述包括體現(xiàn)本公開(kāi)技術(shù)的示例性系統(tǒng)、方法、技術(shù)、指令序列和/或計(jì)算機(jī)程序產(chǎn)品。應(yīng)當(dāng)理解,可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)施本公開(kāi)。在本公開(kāi)中,所公開(kāi)的方法可以被實(shí)現(xiàn)為設(shè)備可讀的指令集或軟件。此外,應(yīng)當(dāng)理解,所公開(kāi)的方法中的步驟的具體順序或?qū)哟问鞘纠椒ǖ睦印;谠O(shè)計(jì)偏好,應(yīng)當(dāng)理解,方法中的步驟的具體順序或?qū)哟慰梢员恢匦屡帕校瑫r(shí)仍然在所公開(kāi)的主題范圍之內(nèi)。隨附的方法權(quán)利要求以樣本順序呈現(xiàn)各個(gè)步驟的元素,并且不一定意味著受限于所呈現(xiàn)的具體順序或?qū)哟巍?/p>
結(jié)論
如本文所使用的,包括在權(quán)利要求中,短語(yǔ)“至少一些”是指“一個(gè)或多個(gè)”,并且包括僅一個(gè)的情況。因此,例如,短語(yǔ)“至少一些服務(wù)”是指“一個(gè)或更多個(gè)服務(wù)”,并且包括一個(gè)服務(wù)的情況。
如本文所使用的,包括在權(quán)利要求中,短語(yǔ)“基于”是指“部分地基于”或“至少部分地基于”,而不是排他性的。因此,例如,短語(yǔ)“基于因子x”是指“部分地基于因子x”或“至少部分地基于因子x”。除非使用單詞“僅僅”明確說(shuō)明,否則短語(yǔ)“基于x”并不意味著“僅基于x”。
如本文所使用的,包括在權(quán)利要求中,短語(yǔ)“使用”是指“至少使用”,而不是排他性的。因此,例如,短語(yǔ)“使用x”表示“至少使用x”。除非使用單詞“僅僅”明確說(shuō)明,否則短語(yǔ)“使用x”并不意味著“僅使用x”。
通常,如本文所使用的,包括在權(quán)利要求中,除非在短語(yǔ)中具體使用單詞“僅”,否則不應(yīng)將其讀入該短語(yǔ)中。
如本文所使用的,包括在權(quán)利要求中,短語(yǔ)“不同”是指“至少部分不同”。除非另有明確規(guī)定,否則不同并不意味著完全不同。因此,例如,短語(yǔ)“x不同于y”表示“x至少部分不同于y”,并不意味著“x與y完全不同”。因此,如本文所使用的,包括在權(quán)利要求中,短語(yǔ)“x不同于y”表示x至少以某種方式與y不同。
如本文所使用的,包括在權(quán)利要求中,列表可以僅包括一個(gè)項(xiàng)目,并且除非另有說(shuō)明,否則不需要以任何特定方式對(duì)多個(gè)項(xiàng)目的列表進(jìn)行排序。列表可以包括重復(fù)的項(xiàng)目。例如,如本文所使用的,短語(yǔ)“cdn服務(wù)的列表”可以包括一個(gè)或多個(gè)cdn服務(wù)。
應(yīng)當(dāng)理解,說(shuō)明書(shū)和權(quán)利要求中的詞語(yǔ)“第一”和“第二”用于區(qū)分或識(shí)別,而不是顯示序列或數(shù)字限制。類似地,使用字母或數(shù)字標(biāo)簽(例如“(a)”、“(b)”等)用于幫助區(qū)分和/或識(shí)別,而不顯示任何序列或數(shù)字限制或排序。
除非另有明確說(shuō)明,否則任何流程圖中的任何標(biāo)簽框不暗示排序。當(dāng)圖中顯示斷開(kāi)連接的框時(shí),與這些框相關(guān)聯(lián)的活動(dòng)可以以任何順序執(zhí)行,包括完全并行或部分并行。
雖然已經(jīng)結(jié)合當(dāng)前認(rèn)為最實(shí)際和優(yōu)選的實(shí)施例來(lái)描述了本發(fā)明,但是應(yīng)該理解本發(fā)明不限于所公開(kāi)的實(shí)施例,相反,本發(fā)明旨在覆蓋所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。