本申請要求以下申請的優先權:2014年12月8日提交的申請號為no.62/089,113的美國臨時申請;2015年1月6日提交的申請號為no.62/100,406的美國臨時申請;2015年1月28日提交的申請號為no.62/108,987的美國臨時申請;2015年4月7日提交的申請號為no.62/144,293的美國臨時申請;2015年4月22日提交的申請號為no.62/151,174的美國臨時申請;以及2015年6月11日提交的申請號為no.62/174,394的美國臨時申請,所有這些申請都通過引用并入本文
本申請涉及網絡技術,更具體地,涉及經由遠程接入點服務器檢索區域內容。
背景技術:
在互聯網的客戶端-服務器拓撲中,客戶端到服務器的距離越遠,二者之間的延遲或往返時間(rtt)就會越高,數據請求的執行和傳遞也就會越慢。客戶端和服務器之間的中間網絡設備的跳的次數被定義為跳數,該跳數受到生存時間(ttl)的互聯網協議限制,也稱為跳數限制,其定義了在一個數據包被丟棄而無法投遞之前,跳數允許的最大數量。這種ttl限制是為了防止由于不可路由的數據包而導致的擁塞,否則這些數據包將無限期地阻塞管道。當進行長距離連接時,這種安全機制也可能導致可傳遞的數據包出現問題。當一個數據包在傳遞時,會從ttl中減去該數據包跳的整數。一旦ttl達到零,則這個數據包將被丟棄。因此,即使路徑很好,如果它的跳數太多,那么它仍然會被認為是無法傳遞的。
內容分發網絡(cdn)被發展用來從托管的服務器以及與請求客戶端盡可能近的cdn服務器上帶來克隆拷貝內容。當之前被遠程托管的數據現在被緩存到離請求客戶端足夠近的服務器上后,這些cdn服務器得到了顯著的性能提升。距離越短,延遲就越低,跳數也會越少,內容也將被傳遞的更快。如果內容在全球范圍內相同(在任何地方都一樣),這表示需要性能增益。
在一些情況下,地區不同而導致內容不同,但是可以通過同一個通用資源定位符(url)來獲取內容,基于地理位置機制,例如地圖標記,其自動給客戶端設備發送流量(traffic)。這樣會帶來一個問題,因為僅有提出請求的地區的內容被服務。然而,終端用戶希望能夠從不同的地理位置獲得內容。
為了從另一個區域獲取內容,一些用戶手動強制流量從公共代理或代理服務器傳輸,由于一些原因的存在,這種做法也存在限制。它可能很慢,通常也是不安全的,因為在大多數情況下,用戶并不控制流量通過的代理服務器。該方法通常需要手動配置。它是點對點,使得它們不得在一個區域內執行/檢索代碼,然后在另一個區域通過另一個不同的代理服務器重新配置代理客戶端來檢索內容,并依此類推。這不僅耗時,而且也不能同時觀看來自多個地區的內容。在客戶端和代理服務器之間,以及代理服務器目和標內容服務器之間的網絡路徑,沒有控制可以被執行。這也同樣會導致低傳輸速度及低帶寬。
軟vpn的也可以用來解決這個問題,但在無法在網絡中間或類似的代理服務器中控制網絡,因為它這些都只是點至點,需要針對每個區域配置使用。
鑒于上述情況,可以理解是,針對面向多個區域的、具有低延遲和低跳數的、多個的、并發安全的、快速的信號流,具有強烈的需求。
技術實現要素:
公開了一種通過遠程接入點服務器來檢索區域內容的系統及方法。在一個實施例中,本申請涉及一種用于從遠程網絡區域進行內容檢索的網絡系統。該網絡系統可以包括第一設備。所述第一設備可以被配置為接收關于內容的請求。所述內容可以在一個或多個處于遠程網絡區域的內容服務器上。所述第一設備可以被進一步配置為至少執行以下中的至少一個:通過隧道轉發所述請求到與所述一個或多個內容服務器接近的目標接入點服務器,并從所述目標接入點服務器接收所述內容,從所述第一設備的緩存中獲取所述內容。
根據本實施例的其他方面,所述目標接入點服務器被配置為從所述一個或多個內容服務器中提取所述內容。
根據本實施例的其他方面,在所述第一設備和所述目標接入點服務器之間,所述網絡系統還包括一個或多個中間隧道,用于連接一個或多個中間訪問指針服務器和一個或多個中間路由設備。
根據本實施例的其他方面,所述中間接入點服務器和所述目標接入點服務器中的至少一個被配置為執行域名系統查找,用以定位所述一個或多個內容服務器。
根據本實施例的其他方面,所述中間路由設備、所述第一設備、所述中間接入點服務器和所述目標接入點服務器中的至少一個被配置為從緩存中執行域名系統查找,用以定位一個或多個內容服務器。
根據本實施例的其他方面,所述中間路由設備、所述中間接入點服務器和所述目標接入點服務器中的至少一個被配置為緩存所述內容。
根據本實施例的其他方面,所述高速緩存的內容在所述中間路由設備、所述第一設備、所述中間接入點服務器和所述目標接入點服務器之間被同步。
根據本實施例的其他方面,所述中間路由設備、所述第一設備、所述中間接入點服務器和所述目標接入點服務器中的至少一個被配置為執行壓縮所述內容及解壓縮所述內容中的至少一個。
根據本實施例的其他方面,所述中間路由設備和所述第一設備中的至少一個被配置為基于全球虛擬網絡執行智能路由。
根據本實施例的其他方面,所述智能路由基于最佳帶寬、最少延遲、最少跳數以及無數據包丟失中的至少一個。
根據本實施例的其他方面,所述智能路由基于實時統計和歷史統計中的至少一個。
根據本實施例的其他方面,所述目標接入點服務器還被配置為同時從所述一個或多個內容服務器提取所述內容。
根據本實施例的其他方面,來自所述一個或多個內容服務器的所述內容包括一個或多個鏈接,所述一個或多個鏈接指向作為組成部分的附加內容。
根據本實施例的其他方面,所述目標內容服務器還被配置為從所述一個或多個鏈接中提取內容。
根據本實施例的其他方面,所述一個或多個鏈接的內容從包含所述一個或多個鏈接的頁面的內容所在的遠程區域被提取。
根據本實施例的其他方面,所述目標接入點服務器還被配置為同時從所述一個或多個鏈接中提取所述內容。
根據本實施例的其他方面,所述內容被驗證過。
根據本實施例的其他方面,所述驗證基于文件大小檢查和散列檢查中的至少一個。
在另一個實施例中,本申請涉及一種從遠程網絡區域進行內容檢索的方法,根據該方法,關于內容的請求能夠第一設備接收。其中所述內容位于遠程網絡區域中的一個或多個內容服務器上。該請求能夠通過隧道轉發所述請求到與所述一個或多個內容服務器接近的目標接入點服務器,來自所述目標接入點服務器的所述內容能夠被接收。所述內容能夠從所述第一設備的緩存中獲取。
在另一個實施例中,本申請涉及一種非暫態計算機可讀介質,存儲有從遠程網絡區域進行內容檢索的計算機可讀程序。該計算機程序包括計算機可讀指令,用于通過第一設備接收關于內容的請求。所述內容位于遠程網絡區域中的一個或多個內容服務器上。該程序包括計算機可讀指令用于通過隧道轉發所述請求到與所述一個或多個內容服務器接近的目標接入點服務器,并從所述目標接入點服務器接收所述內容。該程序包括計算機可讀指令用于從所述第一設備的緩存中獲取所述內容。
現在將參照附圖中所示的特定實施例來更詳細地描述本申請內容。盡管下面參考特定實施例描述了本申請,但是應當理解,本申請不限于此。能夠獲得教導的本領域普通技術人員,能夠在本申請的范圍內意識到其他實現方式、修改方式和實施例以及在其他領域的使用,并且相對于本申請可能具有顯著的效用。附圖說明
為了更好地理解本申請,附圖中增加了相應的附圖標記,其中相同的元件以相同的附圖標記表示。這些附圖不應被解釋為對本申請的限制,而是僅僅是說明性的。
圖1示出了通過用于從主機(客戶端)到主機(服務器)的數字ip地址的路由的互聯網域名系統(dns)的查找來解釋通用資源定位符(url)的框圖。
圖2示出了描述cdn方案(resolution)和內容傳遞的框圖,其中內容是全球相等的。
圖3示出了描述cdn方案(resolution)和區域特定內容傳遞的框圖。
圖4示出了描述cdn方案(resolution)和具有明顯阻塞區域特定內容傳遞的框圖。
圖5示出了代理服務器的工作原理的框圖。
圖6示出了根據本申請的實施例的經由全球虛擬網絡(gvn)的地理目標dns解析和內容傳遞的框圖。
圖7示出了根據本申請的實施例示出的帶有gvn的高級智能路由(asr)流程圖。
圖8示出了根據本申請的實施例示出的帶有gvn的地理目標機制(gdm)框圖。
圖9示出了根據本申請的實施例示出的端點設備與帶有gvn的接入點服務器連接的軟件架構的框圖。
圖10示出了根據本申請的實施例的接入點服務器的操作框圖。
具體實施方式
在一些實施例中,本文所公開的區域內容檢索使用以下組合:智能路由、隧道通過全球虛擬網絡(gvn)設備的網格拓撲來到達位于目標地理位置的接入點服務器(srv_ap)、內容提取代理與內容傳遞代理一起工作、鏈緩存、以及當內容物理上位于制定的希望區域時,允許主機(客戶端)從指定所希望的區域獲取內容并從那里接收內容的其他實施例。高級智能路由以及單點到多點的拓撲為來自多個遠程區域的并發流帶來了優勢,該多個遠程區域由源主機(客戶端)或目標主機(服務器)或目標url等定義。
在一些實施例中,每個請求可以經由位于其附近的端點設備(epd)上的內容傳遞代理(cda)被路由到它們選擇的地理目標。在希望的內容被放置在通過內容提取代理(cpa)運行來代表它們自身的主機(服務器)上的區域,針對來自srv_ap服務器的每個請求,來自多個目標地理區域的內容作為獨立流同時被提供給它們。srv_ap服務器也可以同時從多個內容服務器提取內容。為了提高性能和增加速度,獲取的文件和流的內容可以通過鏈接緩存作為單個文件或組合文件的集合發送。發送cda與cpa之間的用以執行和數據流操作的回饋控制和輸入交互,并從本地緩存中傳遞由位于epd上的cda提供的獲取內容。
在一些實施例中,流量從gvn流到帶有cpa的srv_ap,cpa緊鄰位于期望地理位置的目標內容服務器。數據流量流經通過安全傳輸的鏈路緩存,封裝的高級智能路由(asr),模糊化隧道傳輸srv_ap,然后到達epd上的原始提出內容請求的cda。
在一些實施例中,本文公開的系統中的設備可以接收和/或截取那些否則將會成為直通的內容請求。
圖1-5示出了在有和沒有內容傳遞網絡(cdn)的情況下,互聯網如何從主機服務器向主機客戶端傳遞內容。cdn具有優勢,但針對區域不同而內容不同,需要克服一些嚴重的限制。本背景信息是為了提供一個背景透視,展示為什么本文所披露的技術能夠提供更好、更穩健的服務質量(qos)。
圖1示出了通過用于從主機(客戶端)到主機(服務器)的數字ip地址的路由的互聯網域名系統(dns)的查找來解釋通用資源定位符(url)的框圖。作為文件或流或數據塊的從主機客戶端(c)101到主機服務器(s)301的內容請求或推送,沿著001的方向流動。作為文件或流或數據塊的響應002,從主機s傳遞到主機c。作為客戶端-服務器(c-s)關系中的主機客戶端設備101請求從遠程主機s訪問內容,或者通過通用資源定位器(url)或其他網絡可到達地址向遠程主機s發送數據。
從主機客戶端到互聯網的連接被標記為p01-從客戶端101到pop102的直接面對的連接,或者該連接也可以位于局域網(lan)中,然后局域網(lan)經由存在點(pop)可以連接到互聯網,存在點(pop)可以視為最后一公里的連接。存在點(pop)102代表通過它們自己的網絡或內部鏈接,從互聯網服務提供商(isp)提供的一個末端到互聯網的一個連接。如果url是域名而不是數字地址,則將該url發送到域名系統(dns)服務器103,在此將域名轉換為ipv4或ipv6或其他用于路由目的的地址。
從客戶端101到服務器301的流量通過互聯網120路由,代表多個pop(102和302)之間進行的傳輸,包括對等、回程或其他網絡邊界傳輸。
從pop102到dns103的連接p02,用于從通用資源定位器(url)中查找數字地址,以獲得目標服務器的ipv4地址或其他數字地址,這樣能夠直接從pop102或通過互聯網120來接觸目標服務器。從isp的pop102到互聯網120的連接p03可以單獨磨煉(single-honed)或多次磨煉(multi-honed)。從互聯網120到isp或互聯網數據中心(idc)互聯網接口pop302之間,存在連接p04。從服務器的pop302到主機301的連接p05可以是直接的或經由多跳的。
通過域名系統從名稱到數字地址的查找是當今互聯網上的標準,并假設dns服務器是一體的,其結果是最新的且可以被信任的。
圖2示出了描繪cdn方案(resolution)和內容傳遞的框圖,其中內容是全球相等的。圖2包括各種網絡路徑(例如,p001,p002等)。當向客戶端提供內容時,內容傳遞網絡(cdn)可以在速度和靈活性以及負載平衡方面帶來明顯的優勢。內容請求001從主機客戶端(c)101流向主機服務器(s),內容傳遞的應答002以分組化文件或數據流或數據塊的形式,從主機s返回到主機c。
主機客戶端101可以是充當客戶端-服務器(cs)關系中的客戶端的諸如膝上型計算機、臺式計算機、電話、平板電腦或其它設備的設備。它通過通用資源定位器(url)使請求訪問由遠程主機服務器提供的內容。
pop102、dns服務器103、互聯網120以圖1所示相同的方式操作。
在cdn基礎設施的情況下,cdn地圖標記201與cdn控制服務器202或類似機制協調,用以確定客戶端設備位于哪個區域,以及確定將要服務的哪個cdn服務器與之連接。
如果客戶端101在區域a中,通過區域a中的服務器的pop403,它將被路由到區域a中的cdn服務器503。區域b中的客戶端101將經由區域b中的服務器的pop402連接到區域b中的cdn服務器502。區域c中的客戶端101將通過區域c中的服務器的pop401連接到區域c中的cdn服務器501。
在該示例中,對于所有服務的內容存在內容等同物,并且501、502和503的每個cdn服務器具有來自原生(origin)服務器601的精確克隆的內容副本。
當內容是全球等同的,例如,來自區域a、b和c的在cdn服務器上服務的相同內容,將等同地從原生服務器601復制,原生服務器601用于向內容服務器提供內容。
如果cdn地圖標記服務器位于遠離客戶端設備的區域中,初始cdn地圖標記201通過p001經由102至p003的查找可能非常快,或者可能會使用相對較多的查找時間。一旦完成查找,流量將通過p006流向最接近或最好的可用cdn服務器。
為了說明該圖,將區域定義為與另一地理區域不同的地理區域。它不一定必須代表一個較大的領域,但也可以代表一個較大的區域,它也可以代表從一個地區到另一個地區很遠的距離,或者它們可能非常近。關鍵是一個地區的客戶端將通過特定區域的cdn服務器接收內容,而不是從另一個區域接收內容。
圖3示出了描繪cdn方案(resolution)和傳遞區域特定內容的的框圖。圖3包括各種網絡路徑(例如,p001,p002等),圖3類似于圖2,它們之間的主要區別在于每一區域的內容與其他區域的內容不同。在cdn服務器501、502和503和原始服務器601之間,是內容區域服務器701、702和703,其將區域特定內容發布到每個區域中的cdn服務器,每個區域中的cdn服務器給各自區域內的客戶端提供服務。
圖4示出了描述cdn方案(resolution)和具有明顯阻塞區域特定內容傳遞的框圖。圖4包括各種網絡路徑(例如,p001,p002等)當一個區域中的客戶端101想要來自另一區域的服務器502或503所服務的內容時,無論它們做什么,它們將僅能從其所在區域內的服務器501獲取內容。即使它們試圖強制連接到它們希望接收內容的地區的內容服務器,它們也不能訪問其他內容。它們將持續的被提供其所在區域內容,而沒有其它的選擇。本地dns查找103解析的ip僅指向其區域內的cdn服務器501。這歸結于全球ip地址僅映射到其區域中的cnd(如果全球ip)或其他原因。結果是客戶端在路徑p007或路徑p008將被阻擋。
基于當前地理位置的路徑p005的正常連接不受阻塞,流量能夠流動,從而主機(客戶端)101通過服務器501接收該地理位置的內容。
對于與當前地理位置不同的目標區域502和503,在路徑p007和/或路徑p008處停止業務,并且主機(客戶機)被來自遠程地理目標的內容拒絕。根據cdn控制系統202的配置和策略,它們可能被強制到其當前位置501中的服務器,或者接收不到任何內容,或者僅僅接收錯誤消息,或者接收僅僅是不是期望的內容。
圖5顯示了代理服務器的如何工作的框圖。內容請求或推送001從主機客戶端(c)101流向主機服務器(s)301,且可以包括分組化文件或數據流或數據塊。內容傳遞001從目標主機301流向客戶機主機101,且可以包括分組化文件或數據流或數據塊。
客戶端101,作為客戶端-服務器(cs)關系中客戶端設備,通過通用資源定位器(url)或數字ip地址等請求從遠程主機、服務器訪問內容。
該請求流經gw設備,該gw設備運行在主機客戶機101上運行的代理客戶端軟件510。該代理客戶端經由隧道連接到代理服務器,經由從gw510到存在點(pop)540的路徑p530進行加密或解密,然后經過作為wan550一部分的互聯網到達路徑p532,進而到達位于遠程區域的代理服務器。流量從代理服務器560經由路徑p533流出到開放的互聯網120中,并且經由p534通過pop542及p535連接到目標區域中的主機服務器103。
主機服務器將流量視為來自代理服務器的ip地址和地理位置。如果此ip與目標區域中的服務器定義的區域相同,則將提供所需的內容。為了便于本地化,代理服務器通常將連接到與代理服務器所在的相同區域中的dns服務器570。
為了解決圖1至圖5所述的問題和限制。圖6至圖9說明了地理目標的操作方式以及其可能的應用。存在更多的可行性來應用這種機制和方法。
圖6示出了根據本申請的實施例的經由全球虛擬網絡(gvn)的地理目標dns解析和內容傳遞的框圖。在一些實施例中,端點設備內的高級智能路由可以通過直接連接到作為本地連接的互聯網,或經由到全球虛擬網絡(gvn)的隧道及其網絡的服務器和其他設備的路由來傳遞流量。可以通過多種路徑來實現來自目標區域中的內容服務器的內容檢索。圖6示出了各種可能的路徑,用以說明本文公開的技術的一些功能。
在一些實施例中,主機客戶端101通過p618連接到局域網(lan)620,并且從那里到達終端設備630。epd內的智能路由將通過多個隧道p611至p615之一,將流量路由到存在點(pop)632。這些路徑可以流過如下的存在點(pop):
p611通過pop632連接到p611-1,并通過互聯網641經由路徑p611-2連接到主機服務器651,主機服務器651與主機客戶端101處于相同的目標區域。這個例子可以用于主機客戶端的位置非常接近內容或cdn服務器的情況,此時主機客戶端不通過gvn。
p612是安全隧道,其通過路徑p612-1、wan672和路徑p612-2,將pop632連接到接入點服務器(srv_ap)662。位于srv_ap662的內容提取代理(cpa),通過p612-3、互聯網642和路徑p612-4,可以在dns682處執行dns查找。當srv_ap662上的cpa接收到查找的數字地址結果時,它通過p612-5從主機服務器652請求內容。
p613是一種安全隧道,其行為方式與p612(例如,p613-1,p613-2和wan673)相同,并且能夠達到類似的效果,其唯一的區別是隧道連接到第一個srv_ap663,然后通過另一個隧道p613-3到wan673-1再到p613-4再到另一個srv_ap663-2,并從那里從主機目標服務器653檢索內容,并通過互聯網693,其方式srv_ap662的操作方式類似。
p614是一種安全通道,其工作方式與p612(例如,p614-1,p614-2,p614-3,p614-4,wan674,srv_ap664,internet644,目標654)的行為方式相同。不同之處在于dns查找來自epd630內的緩存。從那里,高級智能路由將流量下發至srv_ap664,用以從主機服務器654檢索內容,而不在目標區域中進行dns查找。
p615是安全隧道,p615-1通過wan675到p615-2橋接到srv_ap665,srv_ap665橋接到另一個隧道p615-3,p615-3通過wan675-1到p615-4,在此,隧道向epd631完成了一個安全的橋接。流量從epd631通過p615-5流出到目標區域中的pop635。通過p615-6,dns查找能夠從pop635到dns服務器進行。dns查找還可以通過在epd631的緩存中查找完成,或通過互聯網645向該區域或另一位置中的另一個dns服務器進行dns查找來完成。來自主機服務器655的內容通過p615-8被提取到互聯網645、接入點635、epd631,以回送至epd630。在一些實施例中,epd631可以將緩存的內容發送到epd630。在其他實施例中,epd631可以從主機655中提取內容。
圖7示出了根據本申請的實施例示出的帶有gvn的高級智能路由(asr)流程圖。圖7說明了高級智能路由(asr)如何在全球虛擬網絡中運行。圖7包括各種局域網(例如,702,704)、互聯網(例如,707,729)、srv_ap(例如,710,719)、多個pop(例如,728,717)、wan(例如,18),客戶端(例如101,716,)、epd(703,721)、dns(例如,714,706)以及路徑(p701-p731)。
從連接到終端設備(epd)703的局域網(lan)702中的主機客戶端設備101的起始點,gvn可向epd703提供多個到多個潛在終端點的連接路徑。這是分組可以采用的路由邏輯的高級視圖,因為它利用asr來轉換gvn以獲得最佳性能。從主機客戶機101的角度來看,它們的流量將流過具有少量跳數的互聯網協議(ip)網絡,并且在gvn的第三層處可能出現最佳延遲。gvn的第一層是基礎互聯網,可以自動配置虛擬接口、隧道、路由和其他網絡策略。gvn的第二層是算法、軟件和邏輯用來管理第三層和第一層操作的地方。
第一主路由決定在包含epd703內的邏輯門704處,此時,流量經由路徑p704流出到epd703所在的本地互聯網707,或者便是通過p707經過安全封裝和混淆的隧道到達接入點服務器(srv_ap)710,srv_ap710提供其所在區域的最佳連接。在流量出口srv_ap710之前,它通過路由邏輯門711。本地到互聯網713的流量將經由路徑p711到達主機客戶端715或主機服務器716。如果流量不是本地的,而是被中繼到另一個區域,它將通過路徑p716通過隧道p718到達下一個srv_ap719。
在srv_ap719中,在許多可能的路由選項中,流量可以采用路徑的三個選項被示出。可以存在邏輯門726,用以確定流量是否應當保持并且出口到本地互聯網729,然后到達目標731/732,并且可能通過在730處的dns查找,或者如果它應該經過p726的隧道到另一個區域的srv_ap727。通過路徑p719示出了另一種可能性,該p719演示了在遠程區域中從srv_ap719到另一epd721的隧道。這是通過多個橋接隧道連接的epd703至epd721。
進一步可能是便是,通過epd的連接p721,使流量到達客戶端設備725/723,所述客戶端設備725/723位于epd721所處的局域網722中。
圖8示出了根據本申請的實施例示出的帶有gvn的地理目標機制(gdm)框圖。地理目標機制描述了利用覆蓋在互聯網上的gvn提供的優勢的系統。它是一個安全隧道系統,當請求客戶端在所在的區域被阻斷后,能夠通過接入點服務器智能路由到另一個區域的出口點,用以獲取遠程內容。圖8包括各種路徑(例如,p802-p818,p821-p826和p830-p834)、緩存(例如,821-823)、srv_ap(例如,831和832)、wan(例如,850和851)、互聯網(例如,810)、dns(例如,804,860)、pop(例如,870),客戶端101以及主機對象840。
gvn將設備從lan802連接到遠程主機服務器803或客戶端,客戶端或者在互聯網810之上,或者在另外一個lan中。gvn的另一個優點是,當客戶端位于遠程區域時,它可能允許遠程設備從該遠程區域的服務器中提取數據文件和流。這個優點克服了開放式互聯網上路由效率低下、地理阻塞、跳數過多或其他問題的限制。高級智能路由(asr)確保通過gvn獲得最佳路徑,以及鏈接的緩存821/822/823提取數據進入接入點服務器(srv_ap)832,并讓此數據可以盡快發送。其中,鏈接的緩存821/822/823與內容傳遞代理(cda)803協調一致工作,內容傳遞代理(cda)803向提取代理(cpa)830請求數據。
在該實施例中,當主機客戶端101希望從目標區域中的主機服務器840獲取內容時,可以從dns804進行域名系統(dns)查找或查詢其cda內的地理目標dns緩存,用以將統一資源定位器(url)轉換成數字地址。基于該數字ip地址,asr將流量路由到最接近目標內容的srv_ap832。
epd808產生隧道p802連接wan850至p803再至第一個rv_ap831,通過第二隧道p804至wan851至p805,rv_ap831連接到目標srv_ap832。cpa830連接到主機服務器840以獲取內容。在該內容是網頁的情況下,cpa830將下載內容并進行解析以制作鏈接列表,并從該鏈接列表中將內容作為文件和流(來自眾多來源)提取。今天許多網站都提供來自許多不同服務器的圖像、文件、內容、視頻流和其他內容。該內容的url鏈接需要編入索引,cpa將對該地區的所有url執行dns服務器860的dns查找。
cpa830將獲取并緩存內容到緩存821中,緩存821與srv_ap832連接。高速緩存中的內容可以是單獨的文件或一組文件或二者的組合。
緩存821到緩存822之間的內容可以動態的在srv_ap831上同步,srv_ap831是介于主機服務器840的區域和epd803、主機客戶端的區域之間的中間區域。從緩存822開始,內容可以在在epd803的位置動態同步到緩存823。一旦內容在epd803中,它可以由與epd803連接的主機客戶端101訪問,epd803與主機客戶端101的連接可以通過epd803,也可以直接連接。在其他實施例中,多個緩存之間的內容同步可以被調度。
在一些實施例中,本文中公開的地理目標機制從遠程區域檢索內容,就好像請求客戶端在該區域中具有針對該內容的dns查找以及在該區域中完成的所有關聯流。
在一些實施例中,在靠近主機服務器的多融合(multi-honed)數據中心中從強大的srv_ap檢索內容文件和流能夠快速地將數據檢索到srv_ap中。
在一些實施例中,內容抽取代理830獲取內容項,緩存它們,并將它們組合成合并體(amalgamation)或一團(glob)或文件塊。這些能夠被壓縮并有效地傳遞回epd803。
在一些實施例中,鏈接緩存在運行中中繼數據。在一些實施例中,諸如831和832之類的srv_ap經由國際回程通過大通道連接。在一些實施例中,多個srv_ap被連接。通過將長途往返路徑切換成彼此相連的一系列路徑,可以提高數據傳輸吞吐量。
在一些實施例中,全球虛擬網絡通過最有效的路由和隧道盡可能地路由流量。在一些實現中,有效路由可以基于實時統計。在其他實現中,有效路由可以基于歷史統計。
圖9示出了根據本申請的實施例示出的端點設備與帶有gvn的接入點服務器連接的軟件架構的框圖。如圖9所示,軟件和硬件可以分布在網絡設備內,跨越不同的電路板、處理器、網絡接口卡和存儲器。
端點設備(epd)902和接入點服務器(srv_ap)904可以彼此連接,該連接通過通信路徑p903-a到存在點(pop)909-a,基于通信路徑p903-b通過wan910到通信路徑p903-c到pop909-b到通信路徑p903-d。
epd902和srv_ap904的軟件架構可以相似,除了與每個設備的作用不同。epd902可以具有內容傳遞代理(cda)d006,并且srv_ap904可以具有內容提取代理(cpa)d106。
每個設備的最低級別,內存d001/d101和處理器d002/d102和網絡接口d003/d103可以在硬件級別。操作系統(o/s)d004/d104可以是linux系統或等效系統,如debian或其他。操作系統d004/d104可以包括用于路由、托管(hosting)、通信和其他系統級操作的包和配置。
全球虛擬網絡(gvn)操作系統的系統軟件d005/d105可能存在于操作系統之上。系統軟件d005/d105可以包括自定義命令、系統模塊和在此操作的其他組成部分、以及gvn的其他組件。gvn的每種類型的設備可以具有系統軟件的這些部分中的一些或全部,這取決于它們的作用。
在epd902上,內容發送代理d006可以作為遠程srv_ap904上的請求客戶端和內容提取代理d106之間的中間人。內容傳遞代理d006與內容提取代理d106之間的通信可以由緩存管理器d007/d107、壓縮引擎d008/d108、連接管理器d009/d109處理,連接管理器d009/d109中可能包括路由d0010/d1010、連接d011/d111等模塊及相關軟件。它們之間的信息流可經從epd902由路徑p903-a出口,或經從srv_ap904由路徑p903-d出口。
在srv_ap904上,除了與主機服務器908通信之外,內容傳遞代理d106可以在dns910(經由路徑p904)的目標區域中執行dns查找。
在一些實施例中,緩存管理器d007/d107可以檢查數據是否在任一方向上在高速緩存之間復制。緩存管理器d007/d107還可以檢查復制的數據是一個完整的、精確的克隆副本。緩存管理器d007/d107還可以刷新舊內容,以確保其內存和存儲器不會變得過于腫脹(bloated),并且還以最大的效率運行。壓縮引擎d008/d108將根據流量壓縮或解壓縮數據。
在一些實施例中,連接性管理器d009/d109管理虛擬接口(vif)、隧道、隧道聚合、網橋、以及與gvn的設備之間的連接相關的其他元件。
在一些實施例中,路由管理器d010/d110可以確保分組流經適當的vif、隧道或出口流到開放互聯網。
在一些實施例中,連接管理器d011/d111可以連續地對gvn的設備之間的隧道和各種連接進行測試、構建、銷毀、鏈接和執行其他操作。
在一些實施例中,epd902經由路徑p901和p902通過局域網902與客戶端101通信。srv_ap904可以經由路由p905、p906和p907通過互聯網906和pop907與主機服務器904通信。
圖10示出了根據本申請的實施例的接入點服務器的操作框圖。
在一些實施例中,內容提取代理(cpa)d302駐留在srv_ap1000上。cpad302可以從位于epd1014上的內容傳遞代理1012接收目標url/uri。作為示例,客戶端希望到達的目標地址位于客戶端的另一個區域,該另一區域是客戶端希望從中提取內容的區域。
cpad302可以將請求地址傳遞給遠程抓取機器人(r.f.bot)d301。r.f.botd301可以執行dns查找,然后使用該信息通過數據提取1006來放置內容。在一些實施例中,dns信息通過數據庫b304被緩存在緩存管理器d304中。在其他實施例中,dns信息可以從諸如1010的dns服務器獲取。
r.f.botd301可以與cpad302一起工作,以通過cp01解析所獲取的結果,以尋找輔助內容的其他地址,該輔助內容能夠被作為內容的一部分被提取。
內容可以包括圖像1001、文本文件1002、各種格式的文件1003(如css,js等格式)、來自第三方網站的文件1004。該內容可以駐留在內容主機服務器1040上。該內容可以駐留在多于一個的內容服務器上。多個請求可以存儲在數據庫b302中,以供cpad302和r.f.botd301訪問和將來參考。
在一些實施例中,可以并行的提取每個內容流1050/1051/1052/1053。
在一些實施例中,來自數據提取的內容1006可被傳遞到cpad302并存儲在數據庫b302中。在其他實施例中,來自數據提取的內容可以傳遞給緩存管理器d303并存儲在數據庫b303中。緩存的內容可以作為文件塊1005傳遞,也可以作為單獨的文件傳遞。
根據從起始到地理目標區域的距離、文件類型和qos,緩存中提取的文件可能會被聚集成一個文件,以便通過鏈接緩存進行統一傳輸,也可以作為并行發送、并發流的單個文件。
各種內容文件也可以一起集成到一個大文件中,因此,不是例如30個數據文件在長距離內單獨控制和傳輸,它將是一個文件,但是該文件可作為多個流。然后在epd側解除封鎖,再次變成30份文件。
本申請的范圍不受本文所述的具體實施例的限制。實際上,除了本文所述的那些內容之外,基于前面描述和附圖記載的內容,對本領域技術人員顯而易見的其它實施例和針對本申請的修改,均落入本申請的保護范圍內。此外,盡管在本文中已經針對至少一個特定目的在至少一個特定環境中的至少一個特定實現的上下文中描述了本申請,本領域普通技術人員將認識到其價值不限于此,并且本申請可以在任何數量的環境中有益地實現用于任何數量的目的。因此,應當本文所述的公開內容的最大寬度范圍和精神來解釋本文記載的權利要求。