欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

在邊緣網絡服務器中的多域配置處理的制作方法

文檔序號:6497613閱讀:141來源:國知局
在邊緣網絡服務器中的多域配置處理的制作方法
【專利摘要】由提供者操作的互聯(lián)網基礎設施分發(fā)平臺實現(xiàn)大規(guī)模地到識別的第三方的基于HTTP的服務。平臺將此服務提供到一個或多個云提供者。該方法使得CDN平臺提供者(第一方)代表云提供者(第二方)服務第三方業(yè)務。在操作中,邊緣服務器處理機制利用DNS以確定具有未知主機報頭的請求是否應當被服務。在提供響應、并且假定主機報頭包括未被識別的名稱之前,邊緣服務器解析主機報頭并且獲得中間響應,通常是假名(例如,DNS?CNAME)的列表。邊緣服務器檢查返回的CNAME列表以確定如何響應原始請求。僅僅利用單個邊緣配置,CDN服務提供者可以支持云提供者的識別的第三方業(yè)務的即時提供。
【專利說明】在邊緣網絡服務器中的多域配置處理
[0001]本申請基于并要求2011年11月2日提出的序列號N0.61/554,571的優(yōu)先權。
【技術領域】
[0002]本申請一般涉及使用共享基礎設施從多個內容提供者域在線分發(fā)內容。
【背景技術】
[0003]分布式計算機系統(tǒng)在現(xiàn)有技術中是公知的。一個這樣的分布式計算機系統(tǒng)是由服務提供者操作并管理的“內容分發(fā)網絡”或“CDN”。服務提供者通常代表使用服務提供者的基礎設施的第三方(用戶)提供內容分發(fā)服務。此類型的分布式系統(tǒng)通常是指由網絡或網絡與軟件、系統(tǒng)、協(xié)議和技術一起鏈接的自主計算機的集合,所述技術被設計以便于各種服務,諸如內容分發(fā)、網絡應用加速、或外包源站點基礎設施的其它支持。CDN服務提供者通常經由數(shù)字財產(諸如網站)提供服務分發(fā),其被在用戶門戶中提供并且然后被布置到網絡。數(shù)字財產通常被綁定到允許服務提供者負責業(yè)務并給它的用戶開帳單的一個或多個邊緣配置。
[0004]云計算是用于實現(xiàn)對可配置計算資源(例如網絡、網絡帶寬、服務器、處理、存儲器、存儲設備、應用、虛擬機、和服務)的共享池進行按需網絡訪問的服務分發(fā)模型,其可以利用最小的管理努力或與服務的提供者的交互被快速地提供和釋放。可以被完全或部分地利用的可用服務模型包括:軟件作為服務(SaaS)(提供者的應用運行在云基礎設施上);平臺作為服務(PaaS)(用戶將可以利用提供者工具創(chuàng)建的應用布置到云基礎設施上);基礎設施作為服務(IaaS)(用戶提供它自己的處理、存儲設備、網絡和其它計算資源并且可以布置并運行操作系統(tǒng)和應用)?;谠频姆盏挠脩粢呀涢_始期望可控的、開放的、并且以“根據(jù)使用”為基礎的支付的“即時、不等待、自己動手”的體驗。由于這容易使用,單個云服務用戶(例如,網站托管提供者)可以利用云提供者的“自己動手”配置機制提供數(shù)百乃至數(shù)千的第三方數(shù)字財產。
[0005]云提供者期望使用CDN服務提供者為云用戶提供對于他們網站的更好的綜合性能。但是,用于這些商業(yè)的現(xiàn)有配置模型沒有統(tǒng)一,因為由⑶N服務提供者使用的第二方模型(其中CDN用戶被以流量計費)不容易適應與云提供者相關聯(lián)的第三方模型(其中云使用通常應用于多個第三方)。換言之,使用云服務的各種數(shù)字財產不是CDN的用戶。然而,CDN服務提供者(并且具體地,它的邊緣配置)必須知道這些第三方數(shù)字財產,因為CDN將要適當?shù)胤职l(fā)它們。

【發(fā)明內容】

[0006]由服務提供者操作的互聯(lián)網基礎設施分發(fā)平臺使得基于HTTP的服務分發(fā)能夠大規(guī)模地識別第三方。該平臺向一個或多個云提供者(平臺用戶)提供此服務,這些云提供者封裝HTTP服務(IaaS、PaaS和SaaS)作為特殊的數(shù)字財產。該方法使得⑶N平臺提供者(第一方)代表云提供者(第二方)服務第三方業(yè)務。[0007]分發(fā)平臺在可訪問互聯(lián)網的位置處操作多個邊緣服務器機器。終端用戶客戶端(例如,瀏覽器或其它用戶代理)針對這些邊緣服務器機器以獲得內容。通常,終端用戶請求是包括一個或多個主機報頭的HTTP GET請求。根據(jù)此公開,邊緣服務器處理機制利用DNS(域名服務)以確定具有未知主機報頭的請求是否應當由邊緣服務器提供。在服務請求并且假定主機報頭包括未被識別的名稱之前,邊緣服務器解析主機報頭并且獲得中間響應,通常是假名(例如,DNS規(guī)范名稱或“CNAME”)的列表。邊緣服務器然后檢查返回的CNAME列表以確定如何響應原始請求。利用此機制和僅僅單個邊緣配置,CDN服務提供者可以支持云提供者的識別的第三方業(yè)務的即時供應。
[0008]上文已經概述了本發(fā)明的更多相關特征中的一些。這些特征應當被解釋為僅僅是說明性的??梢酝ㄟ^以不同的方式應用公開的發(fā)明或通過修改將描述的本發(fā)明獲得許多其它有益的結果。
【專利附圖】

