相關(guān)申請(qǐng)
該專利合作條約(pct)專利申請(qǐng)要求于2015年2月27日提交的題為“網(wǎng)絡(luò)地址解析”的美國(guó)臨時(shí)申請(qǐng)no.62/126,277的優(yōu)先權(quán),該申請(qǐng)全部?jī)?nèi)容以引用全部并入本文中。
本公開的方面涉及網(wǎng)絡(luò)地址解析,并且具體地,涉及將增強(qiáng)型主機(jī)名分配給旨在由內(nèi)容傳送網(wǎng)絡(luò)分發(fā)的資源,以及使用這些增強(qiáng)型主機(jī)名通過(guò)dns來(lái)跟蹤該內(nèi)容的流行度,并且基于該內(nèi)容的流行度來(lái)將請(qǐng)求解析至cdn節(jié)點(diǎn)。
背景技術(shù):
因特網(wǎng)和萬(wàn)維網(wǎng)(“web”)已經(jīng)變得無(wú)所不在。內(nèi)容提供商(發(fā)布商)現(xiàn)在使用因特網(wǎng)(特別是web)向世界各地的眾多客戶提供各種內(nèi)容。為了分擔(dān)服務(wù)其部分或全部?jī)?nèi)容的工作,許多內(nèi)容提供商現(xiàn)在訂閱內(nèi)容傳送網(wǎng)絡(luò)(cdn)。使用cdn,可以從cdn(即,從cdn中的一個(gè)或更多個(gè)服務(wù)器)而不是從內(nèi)容提供商的(多個(gè))服務(wù)器向客戶端提供內(nèi)容。在緩存cdn中,在提供內(nèi)容之前或者響應(yīng)于針對(duì)該內(nèi)容的特定請(qǐng)求,也可以將內(nèi)容緩存在一部分或全部的cdn服務(wù)器上。已經(jīng)緩存在cdn的邊緣服務(wù)器內(nèi)的內(nèi)容增強(qiáng)了cdn的性能,這是因?yàn)椴槐貜闹虚g層源服務(wù)器(mid-tieroriginservers)或其它位置檢索內(nèi)容,在提供內(nèi)容方面,所述其它位置的效率低于邊緣服務(wù)器。
cdn可以提供許多形式的內(nèi)容。例如,現(xiàn)在可以從任何多個(gè)web網(wǎng)站訪問(wèn)電視節(jié)目和電影,并且實(shí)際上可以從cdn提供該節(jié)目和電影。印刷報(bào)紙已經(jīng)遷移到web并且提供了如下這樣的門戶,客戶通過(guò)所述門戶利用瀏覽器、應(yīng)用程序等操作某種形式的計(jì)算設(shè)備,例如pc,智能手機(jī)或平板電腦,可以訪問(wèn)多種形式的內(nèi)容,例如,短視頻剪輯、文章、圖像和音軌。曾經(jīng),軟件更新和補(bǔ)丁程序僅被設(shè)置在光盤上并被郵寄給收件人,但是現(xiàn)在,從cdn發(fā)送軟件更新和補(bǔ)丁程序,并且通常僅使用網(wǎng)絡(luò)連接將軟件更新和補(bǔ)丁分發(fā)至設(shè)備。
尤其考慮眾多評(píng)述中的上述評(píng)述,設(shè)計(jì)并研發(fā)了本發(fā)明的各個(gè)方面。
技術(shù)實(shí)現(xiàn)要素:
本公開的實(shí)施例涉及一種內(nèi)容傳送方法,其包括如下操作:在域的授權(quán)名稱服務(wù)器處接收統(tǒng)一資源定位符解析請(qǐng)求,所述統(tǒng)一資源定位符解析請(qǐng)求是至少部分地基于所述統(tǒng)一資源定位符解析請(qǐng)求的主機(jī)名而被接收的,所述主機(jī)名與關(guān)聯(lián)于所述統(tǒng)一資源定位符解析請(qǐng)求的資源相關(guān)。所述方法還包括:基于與所述資源相關(guān)的主機(jī)名跟蹤所述資源的流行度,并且提供能夠傳送所述資源的網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn),所提供的節(jié)點(diǎn)基于所述資源的流行度。這些操作可以通過(guò)包括處理單元的計(jì)算設(shè)備來(lái)執(zhí)行,并且可以被編碼為存儲(chǔ)在非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)可讀指令。
本公開的實(shí)施例還涉及一種裝置,包括:至少一個(gè)處理設(shè)備,與非暫時(shí)計(jì)算機(jī)可讀介質(zhì)通信,所述非暫時(shí)計(jì)算機(jī)可讀介質(zhì)包括用以執(zhí)行以下步驟的計(jì)算機(jī)可執(zhí)行指令:
在域的授權(quán)名稱服務(wù)器處接收統(tǒng)一資源定位符解析請(qǐng)求,所述統(tǒng)一資源定位符解析請(qǐng)求是至少部分地基于所述統(tǒng)一資源定位符解析請(qǐng)求的主機(jī)名而被接收的,所述主機(jī)名與關(guān)聯(lián)于所述統(tǒng)一資源定位符解析請(qǐng)求的資源相關(guān)。所述指令還用于基于與所述資源唯一相關(guān)的主機(jī)名來(lái)跟蹤所述資源的流行度。
下面更詳細(xì)地討論這些和其它實(shí)施例。
附圖說(shuō)明
如附圖所示,根據(jù)以下對(duì)這些發(fā)明構(gòu)思的特定實(shí)施例的描述,本文中所闡述的本公開的前述和其它的目的、特征和優(yōu)點(diǎn)是顯而易見的。此外,在附圖中,相同的附圖標(biāo)記指代不同示圖中的相同的部分。附圖僅描繪了本公開的典型實(shí)施例,因此不應(yīng)將附圖理解為限制本公開的范圍。
圖1是描繪內(nèi)容傳送網(wǎng)絡(luò)和其它網(wǎng)絡(luò)的網(wǎng)絡(luò)圖,所述網(wǎng)絡(luò)圖基于分配給資源的唯一主機(jī)名來(lái)跟蹤資源流行度,并且可以至少部分地基于資源的流行度來(lái)將請(qǐng)求解析至內(nèi)容傳送網(wǎng)絡(luò)中的節(jié)點(diǎn);
圖2是示出基于被分配給資源的唯一主機(jī)名來(lái)進(jìn)行流行度跟蹤和內(nèi)容傳送的方法的流程圖;
圖3是可以實(shí)現(xiàn)本文所述各種系統(tǒng)和方法的計(jì)算系統(tǒng)的示例。
具體實(shí)施方式
本公開的方面涉及用于選擇邊緣服務(wù)器、機(jī)架、集群或處于內(nèi)容傳送網(wǎng)絡(luò)(cdn)中用以向客戶端提供內(nèi)容的其它設(shè)備的系統(tǒng)和方法。本公開的方面還涉及基于被分配給內(nèi)容的唯一的增強(qiáng)型主機(jī)名的使用來(lái)追蹤該內(nèi)容(資源)的流行度。在一個(gè)示例中,流行度指定可以采取將增強(qiáng)型主機(jī)名全局地分配給資源的形式,這種全局地分配可以在該資源(或者包含具有唯一的增強(qiáng)型主機(jī)名的嵌入式資源的資源)的源服務(wù)器處完成或與可以結(jié)合該資源的源服務(wù)器完成這種全局地分配,其中,所述增強(qiáng)型主機(jī)名僅限于所述資源。也就是說(shuō),在一個(gè)示例中,在源服務(wù)器處,可以分配或以其他方式定義資源的唯一主機(jī)名。如本文所討論的,可以作為服務(wù)器的集合并且可以被分發(fā)的源服務(wù)器是來(lái)自任何給定的內(nèi)容提供商的內(nèi)容的源。源服務(wù)器會(huì)被保留在cdn內(nèi)或不被保留。
在許多傳統(tǒng)系統(tǒng)中,(當(dāng)主機(jī)名被解析為ip地址時(shí))沒(méi)有在dns時(shí)間處請(qǐng)求實(shí)際資源的意識(shí);相反,只有主機(jī)名是已知的。通過(guò)為資源提供唯一的主機(jī)名,dns解析功能中的某些設(shè)備可以通過(guò)了解唯一的主機(jī)名被解析的次數(shù)來(lái)跟蹤資源的流行度。因此,流行度服務(wù)與跟蹤流行度并在解析dns請(qǐng)求時(shí)考慮流行度的dns基礎(chǔ)設(shè)施相結(jié)合。
兩個(gè)資源(資源1和資源2)的增強(qiáng)型主機(jī)名的示例如下:
www.resource1.path.cdn.example.com/path/resource1
www.resource2.path.cdn.example.com/path/resource2
在這種情況下,example.com的授權(quán)名稱服務(wù)器設(shè)置有用以將子域(在本示例中為cdn.example.com)委派給cdn的名稱服務(wù)器的dns記錄。因此,當(dāng)請(qǐng)求客戶端的isp解析器與example.com的授權(quán)名稱服務(wù)器聯(lián)系以便解析這樣的增強(qiáng)型唯一主機(jī)名時(shí),解析器指向cdn的名稱服務(wù)器。cdn名稱服務(wù)器可以通過(guò)對(duì)任何特定增強(qiáng)型主機(jī)名的解析請(qǐng)求的數(shù)目進(jìn)行計(jì)數(shù)來(lái)跟蹤資源的流行度,并且在確定cdn節(jié)點(diǎn)的哪個(gè)層次指向客戶端時(shí)使用該流行度。在cdn內(nèi),可以布置一個(gè)或多個(gè)內(nèi)容服務(wù)器層來(lái)提供流行內(nèi)容和不流行的內(nèi)容。例如,可以將地理上位于靠近各個(gè)可能客戶端位置的相對(duì)大量?jī)?nèi)容服務(wù)器指定用于流行內(nèi)容。來(lái)自客戶端的流行內(nèi)容請(qǐng)求被cdn解析至流行層中的服務(wù)器,其中從該服務(wù)器提供所述流行內(nèi)容。由于內(nèi)容已經(jīng)被請(qǐng)求了一些次數(shù),并且已經(jīng)通過(guò)dns和增強(qiáng)型主機(jī)名跟蹤了該內(nèi)容,所以,最初從流行層中的機(jī)器訪問(wèn)內(nèi)容,然后,隨后可以根據(jù)cdn的架構(gòu)將該內(nèi)容緩存在該機(jī)器處。
本文所用的術(shù)語(yǔ)“內(nèi)容”表示任何形式的任何種類的數(shù)據(jù),不管其表示如何,并且不管其代表什么。術(shù)語(yǔ)“內(nèi)容”可以包括但不限于靜態(tài)和/或動(dòng)態(tài)圖像、文本、包括流式音頻的音頻內(nèi)容、包括流式視頻的視頻內(nèi)容、網(wǎng)頁(yè)、計(jì)算機(jī)程序、文檔、文件等。例如使用諸如html和xml之類的標(biāo)記語(yǔ)言可以將一些內(nèi)容嵌入到其它內(nèi)容中。內(nèi)容包括專門響應(yīng)于特定請(qǐng)求而創(chuàng)建或形成或組成的內(nèi)容。本文中,有時(shí)使用術(shù)語(yǔ)“資源”來(lái)指代內(nèi)容。
資源還可以指以某種方式被組合用以創(chuàng)建資源的對(duì)象的集合。例如,可以作為特定編碼速率的一系列小塊(例如,一些較短的持續(xù)時(shí)間)而傳送視頻流或音頻流。來(lái)自所有這樣編碼速率的所有這樣的塊可以被統(tǒng)一地視為單個(gè)資源,使得這些塊共享一個(gè)共同的增強(qiáng)型主機(jī)名。類似地,唯一地包含嵌入式資源的頁(yè)面可以利用容器(例如,html或xml文檔)和那些嵌入式資源的同一增強(qiáng)型主機(jī)名。
圖1示出了用于實(shí)施本公開的方面的一個(gè)示例性網(wǎng)絡(luò)配置,而圖2描述了相關(guān)方法。所示網(wǎng)絡(luò)包括在服務(wù)請(qǐng)求和提供內(nèi)容中所涉及的許多其它組件;然而,這里的示圖僅關(guān)注系統(tǒng)中所涉及的一些組件,并且本領(lǐng)域技術(shù)人員容易地理解網(wǎng)絡(luò)內(nèi)的其它常規(guī)組件。關(guān)于內(nèi)容傳送,在該示例中,請(qǐng)求源于操作瀏覽器12的計(jì)算設(shè)備10。計(jì)算設(shè)備可以是能夠運(yùn)行瀏覽器并且為用戶提供用以通過(guò)網(wǎng)絡(luò)連接請(qǐng)求內(nèi)容的能力的某種形式的常規(guī)設(shè)備,比如,個(gè)人計(jì)算機(jī)、瘦客戶機(jī)、平板電腦、智能電話、機(jī)頂盒、電纜盒等,或適合于與網(wǎng)絡(luò)交互并從網(wǎng)絡(luò)請(qǐng)求內(nèi)容的一些其它應(yīng)用或應(yīng)用程序。用戶設(shè)備可以是部署在公共網(wǎng)絡(luò)中的消費(fèi)者設(shè)備,可以是部署在專用網(wǎng)絡(luò)中的企業(yè)設(shè)備或或其它類型的設(shè)備。在許多情況下,通過(guò)操作一個(gè)或多個(gè)解析器14的因特網(wǎng)服務(wù)提供商(isp)來(lái)提供網(wǎng)絡(luò)連接。解析器(也稱為dns解析器)是用于解析所請(qǐng)求的資源的網(wǎng)絡(luò)地址(例如,將域名轉(zhuǎn)換為ip地址)的客戶端側(cè)設(shè)備。一般來(lái)說(shuō),解析器聯(lián)系(例如,查詢)可以包含許多不同組件的dns基礎(chǔ)設(shè)施16來(lái)解析資源的網(wǎng)絡(luò)地址。
為了說(shuō)明本公開的方面,當(dāng)用戶進(jìn)入瀏覽器時(shí),考慮網(wǎng)頁(yè)地址http://www.example.com。瀏覽器12與解析器14聯(lián)系或?yàn)g覽器12以其它方式與解析器14交互,解析器14又從dns16請(qǐng)求www.example.com網(wǎng)頁(yè)的ip地址(操作200)。dns返回能夠傳送要在瀏覽器中呈現(xiàn)網(wǎng)頁(yè)的超文本鏈接標(biāo)示語(yǔ)言(html)文檔20的源服務(wù)器18的ip地址。本流程討論了聯(lián)系網(wǎng)頁(yè)的源服務(wù)器;然而,這是出于說(shuō)明的目的而完成的,并且dns可將請(qǐng)求解析至某個(gè)其它設(shè)備以獲得網(wǎng)頁(yè)是可以的。為了獲得html文檔,客戶端設(shè)備與源服務(wù)器建立可封裝http協(xié)議通信的tcp連接(操作210)。源服務(wù)器是保存被分配給客戶端的內(nèi)容的原始副本和/或?qū)⒏北痉峙浣o其它節(jié)點(diǎn)的設(shè)備(或設(shè)備集合)。雖然本公開與到源服務(wù)器的連接相關(guān)聯(lián)地示出,但是可以與在dns中所指定的一些其它設(shè)備進(jìn)行連接用以提供所請(qǐng)求的資源。在該示例中,源服務(wù)器與數(shù)據(jù)庫(kù)22連接,數(shù)據(jù)庫(kù)22組織和管理包括具有嵌入式資源24的html文檔20的某種形式的(多個(gè))存儲(chǔ)設(shè)備中的資源,例如存儲(chǔ)器件。html文檔是瀏覽器所使用的用來(lái)顯示網(wǎng)頁(yè)www.example.com的內(nèi)容。在該示例中,嵌入式資源是到如下這樣的某種形式的內(nèi)容的鏈接,當(dāng)網(wǎng)頁(yè)被顯示時(shí),用戶可以通過(guò)選擇該鏈接來(lái)獲得上述某種形式的內(nèi)容。例如,在網(wǎng)絡(luò)新聞網(wǎng)站的情況下,主頁(yè)或任意數(shù)量的子頁(yè)面(html文檔)可以包括到諸如文章、短視頻剪輯等內(nèi)容的任意數(shù)量的內(nèi)容(嵌入式資源)的鏈接。在電視或電影門戶網(wǎng)站的情況下,主頁(yè)或任意數(shù)量的子頁(yè)面可以包括到電視連續(xù)劇的特定劇集或上映的特定電影的任意數(shù)量的鏈接。
html文檔設(shè)置有具有特定資源的唯一增強(qiáng)型主機(jī)名的嵌入式資源24的url26。這里,cdn的客戶不需要了解內(nèi)容的流行度或其它預(yù)定的流行度。例如,考慮以下情況:www.example.com是在線視頻提供商的主頁(yè),嵌入式資源是到在劇院中表現(xiàn)良好的最近上映的電影的鏈接。在這樣的示例中,當(dāng)視頻提供商上映電影時(shí),該電影可以流行的(被請(qǐng)求了多次),因此,該電影的增強(qiáng)型主機(jī)名被cdn名稱服務(wù)器28多次解析,從而cdn將該電影指定為“流行”。
在本文所討論的示例中,內(nèi)容是流行的或非流行的,并且可以基于特定增強(qiáng)型主機(jī)名被dns解析的次數(shù)來(lái)指定流行度,dns可以具體地是增強(qiáng)型主機(jī)名的cdn名稱服務(wù)器28。然而,可以以其它的等級(jí)來(lái)指定流行度,例如,1=低、2=中等、3=高、如下這樣的1-10的等級(jí),在該1-10的等級(jí)中,1是不受歡迎的,10是最受歡迎的,等等,并且該等級(jí)中還具有與該等級(jí)有關(guān)的閾值(被解析的次數(shù))。此外,可以基于內(nèi)容的請(qǐng)求數(shù)量根據(jù)初始指定來(lái)調(diào)整等級(jí),所述內(nèi)容的請(qǐng)求數(shù)量可以基于離散時(shí)間(例如,每天、每分鐘、每秒等的請(qǐng)求次數(shù))。最后,流行度也可以是區(qū)域性的。例如,就新聞報(bào)道來(lái)說(shuō),可以認(rèn)為最初資源在起源區(qū)域中流行,但在其它區(qū)域中不流行。比方說(shuō),就亞特蘭大的突發(fā)新聞報(bào)道而言,對(duì)于格魯吉亞或美國(guó)東南部來(lái)說(shuō),該在線新聞報(bào)道(嵌入式資源)可以被選定為流行,但對(duì)于其它所有地理區(qū)域來(lái)說(shuō),該在線新聞報(bào)道可能選定為不流行。因此,流行度服務(wù)可以被區(qū)域化,并且可以基于任何給定地理區(qū)域中的dns解決方案的數(shù)量來(lái)跟蹤流行度。
為了在dns時(shí)間處提供流行度指定,為嵌入式資源提供唯一的增強(qiáng)型主機(jī)名。關(guān)于唯一的增強(qiáng)型主機(jī)名,在一個(gè)示例中,如果對(duì)資源1(例如,最近上映的電影大片)賦予了唯一主機(jī)名,則對(duì)資源2(例如,非常古老的深?yuàn)W紀(jì)錄片)賦予不同的唯一主機(jī)名。如上所述,兩個(gè)增強(qiáng)型主機(jī)名26可以是:嵌入式資源1(er1)=(http://resource1.path.cdn.example.com/path/resource1)(流行內(nèi)容)和嵌入式資源2(er2)=http://resource2.path.cdn.example.com/path/resource2(不流行的內(nèi)容)。在用戶可以從其請(qǐng)求任一資源的html頁(yè)面22中嵌入唯一的url名。本文中提供了兩個(gè)示例性增強(qiáng)型主機(jī)名;然而,可以使用任意數(shù)量的替代主機(jī)名,并且也可以使用除了1或2之外的數(shù)量(n)的資源和對(duì)應(yīng)增強(qiáng)型主機(jī)名。
作為替代,主機(jī)名不需要包含對(duì)路徑中的資源的顯式引用;而是可以包括如下面更加詳細(xì)討論的某個(gè)每資源標(biāo)識(shí)符(例如索引、路徑的校驗(yàn)和(例如,md5)等)。主機(jī)名還可以包括用于計(jì)算流行度的客戶端ip地址(或其表示)。作為替代,可以在名稱解析時(shí)間處注明相對(duì)流行度,由于同一名稱可能在解析器處被緩存了多次,由此,在不聯(lián)系cdndns系統(tǒng)的情況下,多個(gè)客戶端可以使用同一名稱。
返回至客戶端請(qǐng)求,利用如上所述的嵌入式資源將html文檔22返回到客戶端設(shè)備10(操作220)。當(dāng)客戶端隨后選擇任一資源時(shí),瀏覽器12再次與isp解析器14通信用以(通過(guò)dns)查找與資源相關(guān)聯(lián)的增強(qiáng)型主機(jī)名。使用流行的示例,isp解析器聯(lián)系dns以便解析resource1.path.cdn.example.com。在一個(gè)具體實(shí)現(xiàn)方案中,example.com的授權(quán)名稱服務(wù)器將path.example.com子域委托給cdn28的授權(quán)名稱服務(wù)器。當(dāng)根據(jù)嵌入式資源中的一個(gè)來(lái)解析主機(jī)名時(shí),與客戶端設(shè)備相關(guān)聯(lián)的isp解析器被引導(dǎo)到cdn的授權(quán)名稱服務(wù)器,然后cdn的授權(quán)名稱服務(wù)器能夠在確定哪個(gè)流行度層用于分配請(qǐng)求之前跟蹤所請(qǐng)求的每個(gè)名稱的流行度(操作230)。然后,cdndns服務(wù)器28從客戶端的流行度層內(nèi)選擇最合適的分發(fā)節(jié)點(diǎn),并將其ip地址返回到isp解析器。cdn名稱服務(wù)器可以使用某種形式的智能流量管理36(最佳分器發(fā)算法)來(lái)指導(dǎo)客戶端從流行域30或不流行域32中的內(nèi)容服務(wù)器獲取內(nèi)容。由于唯一增強(qiáng)型主機(jī)名,cdn名稱服務(wù)器跟蹤每個(gè)唯一增強(qiáng)型主機(jī)名的流行度,這可以由與cdndns相關(guān)聯(lián)的流行度服務(wù)34來(lái)實(shí)現(xiàn)。cdn名稱服務(wù)器還返回cdn中的最佳服務(wù)器節(jié)點(diǎn)的ip地址用以傳送內(nèi)容(操作240)。對(duì)于流行內(nèi)容,節(jié)點(diǎn)處于流行層中,而對(duì)于不流行內(nèi)容,節(jié)點(diǎn)處于不流行層中。
智能流量管理(itm)功能可以返回最適用于向請(qǐng)求客戶端提供內(nèi)容的地址。因此,在簡(jiǎn)單的示例中,對(duì)于紐約的用戶從如下這樣的cdn請(qǐng)求流行內(nèi)容,所述cdn具有能夠提供來(lái)自于加利福尼亞州和紐約的內(nèi)容的節(jié)點(diǎn),由于任意多個(gè)原因,包括成本、等待時(shí)間、質(zhì)量、最佳cdn使用等,提供來(lái)自加利福尼亞州的內(nèi)容可能不是最佳的。在本系統(tǒng)中,itm會(huì)反過(guò)來(lái)將紐約節(jié)點(diǎn)返回給紐約的客戶端。注意,在一個(gè)示例中,cdn名稱服務(wù)器可以將解析器14的位置用作客戶端設(shè)備10的位置的代理。
itm可以考慮并使用客戶端設(shè)備的ip地址、解析器的ip地址、客戶、以及各種其它形式的信息來(lái)確定從其處提供內(nèi)容的節(jié)點(diǎn)。例如,itm可以使用地理信息來(lái)選擇最靠近客戶端設(shè)備或解析器的節(jié)點(diǎn)來(lái)提供內(nèi)容。計(jì)算引擎還可以考慮網(wǎng)絡(luò)流量,并且在最近的節(jié)點(diǎn)太忙的情況下,選擇附近但不太忙的另一個(gè)節(jié)點(diǎn)。在某些情況下,只能對(duì)具有從源服務(wù)器或除了邊緣處的層以外的層提供的不流行內(nèi)容的流行內(nèi)容執(zhí)行這種增強(qiáng)型節(jié)點(diǎn)選擇。
在某些情況下,例如,節(jié)點(diǎn)還不具有本地存儲(chǔ)的內(nèi)容,并且在接收到請(qǐng)求時(shí),該節(jié)點(diǎn)必須從源服務(wù)器、另一節(jié)點(diǎn)或其它地方請(qǐng)求內(nèi)容。在這種情況下,例如,該指令導(dǎo)致節(jié)點(diǎn)緩存并保留內(nèi)容,并且當(dāng)在緩存cdn中操作時(shí)能夠直接服務(wù)下一個(gè)請(qǐng)求。
cdn名稱服務(wù)器將所確定的網(wǎng)絡(luò)地址(例如,url、uri等)返回給請(qǐng)求客戶端設(shè)備,然后,瀏覽器12(或其它設(shè)備)可以與被指定為提供嵌入式資源的cdn節(jié)點(diǎn)建立連接。所指定的節(jié)點(diǎn)具有嵌入式資源,或者獲得內(nèi)容并將該內(nèi)容提供給請(qǐng)求客戶端。在cdn內(nèi),作為客戶端的請(qǐng)求內(nèi)容,流行層節(jié)點(diǎn)快速地緩存所有內(nèi)容,并且能夠在從客戶端接收到請(qǐng)求時(shí)直接傳送內(nèi)容。
在一個(gè)可能的實(shí)施方案中,可以根據(jù)基礎(chǔ)域內(nèi)的路徑生成唯一的主機(jī)名。例如,使用這樣的功能:顛倒路徑元素的順序并且用“.”代替“/”,路徑/some/dir/resource.ext會(huì)生成resourceext.dir.some.path.example.com。
在替代實(shí)施方案中,每個(gè)資源均使用唯一的主機(jī)名(這允許dns系統(tǒng)跟蹤流行度)。所以,對(duì)于諸如http://origin.example.com/path/resource的資源,系統(tǒng)使用諸如http://resource.path.cdn.example.com/path/resource的url。在此示例中,dns服務(wù)器查看整個(gè)“路徑”,包括資源的表示及其路徑。在http://origin.example.com/path/resource的示例中,dns服務(wù)器無(wú)法獲得/path/resource,因此不知道路徑和受到請(qǐng)求的資源。然而,在流行度跟蹤url中,dns查看到了資源的表示和路徑,因此可以跟蹤對(duì)內(nèi)容所做出的請(qǐng)求的次數(shù)。因此,dns可以跟蹤資源流行度。
在替代實(shí)施方案中,系統(tǒng)可以在源服務(wù)器處使用唯一地表示每個(gè)/path/resource的主機(jī)名,以便在不具有url中所提供的實(shí)際路徑和資源名稱和可用于dns的實(shí)際路徑和資源名稱的情況下,提供流行度跟蹤。在這種替代方案中,系統(tǒng)可以使用/path/resource的索引或校驗(yàn)和(例如,md5)來(lái)提供代表/path/resource的唯一主機(jī)名(例如:http://a1242.cdn.example.com/path/resource)。在此示例中,對(duì)于/path/resource的每個(gè)不同值來(lái)說(shuō),cdn.example.com域中的名稱均是不同的。類似于上面引用的增強(qiáng)型唯一主機(jī)名,dns可以跟蹤資源的請(qǐng)求數(shù)量,并由此可以跟蹤流行度。
現(xiàn)在,如果使用校驗(yàn)和,則也可以使用校驗(yàn)和來(lái)驗(yàn)證路徑是否有效和/或主機(jī)名對(duì)于資源來(lái)說(shuō)是否正確。在某些情況下,如果有人在一個(gè)url中使用來(lái)自另一個(gè)不相關(guān)的url中的主機(jī)名,形成“鏈接劫持”,則系統(tǒng)會(huì)遇到問(wèn)題。要驗(yàn)證關(guān)于路徑的主機(jī)名,在主機(jī)名是校驗(yàn)和或者主機(jī)名包括校驗(yàn)和的情況下,如果主機(jī)名與由客戶端請(qǐng)求的/path/resource不一致,則接收cdn節(jié)點(diǎn)會(huì)立即拒絕該請(qǐng)求。這項(xiàng)檢查可以是部分的或完整的;也就是說(shuō),校驗(yàn)和可以在/path/resource的某一部分上,或者校驗(yàn)和可以是整個(gè)/path/resource。使用/path/resource的一部分意味著跟蹤一組資源而不是每個(gè)資源的流行度,這樣做有利于減少需要跟蹤的名稱的數(shù)量。當(dāng)處理多組密切相關(guān)的對(duì)象(例如,流式視頻資產(chǎn)的各個(gè)塊)時(shí),這是有益的。
圖3是可以實(shí)現(xiàn)本文所述的各種方法的計(jì)算系統(tǒng)600的示例性示意圖。用于應(yīng)用608的計(jì)算系統(tǒng)包括:總線601(即,互連)、至少一個(gè)處理器602或其它計(jì)算元件、至少一個(gè)通信端口603、主存儲(chǔ)器604、可拆卸存儲(chǔ)介質(zhì)605、只讀存儲(chǔ)器606和大容量存儲(chǔ)設(shè)備607。處理器602可以是任何已知的處理器,例如但不限于:
主存儲(chǔ)器604可以是隨機(jī)存取存儲(chǔ)器(ram)或本領(lǐng)域公知的任何其它動(dòng)態(tài)存儲(chǔ)設(shè)備。只讀存儲(chǔ)器606可以是任何靜態(tài)存儲(chǔ)設(shè)備,例如用于存儲(chǔ)靜態(tài)信息(諸如處理器602的指令)的可編程只讀存儲(chǔ)器(prom)芯片。大容量存儲(chǔ)設(shè)備607可以用于存儲(chǔ)信息和指令。例如,可以使用諸如
總線601將處理器602與其它存儲(chǔ)器、存儲(chǔ)模塊和通信模塊通信地耦接。根據(jù)所使用的存儲(chǔ)設(shè)備,總線601可以是pci/pci-x、scsi或基于通用串行總線(usb)的系統(tǒng)總線(或其它總線)??刹鹦洞鎯?chǔ)介質(zhì)605可以是任何種類的外部硬盤驅(qū)動(dòng)器、拇指驅(qū)動(dòng)器、致密盤-只讀存儲(chǔ)器(cd-rom)、致密盤可重寫(cd-rw)、數(shù)字視頻盤-只讀存儲(chǔ)器(dvd-rom)等。
本文中的實(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ǔ)器604使用增強(qiáng)型主機(jī)名流行度會(huì)合引擎應(yīng)用608-1來(lái)編碼,所述應(yīng)用608-1支持如上所述和如下面進(jìn)一步討論的功能。例如,在一個(gè)實(shí)施例中,應(yīng)用608-1可以包括或以其它方式實(shí)現(xiàn)本文所描述的各種處理和/或指令。應(yīng)用608-1(和/或如本文所述的其它資源)可以被實(shí)現(xiàn)為支持根據(jù)本文所述的不同實(shí)施例的處理功能的軟件代碼,例如,數(shù)據(jù)和/或邏輯指令(例如,存儲(chǔ)在存儲(chǔ)器中或諸如磁盤的另一計(jì)算機(jī)可讀介質(zhì)上的代碼)。在一個(gè)實(shí)施例的操作期間,處理器602通過(guò)使用總線6011來(lái)訪問(wèn)主存儲(chǔ)器604,以便啟動(dòng)、運(yùn)行、執(zhí)行、解釋或以其它方式執(zhí)行ehnpr處理608-2(比如,通過(guò)邏輯指令,在處理器602上基于存儲(chǔ)在主存儲(chǔ)器中或以其他方式有形存儲(chǔ)的應(yīng)用608-1來(lái)執(zhí)行)。
以上描述包括體現(xiàn)本公開技術(shù)的示例性系統(tǒng)、方法、技術(shù)、指令序列和/或計(jì)算機(jī)程序產(chǎn)品。然而,應(yīng)當(dāng)理解,可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)施本公開。在本公開中,所公開的方法可以被實(shí)現(xiàn)為設(shè)備可讀的指令集或軟件。此外,應(yīng)當(dāng)理解,所公開的方法中的步驟的具體順序或?qū)哟问鞘纠椒ǖ睦??;谠O(shè)計(jì)偏好,應(yīng)當(dāng)理解,方法中的步驟的具體順序或?qū)哟慰梢员恢匦屡帕?,同時(shí)仍然在所公開的主題范圍之內(nèi)。隨附的方法權(quán)利要求以樣本順序呈現(xiàn)各個(gè)步驟的元素,并且不一定意味著受限于所呈現(xiàn)的具體順序或?qū)哟巍?/p>
所描述的公開可以被提供為計(jì)算機(jī)程序產(chǎn)品或軟件,其可以包括其上存儲(chǔ)有指令的機(jī)器可讀介質(zhì),所述指令可以用于對(duì)計(jì)算機(jī)系統(tǒng)(或其它電子設(shè)備)進(jìn)行編程,以執(zhí)行根據(jù)本公開的處理。機(jī)器可讀介質(zhì)包括用于以機(jī)器(例如,計(jì)算機(jī))可讀的形式(例如,軟件、處理應(yīng)用)來(lái)存儲(chǔ)信息的任何機(jī)制。機(jī)器可讀介質(zhì)可以包括但不限于磁存儲(chǔ)介質(zhì)、光學(xué)存儲(chǔ)介質(zhì)(例如,cd-rom);磁光存儲(chǔ)介質(zhì)、只讀存儲(chǔ)器(rom);隨機(jī)存取存儲(chǔ)器(ram);可擦除可編程存儲(chǔ)器(例如,eprom和eeprom);閃存;或適用于存儲(chǔ)電子指令的其它類型的介質(zhì)。
可以相信,通過(guò)上文描述應(yīng)當(dāng)可以完全理解本公開及其許多伴隨的優(yōu)點(diǎn),并且顯而易見的是,在不脫離所公開的主題前提下,或者在不犧牲本發(fā)明的所有實(shí)質(zhì)優(yōu)勢(shì)的前提下,可以對(duì)組件的形式、結(jié)構(gòu)和布置作出各種改變。所描述的形式僅僅是解釋性的,并且以下權(quán)利要求的意圖包含并包括這些改變。
盡管參考了各種實(shí)施例描述了本公開,但是應(yīng)當(dāng)理解,這些實(shí)施例是說(shuō)明性的且本公開的范圍不受限于此。很多變化、修改、添加和改進(jìn)是可以的。更一般地,已經(jīng)在具體實(shí)施方案的上下文中描述了根據(jù)本公開的實(shí)施例。在本公開的各種實(shí)施例中,可以以不同的方式在模塊中分開或組合功能,或者可以以不同的術(shù)語(yǔ)來(lái)描述功能。這些和其他變化、修改、添加和改進(jìn)可以落在如所附權(quán)利要求中所限定的本公開的范圍內(nèi)。