在霧計算架構(gòu)中使用邊緣服務(wù)器改善網(wǎng)站性能的制作方法
【專利說明】在霧計算架構(gòu)中使用邊緣服務(wù)器改善網(wǎng)站性能
[0001]本申請要求于2012年11月14日提交的美國臨時申請序列號61/726,171的優(yōu)先權(quán)。
技術(shù)領(lǐng)域
[0002]本公開一般地涉及客戶端設(shè)備改善web頁面的渲染,該客戶端設(shè)備經(jīng)由計算網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng)絡(luò))來訪問來自網(wǎng)絡(luò)服務(wù)器的web頁面。
【背景技術(shù)】
[0003]本節(jié)描述了可以采用的方法,但不一定是先前已經(jīng)被構(gòu)想或被采用的方法。因此,除非明確說明,否則本節(jié)中所描述的任何方法對本申請的權(quán)利要求來說都不是現(xiàn)有技術(shù),并且本節(jié)中所描述的任何方法不因為被包括在本節(jié)內(nèi)而被承認為是現(xiàn)有技術(shù)。
[0004]為了改善端用戶在瀏覽可通過廣域網(wǎng)(比如,互聯(lián)網(wǎng))被訪問的web頁面時的體驗,各種嘗試已經(jīng)被做出。如果用戶必須等待相當長的時間來查看所請求的web頁面,則用戶在查看web頁面時可能體驗到極大的失望。雖然已經(jīng)嘗試使用諸如預(yù)取、內(nèi)容加速等技術(shù)來改善對用戶設(shè)備的內(nèi)容遞送,但是與不愉快的網(wǎng)站體驗相關(guān)聯(lián)的大部分問題是由于接收web頁面和相關(guān)聯(lián)的web頁面內(nèi)容的客戶端設(shè)備所遇到的較差的渲染性能和/或不良的網(wǎng)絡(luò)條件。渲染性能不佳可以導(dǎo)致黑屏、瀏覽器資源“鎖定”或者可以導(dǎo)致用戶設(shè)備或操作系統(tǒng)“鎖定”或崩潰。
[0005]網(wǎng)站優(yōu)化已經(jīng)被嘗試,其中web頁面被提交到服務(wù)器進行一般地優(yōu)化,而不對web頁面被呈現(xiàn)給用戶的條件進行任何考慮。此外,web頁面在被服務(wù)器優(yōu)化之后沒有被改變;因此,同樣的web頁面被發(fā)送給每個用戶,而不管網(wǎng)絡(luò)條件如何。
【附圖說明】
[0006]參考了附圖,其中具有相同的參考字符標示的要素在全文中代表相同的要素,其中:
[0007]圖1示出根據(jù)示例實施例的具有邊緣設(shè)備的示例系統(tǒng),邊緣設(shè)備被配置為向客戶端設(shè)備提供特定于客戶端的web頁面渲染的優(yōu)化;
[0008]圖2示出根據(jù)示例實施例的圖1的邊緣設(shè)備的示例實現(xiàn);
[0009]圖3示出根據(jù)示例實施例的方法,該方法總結(jié)可被圖1的邊緣設(shè)備實施的示例優(yōu)化操作;
[0010]圖4示出根據(jù)示例實施例,在圖3的方法中可由邊緣設(shè)備實施的示例優(yōu)化操作;
[0011]圖5示出根據(jù)示例實施例的第一示例方法,該第一示例方法關(guān)于由圖1的邊緣設(shè)備針對客戶端設(shè)備的web頁面渲染進行的客戶端專用優(yōu)化;
[0012]圖6示出根據(jù)示例實施例的第二示例方法,該第二示例方法關(guān)于由圖1的邊緣設(shè)備針對客戶端設(shè)備的web頁面渲染進行的客戶端專用優(yōu)化;
[0013]圖7示出根據(jù)示例實施例的第三示例方法,該第三示例方法關(guān)于由圖1的邊緣設(shè)備針對客戶端設(shè)備的web頁面渲染對進行的客戶端專用優(yōu)化。
【具體實施方式】
[0014]盤覽
[0015]在一個實施例中,一種方法包括:由邊緣網(wǎng)絡(luò)中的邊緣設(shè)備從客戶端設(shè)備接收針對由網(wǎng)絡(luò)服務(wù)器經(jīng)由廣域網(wǎng)提供的web頁面的請求,邊緣網(wǎng)絡(luò)為客戶端設(shè)備提供用于訪問廣域網(wǎng)的接入網(wǎng)絡(luò);由邊緣設(shè)備檢測影響客戶端設(shè)備對web頁面的渲染性能的規(guī)定的條件;邊緣設(shè)備動態(tài)地將web頁面優(yōu)化到經(jīng)優(yōu)化的web頁面以用于客戶端設(shè)備對web頁面的經(jīng)優(yōu)化的渲染。
[0016]示例實施例
[0017]特定實施例可以基于檢測影響客戶端設(shè)備對web頁面的渲染性能的規(guī)定的條件來自動且動態(tài)地對客戶端設(shè)備的web頁面渲染進行優(yōu)化。例如,特定實施例使得邊緣服務(wù)器(在本文中稱為“邊緣設(shè)備”的機器中被實施)能夠基于獲得關(guān)于客戶端設(shè)備和/或關(guān)于網(wǎng)絡(luò)狀況(該網(wǎng)絡(luò)狀況僅在鄰近客戶端設(shè)備所使用的接入網(wǎng)絡(luò)(即,邊緣網(wǎng)絡(luò))處可用)的信息來檢測規(guī)定的條件。特定實施例可以基于修改web頁面(包括web頁面內(nèi)的web頁面元素)、基于所檢測到的規(guī)定的條件來動態(tài)優(yōu)化客戶端設(shè)備的web頁面渲染。
[0018]此外,特定實施例使得邊緣設(shè)備能夠持續(xù)監(jiān)控客戶端設(shè)備、網(wǎng)絡(luò)狀況(包括客戶端設(shè)備的網(wǎng)絡(luò)連接質(zhì)量和/或提供web頁面內(nèi)容的(一個或多個)網(wǎng)絡(luò)服務(wù)器的網(wǎng)絡(luò)連接質(zhì)量)、客戶端設(shè)備的渲染性能等,以判定針對客戶端設(shè)備的最適當?shù)膬?yōu)化。此外,邊緣設(shè)備可以從客戶端設(shè)備接收關(guān)于客戶端設(shè)備的渲染速度的“反饋”,使得邊緣設(shè)備能夠執(zhí)行啟發(fā)式多變量優(yōu)化,該啟發(fā)式多變量優(yōu)化識別將被實施的最適當?shù)膬?yōu)化操作,以便提供經(jīng)優(yōu)化的web頁面用于客戶端設(shè)備的web頁面的經(jīng)優(yōu)化的渲染。因此,啟發(fā)式多變量優(yōu)化可以包括識別不應(yīng)當被執(zhí)行的優(yōu)化,例如由于判定相關(guān)聯(lián)的被引入的處理延遲將超過客戶端設(shè)備的web頁面的渲染性能,或者規(guī)定的優(yōu)化操作將進一步惡化客戶端設(shè)備的web頁面的渲染性能。
[0019]因此,特定實施例相對于客戶端設(shè)備的物理位置為web頁面的渲染提供本地優(yōu)化,同時確保本地優(yōu)化不對web頁面的渲染引入任何延遲。
[0020]圖1不出根據(jù)實施例的具有邊緣設(shè)備10的不例系統(tǒng)5,邊緣設(shè)備10被配置為向客戶端設(shè)備提供特定于客戶端的web頁面渲染的優(yōu)化。裝置(即,機器、邊緣設(shè)備)10可以在邊緣網(wǎng)絡(luò)12中被實現(xiàn),并且可以被配置為從客戶端設(shè)備16接收針對web頁面18 (該web頁面18由web服務(wù)器設(shè)備(即,機器)20經(jīng)由廣域網(wǎng)22提供)的請求。
[0021]根據(jù)示例實施例,包括邊緣設(shè)備的邊緣網(wǎng)絡(luò)12可以被實現(xiàn)為“霧計算網(wǎng)絡(luò)架構(gòu)”或“霧計算”。霧計算網(wǎng)絡(luò)架構(gòu)12是高度虛擬化的平臺,它在端設(shè)備16和云計算數(shù)據(jù)中心(例如,經(jīng)由廣域網(wǎng)定位的云計算數(shù)據(jù)中心12)之間提供計算、存儲和網(wǎng)絡(luò)服務(wù)。例如,霧計算網(wǎng)絡(luò)架構(gòu)12可以包括分布式存儲設(shè)備24,用于存儲被緩存的web內(nèi)容、被存儲的用于內(nèi)容遞送系統(tǒng)的流媒體的媒體等。分布式存儲設(shè)備24可以被實現(xiàn)為物理機內(nèi)能夠執(zhí)行多種虛擬化服務(wù)(例如,虛擬化計算、存儲和網(wǎng)絡(luò)服務(wù))的虛擬化存儲服務(wù)器。術(shù)語“霧”指通常與云計算相關(guān)聯(lián)的虛擬化計算、存儲和網(wǎng)絡(luò)服務(wù),不同之處在于霧計算網(wǎng)絡(luò)架構(gòu)12更靠近客戶端設(shè)備16,類似于霧是接近地面的云。邊緣設(shè)備10可以被實現(xiàn)為用戶端處的無線路由器、輕型接入點(LWAPP)控制器、層4到層7交換機、服務(wù)提供商邊緣交換機、加利福尼亞州圣何塞的 Cisco System 市售的 Cisco Content Delivery System(CDS)中的設(shè)備等。
[0022]霧計算在邊緣網(wǎng)絡(luò)12中的部署還使得邊緣設(shè)備10能夠從客戶端設(shè)備16獲得實時連接和性能信息,客戶端設(shè)備16通過使用有線或無線數(shù)據(jù)網(wǎng)絡(luò)協(xié)議(包括層2媒體接入控制(MAC)地址和鏈路數(shù)據(jù)、互聯(lián)網(wǎng)協(xié)議(IP)地址和性能數(shù)據(jù)、唯一地向無線接入點標識客戶端設(shè)備的會話標識符等)支持無線接入。霧計算在邊緣網(wǎng)絡(luò)12中的部署還使得邊緣設(shè)備10 (或者邊緣網(wǎng)絡(luò)12中其它相關(guān)聯(lián)的邊緣設(shè)備)能夠監(jiān)控數(shù)據(jù)連接的變化(例如由于客戶端設(shè)備16的漫游、客戶端設(shè)備16改變物理層收發(fā)機等)。邊緣設(shè)備10還可以從客戶端設(shè)備請求關(guān)于客戶端設(shè)備16的性能的信息,包括客戶端設(shè)備16渲染web頁面的時間(HTTP頁面加載時間),如下面所描述的。
[0023]在一個示例中,考慮鄰近接入點(AP)的無線客戶端設(shè)備16c,并考慮邊緣設(shè)備10判定沒有網(wǎng)絡(luò)擁塞。還考慮邊緣設(shè)備10判定該客戶端設(shè)備16c是具有大顯示屏的PC/膝上型計算機。由于有足夠的帶寬來支持及時地傳輸web頁面18和它的所有對象,邊緣設(shè)備10中的處理器電路28可以推斷沒必要減小或壓縮圖形文件的大小,這種減小或壓縮通常導(dǎo)致較低的分辨率。相反,如果邊緣設(shè)備10中的處理器電路28識別出客戶端設(shè)備16為具有小的顯示屏幕(這種小的顯示屏幕不能以令人滿意的方式向用戶顯示高分辨率的圖形(比如,在任何時間僅圖形的一小部分可以被顯示)的移動設(shè)備16a(比如,智能電話)),則邊緣設(shè)備10可以減小顯示分辨率。
[0024]現(xiàn)在考慮已經(jīng)漫游到接收不良區(qū)域的無線PC/膝上型計算機設(shè)備16c,這導(dǎo)致接入點數(shù)據(jù)率的降低。還考慮這種信息被發(fā)送到為用戶服務(wù)的邊緣設(shè)備10。在這點上,為了及時向用戶遞送web頁面和它的對象,邊緣設(shè)備10可以選擇向客戶端設(shè)備16c發(fā)送分辨率較低的圖形。因此,邊緣設(shè)備10可以在網(wǎng)絡(luò)條件不利(比如,網(wǎng)絡(luò)擁塞或無線接收不良)時消除用戶對被緩慢下載的圖形的等待。
[0025]因此,邊緣設(shè)備10可以基于與客戶端設(shè)備16相關(guān)聯(lián)的條件(包括改善的或惡化的數(shù)據(jù)網(wǎng)絡(luò)連接、基于網(wǎng)絡(luò)的流量擁塞等)檢測所有的服務(wù)質(zhì)量(QoS)。邊緣設(shè)備10還可以檢測類似的、與從web服務(wù)器20 (或提供web頁面的不同對象的多個web服務(wù)器)接收HTML web頁面和相關(guān)聯(lián)的web對象相關(guān)聯(lián)的基于網(wǎng)絡(luò)的QoS條件。因此,邊緣設(shè)備10檢測到的所有的基于網(wǎng)絡(luò)的條件可以被用于為特定的客戶端設(shè)備16提供定制的經(jīng)優(yōu)化的web頁面18’。
[0026]雖然客戶端設(shè)備可以包括有線或無線客戶端設(shè)備16 (比如,智能電話16a、無線智能平板16b、無線膝上型計算機16c、有線計算機等),但是邊緣網(wǎng)絡(luò)12也可以為其它的基于傳感器的設(shè)備(比如,嵌入式系統(tǒng)和傳感器、傳感器感知車輛、傳感器感知機器人、一般被稱為“物聯(lián)網(wǎng)”的其它傳感器感知機器等)提供霧計算服務(wù)。
[0027]圖2示出根據(jù)示例實施例的圖1的邊緣設(shè)備10的示例實現(xiàn)方式。邊緣網(wǎng)絡(luò)12中的每個邊緣設(shè)備10可以包括網(wǎng)絡(luò)接口電路26、處理器電路28和非暫態(tài)有形存儲器電路30。邊緣設(shè)備10中的處理器電路28被配置為檢測可以影響客戶端設(shè)備16的web頁面18的渲染性能(例如,加強客戶端設(shè)備16的渲染性能或降低客戶端設(shè)備的渲染性能)的規(guī)定的條件。規(guī)定的條件可以包括以下至少任意一種:與邊緣網(wǎng)絡(luò)12