【附圖說明】
[0009]為了更完全地了解本發(fā)明和它的優(yōu)點,現(xiàn)在結合附圖做出以下說明書的參考,其中:
[0010]圖1是示出了被配置為內容分發(fā)網絡(⑶N)的已知的分布式計算機系統(tǒng)的方框圖;
[0011]圖2是代表性的⑶N邊緣機器配置;
[0012]圖3示出了各個數(shù)字財產如何利用這里描述的方法被彼此關聯(lián);以及
[0013]圖4示出了根據(jù)公開的實施例的在邊緣服務器處理機制中的詳細操作流程。
【具體實施方式】
[0014]圖1示出了已知的分布式計算機系統(tǒng),其(如下面描述的)是由這里所述技術擴展以提供單個基于HTTP的平臺,能夠將廣播觀眾規(guī)模的在線HD視頻分發(fā)到最流行的運行時環(huán)境和固定線路和移動環(huán)境中最新設備。
[0015]在已知的系統(tǒng)中,諸如圖1所示,分布式計算機系統(tǒng)100被配置為⑶N并且被假定為具有圍繞互聯(lián)網分布的一組機器102a-n。通常,大部分機器是位于互聯(lián)網的邊緣附近的服務器,即,在終端用戶接入網絡處或附近。網絡操作命令中心(NOCC) 104管理系統(tǒng)中各個機器的操作。諸如網站106之類的第三方站點將分發(fā)內容(例如,HTML、嵌入的頁對象、流媒體、軟件下載、等等)卸載到分布式計算機系統(tǒng)100,并且具體地到“邊緣”服務器。通常,內容提供者通過將給定內容提供者域或子域化名為由服務提供者的權威域名服務管理的域(例如,由DNS CNAME)來卸載它們的內容分發(fā)。期望內容的終端用戶被引導到分布式計算機系統(tǒng)以更可靠并且高效地獲得那些內容。盡管未詳細地示出,但是分布式計算機系統(tǒng)也可以包括其它基礎設施,諸如分布式數(shù)據(jù)收集系統(tǒng)108,其收集來自于邊緣服務器的使用和其它數(shù)據(jù),跨區(qū)域或區(qū)域集合聚集數(shù)據(jù),并且將數(shù)據(jù)傳遞到其它后端系統(tǒng)110、112、114和116以便于監(jiān)控、記錄、提醒、計費、管理和其它操作和管理功能。分布式網絡代理118監(jiān)控網絡以及服務器負荷并提供網絡、業(yè)務和負荷數(shù)據(jù)到DNS查詢處理機構115,其對于由⑶N管理的內容域是權威性的。分布式數(shù)據(jù)傳輸機構120可以用來將控制信息(例如,管理內容、便于負荷平衡的元數(shù)據(jù),等等)分布到邊緣服務器。[0016]如圖2所示,給定機器200包括運行支持一個或多個應用206a_n的操作系統(tǒng)內核(諸如Linux或變體)204的商品硬件(例如,Intel Pentium處理器)202。為了便于內容分發(fā)服務,例如,給定機器通常運行一組應用,諸如HTTP代理207 (有時被稱為“全球主機”或“重影”處理)、名稱服務器208、本地監(jiān)控處理210、分布式數(shù)據(jù)收集處理212,等等。對于流媒體,機器通常包括一個或多個媒體服務器,諸如Windows媒體服務器(WMS)或Flash服務器,根據(jù)支持的媒體格式的需要。
[0017]⑶N邊緣服務器被配置為提供一個或多個擴展的內容分發(fā)特征,優(yōu)選地以特定于域、特定于用戶為基礎,優(yōu)選地利用使用配置系統(tǒng)分布給邊緣服務器的配置文件。給定配置文件優(yōu)選地是基于XML的并且包括便于一個或多個高級內容處理特征的一組內容處理規(guī)則和指令。配置文件可以經由數(shù)據(jù)傳輸機制被分發(fā)到CDN邊緣服務器。美國專利N0.7,111,057示出了用于分發(fā)并管理邊緣服務器內容控制信息的有用基礎設施,并且這個和其它邊緣服務器控制信息可以由CDN服務提供者本身、或(經由外聯(lián)網等)操作源服務器的內容提供者用戶提供。
[0018]⑶N可以包括存儲子系統(tǒng),諸如在美國專利N0.7,472,178中描述的,其公開通過引用合并于此。
[0019]CDN可以操作服務器高速緩存分層結構以提供用戶內容的中間高速緩存;在美國專利N0.7,376,716中描述了一個這樣的高速緩存分層結構子系統(tǒng),其公開被通過引用合并于此。
[0020]⑶N可以在客戶端瀏覽器、邊緣服務器和用戶源服務器之間以在美國公布N0.20040093419中描述的方式提供安全內容分發(fā)。這里描述的安全內容分發(fā)一方面在客戶端與邊緣服務器處理之間、另一方面在邊緣服務器處理與源服務器處理之間實施基于SSL的鏈路。這使得SSL保護的網頁和/或它的組件被經由邊緣服務器分發(fā)。
[0021]作為覆蓋,⑶N資源可以用來便于企業(yè)數(shù)據(jù)中心(其可以被私有地管理)與第三方軟件作為服務(SaaS)提供者之間的廣域網(WAN)加速服務。
[0022]在典型操作中,內容提供者識別它期望由CDN服務的內容提供者域或子域。CDN服務提供者關聯(lián)(例如,經由規(guī)范名稱、或CNAME)內容提供者域與邊緣網絡(CDN)主機名,并且CDN提供者然后向內容提供者提供那個邊緣網絡主機名。當向內容提供者域或子域的DNS查詢在內容提供者的域名服務器處被接收時,那些服務器通過返回邊緣網絡主機名進行響應。邊緣網絡主機名指向⑶N,并且邊緣網絡主機名然后經由⑶N名稱服務被解析。所以,⑶N名稱服務返回一個或多個IP地址。請求的客戶端瀏覽器然后對與IP地址相關聯(lián)的邊緣服務器做出內容請求(例如,經由HTTP或HTTPS)。該請求包括包含源內容提供者域或子域的主機報頭。在接收到具有主機報頭的請求時,邊緣服務器檢查它的配置文件以確定請求的內容域或子域是否實際上由CDN處理。如果是的話,邊緣服務器將它的內容處理規(guī)則和指令應用于在配置中指定的域或子域。這些內容處理規(guī)則和指令可以位于基于XML的“元數(shù)據(jù)”配置文件內。
[0023]多域配置處理
[0024]利用以上作為背景,現(xiàn)在描述本公開的主題。如上所述,多域配置(MDC,或mdc)特征允許無限數(shù)目的域(例如,通常與第三方相關聯(lián)或由第三方擁有)由單個配置(與第二方相關聯(lián))以可升級的方法支持。在代表性的但是非限制的實施例中,第二方是云服務提供者,并且第一方是操作諸如圖1所示的分布式網絡的CDN平臺服務提供者。如描述,邊緣服務器機器102提供實施下面描述的功能的處理機制。
[0025]如在這里使用的,以下提供相關術語的詞匯。
[0026]術語“MDC”是指服務特征的名稱,或“多域配置”,其是允許邊緣服務器配置文件通過執(zhí)行DNS查找來支持大量主機(和主機名)的服務,DNS查找引起實際主機(主機名)用來查找用于特定請求的適當內容處理元數(shù)據(jù)文件。
[0027]“中間模式”是從主機報頭中未被識別的主機名的解析返回的DNS響應。通常,中間模式被認為是有效的響應,如果它具有特定格式的話,例如,config_name.mdc.service,net,其中config_name ig_name是將最終被使用以查找內容處理元數(shù)據(jù)文件的主機報頭(數(shù)字財產)。
[0028]“config_host name” 是指中間響應的 config_name 段。
[0029]“主機CNAME鏈”是從主機報頭中的主機名的解析返回的DNS響應。
[0030]“代理主機CNAME鏈”是從與“proxy-host”的前綴相結合的主機報頭中的主機名的解析返回的DNS響應。DNS響應可以包括中間CNAME假名,其包含可用到用于提取的內容處理元數(shù)據(jù)文件的元數(shù)據(jù)。此DNS響應是由MDC特征使用以確定c0nfig_h0St名稱和其它信息(例如,主機名到IP地址映射)的一個響應。前綴的使用提供一種當改變DNS記錄以將數(shù)字財產(例如,網站)移動到CDN提供者或從CDN提供者移動時阻止拒絕服務的方式。[0031 ] 如上所述,MDC使得操作基于SaaS的解決方案(包括站點托管)的⑶N用戶能夠使用CDN服務提供同時使得CDN提供者能夠捕獲并且適當?shù)貙λ挠脩?基于SaaS的解決方案的提供者)針對第三方業(yè)務計費。此特征容易集成,因為它僅僅需要特定域被CNAME到每配置公共域。如將看到的,MDC允許CDN用戶將大量唯一域映射到單個配置文件而不必改變他們的配置。這簡化了提供,使得驗證更容易,并且改善了用戶的性能同時顯著地降低了管理開銷。
[0032]一般,本技術如下工作。當諸如XYZ.com之類的⑶N用戶激活MDC時,它使得XYZ.com將諸如Custl.saas.XYZ.com、Cust2.saas.XYZ.com之類的大量唯一域映射到單個配置文件。圖3示出了本公開的多方身份斷定方法,其中CDN用戶是具有與CDN服務提供者(第一方)的商業(yè)布置的第二方,并且其中第二方具有與它的用戶(第三方)的每一個的單獨商業(yè)布置。在激活時,CDN邊緣服務器高速緩存請求的主機報頭的完整規(guī)范名稱(CNAME)鏈(示例:WWW.Custl.com)并且將請求綁定到正確的配置文件。此后,請求解析到適當?shù)蘑荖邊緣服務器網絡IP地址。然后請求被處理并且終端用戶被服務。
[0033]圖3示出了本公開的多方身份斷定(CNAME鏈)方法,其中CDN用戶是具有與CDN服務提供者(第一方)的商業(yè)布置的第二方,并且其中第二方具有與它的用戶(第三方)的每一個的單獨商業(yè)布置。
[0034]可選地,來自于CNAME鏈的DNS記錄的標簽可以在配置中被參考以支持安全性驗證和應用源路由。此方法的優(yōu)點是云提供者的源不需要集中地執(zhí)行此操作,使得整體應用分發(fā)處理更高效。
[0035]該方法提供許多益處。第一個益處是更容易管理。該技術提供可升級的方式以在具有單個配置的⑶N上放置無限制的域以用于即時提供。對于新的附加域不需要附加配置改變,因為它們由第二方增加。該技術也在邊緣網絡處提供增強的安全性,因為智能的邊緣配置可以利用來自于完整CNAME鏈的數(shù)據(jù),以在邊緣處使用簡單信賴模型用于身份/安全綁定,因此實現(xiàn)源的安全性卸載。該技術也為第二方用戶提供更好的性能。智能的邊緣配置利用來自于完整CNAME鏈的數(shù)據(jù),以用于資源綁定和條件處理,改善整體性能并且還幫助源卸載。
[0036]在一個實施方式中,多域配置功能在⑶N邊緣網絡中的邊緣服務器處操作。它提供支持未知主機報頭(在具有客戶端瀏覽器GET請求的邊緣服務器處接收的)與可以(或可以不)在那里被支持的用戶配置文件之間的綁定的方法。當沒有用戶配置被發(fā)現(xiàn)時,對主機報頭值執(zhí)行DNS查找,并且分析結果CNAME鏈以確定使用哪一個用戶配置(如果有的話)。正負DNS查找可以被高速緩存。圖4詳細地示出了該處理。
[0037]優(yōu)選地,MDC利用DNS以確定具有未知主機報頭的請求是否應當由邊緣服務器ghost(網絡代理)處理來服務。在服務請求、并且假定與主機報頭的匹配沒有在服務器的配置文件中找到之前,解析未知主機報頭。該處理然后檢查返回的CNAME列表以檢查請求是否應當被服務以及并如何服務。以下是此處理的示例。
[0038]假定用戶(fo0 .com)將它的主機CNAME到新的⑶N邊緣域,如:
[0039]www.0dddomain.com.1NCNAME cfg.fo0.com.mdc.edgesuite.net.[0040]www.anotherdomain.com.1N CNAME cfg.fo0.com.mdc.edgesuite.net.
[0041]并且cfg.fo0.com.mdc.edgesuite.Net又被解析到特定于CDN的映射,諸如aX.s.akamaiedge.net,其中x是⑶N序列號分配(用于負荷平衡)并且s是用于此業(yè)務的可選的特殊映射。用于特定于CDN的映射的命名法不意指是限制的,因為特定提供者通常使用不同的方案。利用此設置,優(yōu)選地操作流程如下。首先,終端用戶客戶端機器(或與其關聯(lián)的本地DNS)將www.0dddomain.com解析到IP地址并且發(fā)送請求。通常,IP地址與運行在接近于終端用戶、不超負荷、并且預期托管期望內容的特定邊緣服務器機器上的特定ghost進程相關聯(lián)。
[0042]ghost (網絡代理)處理接收請求并且提取主機報頭。ghost進程然后在它的配置文件(在此示例中稱為ar I index),通常表示為XML,中查找主機。如果主機報頭值被找到,則正常處理發(fā)生。如果沒有,則流程優(yōu)選地如下繼續(xù)。具體地,ghost進程執(zhí)行主機報頭名稱的DNS解析。返回的CNAME然后被檢查用于兩個模式。首先,并且給定示例情況,ghost進程尋找*.mdc.edgesuite.net模式。如上所述,此模式也稱config_host名稱。ghost然后尋找ax.s.akamaiedge.net映射(或另一個⑶N可識別的序列/映射模式)。如果ghost進程然后發(fā)現(xiàn)業(yè)務被映射到有效的CDN序列/映射,則它使用C0nfig_h0st名稱執(zhí)行另一個配置文件查找以用于與其關聯(lián)的元數(shù)據(jù)文件。現(xiàn)在,假定結果元數(shù)據(jù)文件被加載,則請求由ghost進程正常處理(意思是說在元數(shù)據(jù)文件中識別的內容處理需要被應用于請求的內容并且內容被服務)。任何故障觸發(fā)ghost中的“未知主機”邏輯,其然后采取控制。注意,此動作優(yōu)選地不是遞歸的;因此,在配置文件中的第二失敗的查找并不會引起嘗試未知主機名的新的DNS解析。
[0043]以上描述的進程添加將某一時間添加到用于MDC請求的響應。為了緩減這一點,優(yōu)選地ghost進程高速緩存正負查找。正的查找可以根據(jù)在來自于用戶的名稱服務器的DNS響應中返回的生存時間(TTL)被高速緩存。優(yōu)選地,負的(NX)響應默認被高速緩存給定時間(例如,30分鐘)。諸如超時之類的錯誤響應優(yōu)選地不被高速緩存。對于正的響應,優(yōu)選地用于查找元數(shù)據(jù)的主機名(和CNAME假名)被高速緩存。專用的高速緩存可以被用于此目的。
[0044]此流程對于用戶是非常靈活的,因為它無需對將被服務的主機名的CDN預知,并且它可以容易地擴展到任何數(shù)目的主機名。
[0045]圖4更詳細地示出了示例邊緣服務器邏輯流程。流程從步驟400開始,ghost接收具有主機報頭的HTTP GET。在步驟402處,ghost測試以確定主機報頭是否在它的索引中找到。此索引正常包括識別此特定邊緣配置(其可以包括所有CDN用戶或它的一些子集)服務的所有數(shù)字財產的主機報頭。如果主機報頭被識別,則正常處理在步驟404處繼續(xù),ghost加載用于識別的域(數(shù)字財產)的邊緣配置。然后以平常的方式服務內容(在應用在邊緣配置中識別的任何內容處理要求之后)。但是,如果在步驟402處的測試結果指示在GET請求中的主機報頭沒有被識別,則該過程分支到步驟410,其中ghost檢查它的主機報頭高速緩存以看看它之前是否已經解析了此主機報頭。然后該過程在步驟412繼續(xù)以看看是否有任何此類結果被否定地高速緩存。如果是的話,則該過程分支到步驟408并且發(fā)出HTTP400(壞的請求)并且該處理結束。如果事先解析已被找到并且沒有被肯定地高速緩存,如由在步驟414處的測試指示,則該過程然后分支到步驟416以嘗試解析主機報頭名稱。步驟416是如上所述經由DNS的基本操作(未知“主機報頭”的解析)。
[0046]在步驟416處,ghost解析未知主機報頭。在步驟418處執(zhí)行測試以保證解析沒有費時太久。如果在步驟416處的解析發(fā)生在超時時間段之內,則控制在步驟420繼續(xù)以確定解析的結果(通常一個或多個CNAMES)是否被識別為中間模式。如果結果不被識別為中間模式,則該過程在步驟422繼續(xù)以測試響應(來自于步驟416)中的CNAME是否在主機報頭配置文件中找到。如果是的話,該過程分支到步驟426以提取C0nfig_h0st名稱。在步驟426之后,控制繼續(xù)在步驟406以確定提取的C0nfig_h0st名稱是否在邊緣服務器主機報頭配置文件中找到。如果在步驟406處的測試結果指示config_host名稱在索引文件中找至IJ,則控制在步驟404處繼續(xù),邊緣服務器應用任何內容處理要求并且服務響應。否則,控制處理到步驟408并且利用如先前描述的HTTP400結束。
[0047]如果在步驟420處的測試結果指示中間模式已被識別,則ghost在步驟424處執(zhí)行測試以確定響應(在步驟416處返回的)是否具有識別的序列/映射模式。如果是的話,控制在步驟426繼續(xù),如已被描述的。
[0048]如果步驟418的結果是肯定的,或如果步驟422或步驟424的結果是否定的,則控制在步驟428繼續(xù)。在此步驟處,ghost解析具有proxy-host前綴的主機報頭名稱。如上所述,前綴的使用提供一種當改變DNS記錄以將數(shù)字財產(例如,網站)移動到CDN提供者或從CDN提供者移動時防止拒絕服務的方式。在步驟428處的解決方案的結果然后被傳遞通過一組操作(步驟430、434和438),它們鏡像步驟(418、420和424)的那些操作,例外的是,對步驟430處的超時測試的肯定響應生成HTTP500代碼(因為沒有使用遞歸)。這完成處理。
[0049]遷移選項
[0050]通常,當用戶正在使用另一個提供者時,存在若干MDC遷移選項:第二方遷移選項、和第三方遷移選項。第二方選項是如下一種情況:第二方表不用于將CNAME到它們的許多第三方網站的DNS權限。當?shù)诙紺NAME的通過CDN時,所有第三方網站被同時移動。第三方情況是其中第三方表示CNAME的它的主機到第二方提供者的網站。
[0051]到第二方的解決方案的情況如下。首先,對主機報頭執(zhí)行DNS查找。假定未能尋找mdc后綴的一個。對于在DNS查找中向后返回的每個CNAME,ghost然后確定CNAME是否處于邊緣服務器主機報頭配置文件中。如果CNAME處于配置文件中,并且對于每個mdc后綴,ghost將mdc后綴附加到CNAME并且再次檢查結果是否處于主機報頭配置文件中。如果是,則此結果指示mdc用戶。然后,根據(jù)CNAME和mdc后綴而構造的主機名用于查找然后應用于請求的序列/映射。
[0052]以下是示例。假定⑶N用戶托管images, example, com并且它期望遷移到⑶N。舊的DNS CNAME鏈可以是:
[0053]c321.s21.cdn2.cpcloud.com a8.cdn.ccloud.com
[0054]a8.cdn.cpcloud.com.sp.net
[0055]基于所述迀移,新的DNS CNAME鏈然后可以如下:
[0056]c321.s21.cdn2.cpcloud.com a8.cdn.cpcloud.com
[0057]a8.cdn.cpcloud.com.mdc.edgesuite.net a8.s.akamaiedge.net
[0058]利用舊的DNS CNAME鏈,ghost可以在它的主機報頭索引中找到a8.cdn.cpcioud.com,附加 mdc.edgesuite.net 并且也在索引中找到 a8.cdn.cpcioud.com.mdc.edgesuite.net。然后,服務器使用a8.cdn.cpcioud.com.mdc.edgesuite.net以找到序列/映射,它的配置然后最終應用于接收的請求。
[0059]為了便于第三方迀移情況,諸如proxy-host之類的專門化的前綴用于進行所述查找。在這種情況下,用戶CNAME兩個主機名,例如:
[0060]proxy-host.www.0dddomain.com.1N CNAME cfg.fo0.com.mdc.edgesuite.net.[0061]www.0dddomain.com.1NCNAME cfg.fo0.com.mdc.edgesuite.net.[0062]cfg.fo0.com.mdc.edgesuite.net.1N CNAME aX.s.akamaiedge.net.[0063]只要 proxy-host.www.0dddomain.com 名稱在 www.0dddomain.com 之前被CNAME(或同時,如果站點是第一次被假名為CDN),ghost服務器處理就獲得正確的CNAME鏈。以這種方式解耦主機名容易地允許迀移。一般前綴proxy-host的使用允許無縫迀移到多域配置的代理⑶N提供者。
[0064]在或者第二方或者第三方迀移情況中,CNAME鏈可以提供在高速緩存未中時需要被傳遞到源的元數(shù)據(jù)??紤]以下示例:
[0065]proxy-host, images, example, com.1NCNAME c321.s21.cdn2.cpcloud.com.[0066]images, example, com.1N CNAME c321.s21.cdn2.cpcloud.com.[0067]c321.s21.cdn2.cpcloud.com.1N CNAME a8.cdn.cpcloud.com.[0068]a8.cdn.cpcloud.com.1NCNAME
[0069]a8.cdn.cpcloud.com.mdc.edgesuite.net.[0070]a8.cdn.cpcloud.com.mdc.edgesuite.net.1N CNAME
[0071]aX.s.akamaiedge.net.[0072]其中c321是容器令牌,s21是共用的,并且cdn2是區(qū)帶.[0073]在此示例中,假定期望使得邊緣服務器能夠訪問CNAME鏈,因此它可以提取元數(shù)據(jù)。因此,在MDC高速緩存中,諸如AK_MDC_DATA之類的變量被配置如下(并且,再一次,僅僅是示例):
[0074]AK—MDC—DATA = proxy-host, images, example, com.[0075]c321.s21.cdn2.cpcioud.com.[0076]a8.cdn.cpcioud.com.[0077]a8.cdn.cpcioud.com.mdc.edgesuite.net.[0078]邊緣服務器然后可以像這樣提取元數(shù)據(jù):
[0079]〈match:regex string = "% (AK—MDC—DATA) "regex ="
[0080](c\d+)\.(s\d+)\.(\s+) \.cpcloud"variable_list = "TOKEN SHARD ZONE"〉
[0081 ] </ match: regex〉
[0082]如上所述,⑶N可以在高速緩存分層結構中操作邊緣服務器,其中邊緣ghost與也操作網絡代理處理(ghost)的父服務器進行通信。因為(在此情況中)邊緣ghost已經進行工作以將主機報頭名稱映射到配置,所以不需要強迫任何父ghost同樣進行。為了避免這一點,優(yōu)選地邊緣ghost發(fā)送(高速緩存分層結構根源)報頭中的config_host名稱(和CNAME鏈)。父ghost然后提取主機名和并且使用它代替主機報頭中的值。此類型的報頭可以被識別為x-Akama1-MDC-Data,如以下示例示出:
[0083]X-Akama1-MDC-Data:
[0084]proxy-host, images, example, com.c321.s21.cdn2.cp
[0085]cloud, com .a8.cdn.cpcioud.com.[0086]a8.cdn.cpcioud.com.mdc.edgesuite.net.[0087]在操作中,父ghost首先在它的主機報頭配置文件中查找通常的“Host: ”報頭主機名,并且如果失敗,則父嘗試使用從X-Akama1-MDC-Data報頭中提取的config_host。如果此操作失敗,則發(fā)出HTTP400響應碼。
[0088]技術人員將理解,以上描述的MDC架構的本質實現(xiàn)用于簡單的(但是靈活的)前向源網絡資源綁定解決方案和使用簡單信賴模型的安全身份斷定的選項。元數(shù)據(jù)中的網絡資源綁定通過具有CDN用戶的身份屬性例如從DNS記錄標簽的依賴性注入,而以分散的規(guī)模被增強。所述方法通過管理的命名約定和從DNS記錄標簽中提取的安全令牌二者實現(xiàn)在MDC架構中行為者之間穩(wěn)固的信賴模型(即,CDN — CDN (平臺內)、CDN —用戶、以及用戶一第二方)。
[0089]不限制地,MDC模塊的初始配置可以由用戶使用外聯(lián)網門戶配置管理器執(zhí)行。該配置管理器與“邊緣主機名”(或CNAME)工具和數(shù)字財產數(shù)據(jù)庫交互。如上所述,沒有MDC,邊緣配置被經由數(shù)字財產綁定的概念從邊緣主機名管理脫離。當邊緣配置被綁定到數(shù)字財產時,門戶提供應用在由邊緣服務器ghost進程使用的配置文件(arlindex)中編碼此綁定以嘗試將HTTP主機報頭匹配到配置文件。對于MDC,優(yōu)選地引入稱為MDC數(shù)字財產的專門化的數(shù)字財產類型。如果綁定到配置的數(shù)字財產是MDC類型的數(shù)字財產,則邊緣配置文件變?yōu)槟躆DC的。對于已經購買此模塊的用戶,用戶門戶可以顯示用于“多域數(shù)字財產”類型的增強的用戶接口。
[0090]在簡單的情況中,用戶具有一個配置并且需要經由MDC支持數(shù)千的第三方無價值的CNAME。配置文件是prod-domains.customer, com.Xml,其可以是預先存在的或新的。當創(chuàng)建多域數(shù)字財產類型時,優(yōu)選地門戶通過在CDN網絡域名稱和用戶的數(shù)字財產名稱之間插入附加的預先定義的標簽(形成MDC前綴),來與CNAME提供工具協(xié)調形成MDC邊緣主機名:
[0091]domains, customer, com.mdc-<MDC-AUTHZ-TOKEN>.edgesuite.net
[0092]在此令牌中的安全散列優(yōu)選地使用不變的業(yè)務身份屬性。CNAME工具然后使用此串創(chuàng)建CNAME。一旦這完成后,配置管理器應用將配置文件與用戶賬戶關聯(lián)并且將它排隊以用于網絡部署(到邊緣服務器)。授權的邊緣主機名實施CDN —CDN(平臺內)信賴模型和CDN —用戶信賴模型兩者(通過我們的用戶可信地將他們的數(shù)字財產映射到我們的授權的邊緣主機名)。
[0093]ghost進程經由它的控制文件,具體地arlindex.xml,信賴MDC資格。在此設計選擇中,代替邊緣主機名中的散列,配置管理器(經由MUI)將設置用于與此配置文件的arlindex.xml 條目相關聯(lián)的 CNAME 的屬性(flexible-host = 〃yes〃),所述 arlindex.xml條目指示用于它的“多域配置”特征的資格。利用以上示例名稱,arlindex.xml條目將看起來像:
[0094]〈akama1:1nclude type = 〃arldata〃file = 〃cfg.customer, com.xml〃>〈host flexible-host = 〃yes〃>customer.com.mdc.edgesuite.net</host></akama1:1nclude)
[0095]對于基本的MDC用戶,可以存在對用戶域可以被綁定到每個配置文件的限制以及配置可以轉發(fā)到多少源域的約束。例如,配置管理器可以允許每個配置文件僅僅一個源域。如果期望,用戶可以購買此模塊的更多單元以支持多個源域,優(yōu)選地每個源域將具有它自己的配置文件。
[0096]優(yōu)選地,與配置文件相關聯(lián)的所有用戶(邊緣)主機名應當共享同樣的元數(shù)據(jù)規(guī)則。
[0097]如上所述,優(yōu)選地CNAME工具可以被配置管理器調用以便創(chuàng)建適當?shù)陌踩吘壷鳈C名。該工具應當使用由配置管理器傳遞到它的串以創(chuàng)建所有用戶的域將映射到的CNAME。
[0098]優(yōu)選地,第三方類型的域(云)或CDN用戶類型的多個域由于信賴模型將不會直接CNAME到CDN安全的邊緣主機名。
[0099]本公開提供穩(wěn)固的邊緣服務器處理機制。如已被描述的,當對用戶的域的客戶端請求獲得映射(由⑶N授權DNS)到ghost進程時,處理首先進行查找(在它的arlindex.xml中)以尋找對主機報頭的匹配。此查找假定失敗。ghost然后對接收的主機報頭執(zhí)行DNS查找以檢查此主機名是否經由中間CNAME解析到有效的⑶N服務提供者域,諸如以mdc.edgesuite.net結束的那一個。如果沒有,則ghost返回錯誤(HTTP400代碼)并且還否定地高速緩存此主機名。此高速緩存幫助ghost在下次它查看對此主機名的請求時快速響應(不需要DNS查找)。如果中間CNAME具有期望的后綴,則ghost使用返回的CNAME (例如,customer, com.mdc.edgesuite.net)以查找 arlindex.xml 以便到達期望的配置文件的名稱(例如,cfg.customer, com.xml)。隨著進一步檢查,ghost可以驗證內部的flexible-host = “yes”屬性在將此文件用于元數(shù)據(jù)應用之前被設置用于CNAME。在這種情況下,ghost高速緩存“主機名到配置文件”映射以用于將來更快速的響應。ghost進程可以利用中間CNAME導出元數(shù)據(jù)配置文件的名稱,因為配置管理器已經建立了文件命名約定并且經由CNAME提供工具實施它。如果DNS查找時間到了,則ghost應當既不肯定又不否定地高速緩存此主機名,而是僅僅服務錯誤。ghost請求處理的其余部分照常進行。
[0100]盡管不需要,但是優(yōu)選地ghost使用單獨的處理線程以實行需要的DNS查找。此線程可以是速率限制的,其在拒絕服務(DoS)攻擊已被啟動(通過利用大量無效的主機名做出請求)以采用此附加查找的情況下是有益的。壞的主機名的否定高速緩存和好的主機名的肯定高速緩存在這點上也是有益的。
[0101]如以上示出的,優(yōu)選地,中間CNAME以用于多域用戶的特殊商定的后綴(mdc.edgesuite.net)結束。
[0102]在代表性的實施方式中,主題功能以軟件實施,如由處理器執(zhí)行的計算機程序指令。
[0103]更一般地,這里描述的技術利用一個或多個計算有關的實體(系統(tǒng)、機器、進程、程序、庫、功能、等)的集合提供,它們一起便于或提供上面描述的功能。在典型的實施方式中,軟件在其上運行的代表性的機器包括商品硬件、操作系統(tǒng)、應用運行時環(huán)境、和應用或進程和關聯(lián)數(shù)據(jù)的集合,其提供給定系統(tǒng)或子系統(tǒng)的功能。如描述的,功能可以在獨立的機器中、或跨機器的分布式集合中實施。功能可以被提供為服務,例如,作為SaaS解決方案。
[0104]雖然以上描述由本發(fā)明的某些實施例執(zhí)行的操作的特定順序,但是應當理解這樣的順序是示范性,因為可替換實施例可以以不同的順序執(zhí)行操作、組合某些操作、重疊某些操作等。說明書中對給定實施例的參考指示描述的實施例可以包括特定特征、結構、或特性,但是每個實施例可以不一定包括所述特定特征、結構、或特性。
[0105]雖然公開的主題已經在方法或過程的上下文中被描述,但是本公開也涉及用于執(zhí)行這里操作的裝置。此裝置可以被專門地構成以用于需要的目的,或它可以包括由存儲在計算機中的計算機程序選擇性地激活或重新配置的通用計算機。此類計算機程序可以被存儲在計算機可讀存儲介質中,諸如但是不局限于任何類型的盤,包括光盤、⑶-ROM、和磁光盤、只讀存儲器(ROM)、隨機存取存儲器(RAM)、磁或光卡、或適合于存儲電子指令的任何類型的媒體、并且每個耦接到計算機系統(tǒng)總線。
[0106]雖然系統(tǒng)的給定組件已經單獨地描述,但是普通的技術人員將理解,一些功能可以被在給定指示、程序序列、代碼部分等等中組合或共享。
[0107]優(yōu)選地,功能在應用層解決方案中實施,盡管這不是限制,因為標識的功能的部分可以被內建在操作系統(tǒng)等中。
[0108]功能可以被利用除HTTP之外的其它應用層協(xié)議實施,諸如HTTPS、或具有類似操作特性的任何其它協(xié)議。
[0109]對可以實施連接的客戶端側或服務器側的計算實體的類型沒有限制。任何計算實體(系統(tǒng)、機器、設備、程序、進程、功用、等)可以充當客戶端或服務器。
【權利要求】
1.一種裝置,包括: 處理器; 保存被適配為由處理器執(zhí)行的計算機程序指令的計算機存儲器,所述計算機程序指令包括: 用于接收請求的代碼,所述請求具有與其關聯(lián)的主機報頭,所述主機報頭包括值; 用于確定主機報頭中的值是否被識別的代碼; 用于如果主機報頭中的值不被識別則對所述值執(zhí)行DNS查詢的代碼; 用于響應于DNS查詢接收CNAME鏈的代碼; 用于分析CNAME鏈以確定預定模式是否被識別的代碼;以及 用于如果該預定模式被識別則使用該預定模式和其它數(shù)據(jù)來嘗試定位內容處理元數(shù)據(jù)文件的代碼。
2.如權利要求1所述的裝置,其中所述計算機程序指令還包括: 用于應用內容處理元數(shù)據(jù)文件中的信息的代碼;以及 用于返回對該請求的響應的代碼。
3.如權利要求1所述的裝置,還包括高速緩存。
4.如權利要求1所述的裝置,其中所述計算機程序指令還包括用于高速緩存該CNAME鏈以便再次使用的代碼。
5.如權利要求1所述的裝置,其中所述計算機程序指令包括用于如果內容處理元數(shù)據(jù)文件不能從該預定模式和其它數(shù)據(jù)被定位則返回錯誤的代碼。
6.如權利要求1所述的裝置,其中所述計算機程序指令還包括用于響應于確定CNAME鏈不具有預定模式來嘗試驗證與邊緣主機名相關聯(lián)的授權令牌的代碼。
7.如權利要求1所述的裝置,其中所述計算機程序指令還包括用于確定中間模式是否還包括前綴值的代碼。
8.一種由第一方操作的系統(tǒng),包括: 可網絡訪問的提供軟件,其在硬件上執(zhí)行以使得第二方能夠提供與一組第三方域相關聯(lián)的多域配置(MDC)數(shù)字財產;和 至少一個邊緣服務器機器,其包括在硬件上執(zhí)行以接收與第三方相關聯(lián)的域、并且作為響應以確定域是否是與MDC數(shù)字財產相關聯(lián)的第三方域中的一個的軟件進程。
9.如權利要求8所述的系統(tǒng),其中所述軟件進程通過對該域執(zhí)行DNS查找以檢索至少一個中間CNAME來確定該域是否是第三方域中的一個。
10.如權利要求8所述的系統(tǒng),其中所述可網絡訪問的提供軟件包括配置管理器,其建立用于MDC數(shù)字財產的命名約定并且經由提供中間CNAME的CNAME提供工具實施該命名約定。
【文檔編號】G06F15/16GK103999071SQ201280060960
【公開日】2014年8月20日 申請日期:2012年11月1日 優(yōu)先權日:2011年11月2日
【發(fā)明者】S·L.·路丁, P·拉加特, M·J.·史蒂文斯, F·R.·肖頓, J·阿塔拉 申請人:阿卡麥科技公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宿州市| 旬邑县| 石狮市| 日喀则市| 南雄市| 万安县| 图片| 宿松县| 长治市| 略阳县| 西峡县| 南平市| 应用必备| 南丹县| 常德市| 潢川县| 周至县| 淮安市| 土默特左旗| 秭归县| 五家渠市| 平利县| 屯门区| 乐清市| 宿松县| 榆树市| 新兴县| 巫溪县| 洛隆县| 呼图壁县| 阳曲县| 项城市| 抚松县| 博爱县| 绥芬河市| 玉门市| 安康市| 博兴县| 枞阳县| 五台县| 丘北县|