亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

網(wǎng)絡(luò)訪問(wèn)性能增強(qiáng)的制作方法

文檔序號(hào):12287958閱讀:166來(lái)源:國(guó)知局
網(wǎng)絡(luò)訪問(wèn)性能增強(qiáng)的制作方法與工藝

本申請(qǐng)基于并且獲得2014年5月13日提交的美國(guó)臨時(shí)專利申請(qǐng)No.61/992,761的權(quán)益。上述列出的申請(qǐng)的全部?jī)?nèi)容通過(guò)引用并入本文。

附圖說(shuō)明

圖1是根據(jù)本發(fā)明的實(shí)施方式的網(wǎng)絡(luò)。

圖2是根據(jù)本發(fā)明的實(shí)施方式的數(shù)據(jù)推送過(guò)程。

圖3是根據(jù)本發(fā)明的實(shí)施方式的高速緩存同步過(guò)程。

圖4A至圖4E是根據(jù)本發(fā)明的實(shí)施方式的cookie同步過(guò)程。

圖5是根據(jù)本發(fā)明的實(shí)施方式的資源評(píng)估過(guò)程。

具體實(shí)施方式

本文描述的系統(tǒng)和方法可以對(duì)網(wǎng)絡(luò)訪問(wèn)(web access)提供速度提升和壓縮增強(qiáng)。通過(guò)預(yù)測(cè)用戶將請(qǐng)求什么文件并在所述文件被請(qǐng)求之前將其推送到客戶端,可以增強(qiáng)壓縮代理解決方案的性能。這可以避免從客戶端通過(guò)代理到達(dá)服務(wù)器的額外的往返行程,從而提高速度。

單個(gè)網(wǎng)頁(yè)可以包括多個(gè)文件,例如HTML文件、圖像文件、音頻/視頻文件等。當(dāng)網(wǎng)絡(luò)瀏覽器(web browser)獲取頁(yè)面時(shí),其可以通過(guò)多個(gè)請(qǐng)求來(lái)獲取頁(yè)面,例如對(duì)于包含在頁(yè)面中的每個(gè)文件提出一個(gè)請(qǐng)求。在高延遲網(wǎng)絡(luò)(例如移動(dòng)網(wǎng)絡(luò))中,請(qǐng)求響應(yīng)所花費(fèi)的時(shí)間可能是加載頁(yè)面所花費(fèi)時(shí)間的很大一部分??梢哉?qǐng)求許多文件,并且在許多情況下,在等待特定資源(例如JavaScript文件)時(shí)阻止加載。

這里描述的系統(tǒng)和方法可以包括確定推送哪些資源以優(yōu)化用戶體驗(yàn)。通過(guò)在代理上加載特定頁(yè)面時(shí)記錄其他用戶提出了什么網(wǎng)絡(luò)請(qǐng)求,本文描述的系統(tǒng)和方法可以預(yù)測(cè)特定用戶將加載頁(yè)面的什么部分。因此,預(yù)測(cè)的要素可以甚至在客戶端請(qǐng)求它們之前被推送。

本文所描述的系統(tǒng)和方法可以包括一個(gè)或多個(gè)計(jì)算機(jī)。計(jì)算機(jī)可以是能夠執(zhí)行算術(shù)運(yùn)算和/或邏輯運(yùn)算的任何一個(gè)或多個(gè)可編程機(jī)器。在一些實(shí)施方式中,計(jì)算機(jī)可以包括處理器、存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)設(shè)備和/或其他公知的或新穎的部件。這些部件可以物理地連接或通過(guò)網(wǎng)絡(luò)或無(wú)線鏈路連接。計(jì)算機(jī)還可以包括可以指導(dǎo)上述部件的操作的軟件。計(jì)算機(jī)可以用相關(guān)領(lǐng)域的普通技術(shù)人員常用的術(shù)語(yǔ)提及,諸如服務(wù)器、PC、移動(dòng)設(shè)備、路由器、交換機(jī)、數(shù)據(jù)中心、分布式計(jì)算機(jī)和其他術(shù)語(yǔ)。計(jì)算機(jī)可以促進(jìn)用戶和/或其他計(jì)算機(jī)之間的通信,可以提供數(shù)據(jù)庫(kù),可以執(zhí)行數(shù)據(jù)的分析和/或轉(zhuǎn)換,和/或執(zhí)行其他功能。本領(lǐng)域普通技術(shù)人員將理解,這里使用的那些術(shù)語(yǔ)是可互換的,并且可以使用能夠執(zhí)行所描述的功能的任何計(jì)算機(jī)。例如,雖然術(shù)語(yǔ)“服務(wù)器”可以出現(xiàn)在以下說(shuō)明書(shū)中,但是所公開(kāi)的實(shí)施方式不限于服務(wù)器。

計(jì)算機(jī)可以經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)鏈接到彼此。網(wǎng)絡(luò)可以是任何多個(gè)完全或部分互連的計(jì)算機(jī),其中一些或所有計(jì)算機(jī)能夠彼此通信。普通技術(shù)人員將理解,在一些情況下計(jì)算機(jī)之間的連接可以是有線的(例如,經(jīng)由以太網(wǎng)、同軸、光學(xué)或其他的有線連接),或者可以是無(wú)線的(例如,經(jīng)由Wi-Fi、WiMax或其他無(wú)線連接)。計(jì)算機(jī)之間的連接可以使用任何協(xié)議,包括面向連接的協(xié)議(例如TCP)或無(wú)連接協(xié)議(例如UDP)。至少兩個(gè)計(jì)算機(jī)可以交換數(shù)據(jù)的任何連接可以是網(wǎng)絡(luò)的基礎(chǔ)。

圖1是根據(jù)本發(fā)明的實(shí)施方式的網(wǎng)絡(luò)100。配備網(wǎng)絡(luò)瀏覽器的計(jì)算機(jī)(諸如移動(dòng)設(shè)備(例如,客戶端120))可以與代理服務(wù)器110通信,以便訪問(wèn)由一個(gè)或多個(gè)服務(wù)器130托管的網(wǎng)絡(luò)內(nèi)容(web content)。雖然移動(dòng)設(shè)備被用作示例,但是由這里描述的系統(tǒng)和方法所提供的增強(qiáng)可以應(yīng)用于任何配備瀏覽器的設(shè)備??蛻舳?20可以經(jīng)由任何網(wǎng)絡(luò)(例如3G或4G網(wǎng)絡(luò)或諸如Wi-Fi網(wǎng)絡(luò)的局域網(wǎng))與代理服務(wù)器110通信??蛻舳?20和代理服務(wù)器110之間的通信可以使用協(xié)議,該協(xié)議允許從代理服務(wù)器110到客戶端120的未被請(qǐng)求的數(shù)據(jù)推送,該協(xié)議例如為SPDY協(xié)議。代理服務(wù)器110可以經(jīng)由任何網(wǎng)絡(luò)(例如因特網(wǎng)或私有企業(yè)網(wǎng)絡(luò))與服務(wù)器130通信。代理服務(wù)器110和服務(wù)器130之間的通信可以使用允許在代理服務(wù)器110和服務(wù)器130之間進(jìn)行數(shù)據(jù)傳送的任何協(xié)議??蛻舳?20可以請(qǐng)求顯示由服務(wù)器130托管的網(wǎng)頁(yè)。如下文將更詳細(xì)地描述,代理服務(wù)器110可以接收該請(qǐng)求,從服務(wù)器130檢索網(wǎng)頁(yè)內(nèi)容,并將網(wǎng)頁(yè)傳送給客戶端120。該操作可以包括由于與網(wǎng)站交互而預(yù)測(cè)客戶端120將請(qǐng)求什么文件并且在所述文件在被請(qǐng)求之前而將所述文件推送到客戶端120。

代理服務(wù)器110可以服務(wù)于許多客戶端120,并且可以記錄關(guān)于以下內(nèi)容的信息:客戶端120請(qǐng)求什么頁(yè)面,以及由于初始頁(yè)面請(qǐng)求,客戶端120提出針對(duì)附加數(shù)據(jù)的什么內(nèi)聯(lián)請(qǐng)求。使用該信息,代理服務(wù)器110可以提前確定它可以從服務(wù)器130請(qǐng)求什么資源,并且盡可能早地將那些資源推送到客戶端120。因此,由于在客戶端120上的JavaScript執(zhí)行而被請(qǐng)求的資源可以被提前推送,例如,甚至在JavaScript已經(jīng)被執(zhí)行之前推送。

為了確定什么資源可以推送到客戶端120,客戶端120上的cookie和代理服務(wù)器110上的cookie可以同步。注意,可以在客戶端120上局部地修改cookie,例如通過(guò)JavaScript修改cookie。關(guān)于客戶端120的瀏覽器高速緩存的內(nèi)容的信息也可以與代理服務(wù)器110同步,以確保已經(jīng)在客戶端120上的高速緩存中的資源不被推送。推送冗余數(shù)據(jù)會(huì)浪費(fèi)帶寬。

如果發(fā)現(xiàn)推送到客戶端120的特定資源最終未被網(wǎng)頁(yè)使用,則該信息可以被發(fā)送到代理服務(wù)器110,使得該資源可以從在未來(lái)的請(qǐng)求中推送的資源的列表中移除。

如上文指出,網(wǎng)頁(yè)的許多要素可以由JavaScript執(zhí)行來(lái)調(diào)用。雖然可以容易地識(shí)別用于推送的一些網(wǎng)頁(yè)要素(例如,HTML頁(yè)面,圖形等),但是由JavaScript執(zhí)行所涉及的要素在不執(zhí)行JavaScript的情況下可以不進(jìn)行簡(jiǎn)單地解析。JavaScript可以在代理服務(wù)器110上執(zhí)行,但是這可能導(dǎo)致存儲(chǔ)器約束問(wèn)題、在客戶端120和代理服務(wù)器110之間同步執(zhí)行狀態(tài)的問(wèn)題等。因此,通常由客戶端120獲取的網(wǎng)頁(yè)中的資源可以隨著時(shí)間被記錄,并且該數(shù)據(jù)可以用于在客戶端120請(qǐng)求之前推測(cè)性地將這些公共資源推送到客戶端120。

圖2是根據(jù)本發(fā)明的實(shí)施方式的數(shù)據(jù)推送過(guò)程200。代理服務(wù)器110可以對(duì)每個(gè)主URL在數(shù)據(jù)庫(kù)中創(chuàng)建條目210。這些條目可以包括關(guān)于以下內(nèi)容的信息:客戶端120對(duì)該頁(yè)面請(qǐng)求什么內(nèi)聯(lián)URL以及由任何客戶端120請(qǐng)求內(nèi)聯(lián)URL多少次。雖然在該示例中討論了內(nèi)聯(lián)URL,但是對(duì)在頁(yè)面的文檔對(duì)象模型(DOM)樹(shù)中發(fā)現(xiàn)的任何URL可以執(zhí)行該過(guò)程200。注意,URL可以表示任何數(shù)據(jù)(例如,HTML、樣式表,JavaScript要素、多媒體文件等)。當(dāng)客戶端120加載頁(yè)面時(shí),代理服務(wù)器110可以在數(shù)據(jù)庫(kù)中執(zhí)行查找220。如果數(shù)據(jù)庫(kù)條目表明通常在相同頁(yè)面的其他頁(yè)面加載中獲取一資源230,則代理服務(wù)器110可以確定客戶端120可能需要該資源。因此,代理服務(wù)器110可以搶先獲得并隨后推送該資源240。該過(guò)程200可以利用以下事實(shí):每當(dāng)瀏覽器發(fā)出對(duì)URL的請(qǐng)求時(shí),瀏覽器可以針對(duì)該URL的有效副本的存在檢查本地高速緩存。如果高速緩存中有副本,則瀏覽器可以使用該副本而不從其遠(yuǎn)程源請(qǐng)求該URL。推送資源240可以將資源放置到瀏覽器高速緩存中。因此,瀏覽器可以識(shí)別高速緩存中的該資源并加載它,而不向網(wǎng)絡(luò)100發(fā)出請(qǐng)求。

如果客戶端120最終不需要該資源,則客戶端120可以向代理服務(wù)器110發(fā)送包含不需要該資源的信息的消息250。代理服務(wù)器110可以將該信息記錄在數(shù)據(jù)庫(kù)中以便提高下一頁(yè)面加載中的推送準(zhǔn)確度260。圖5是根據(jù)本發(fā)明的實(shí)施方式的資源評(píng)估過(guò)程500。例如,通過(guò)解釋頁(yè)面描述語(yǔ)言(例如,HTML或CSS)并執(zhí)行存儲(chǔ)在從服務(wù)器130請(qǐng)求的文件(例如,網(wǎng)絡(luò)資源)中的代碼(例如,JavaScript),客戶端120可以顯示網(wǎng)頁(yè)510。解釋和來(lái)自上述文件的代碼的執(zhí)行可以使客戶端120從服務(wù)器130請(qǐng)求附加的網(wǎng)絡(luò)資源,這反過(guò)來(lái)會(huì)需要進(jìn)一步的解釋或代碼執(zhí)行。如本文所討論的,這些資源中的一些或全部(包括未請(qǐng)求的資源)可以通過(guò)代理服務(wù)器110被推送到客戶端120。

客戶端120可以記錄在網(wǎng)頁(yè)的顯示中所使用的所有資源520。通過(guò)將在顯示頁(yè)面期間所記錄的資源的列表和從代理服務(wù)器110到達(dá)的作為推送資源的資源的列表進(jìn)行比較,客戶端120可以創(chuàng)建在顯示頁(yè)面的過(guò)程期間被推送但未使用的資源的列表530。客戶端120可以向代理服務(wù)器110發(fā)送包含被推送但未使用的資源的標(biāo)識(shí)符的消息540。代理服務(wù)器110可以將接收到的關(guān)于未使用資源的信息記錄在數(shù)據(jù)庫(kù)中550。當(dāng)代理服務(wù)器110構(gòu)建用于在相同頁(yè)面的下一次加載期間推送的資源的列表時(shí),所識(shí)別的未使用資源可以不被認(rèn)為是待推送到客戶端120的候選者。

代理服務(wù)器110可以壓縮或重新壓縮由網(wǎng)絡(luò)服務(wù)器提供的數(shù)據(jù)。代理服務(wù)器110可以使用客戶端120的高速緩存作為增量(Delta)編碼的字典庫(kù)。

當(dāng)代理服務(wù)器110即將把新資源推送到客戶端120時(shí),它可以首先檢查在客戶端120的高速緩存中是否存在類似的資源。相似性度量可以根據(jù)文件大小、CRC校驗(yàn)和、Rabin指紋、文本比較、VCDIFF或其他來(lái)表達(dá)。如果存在這樣的資源,則代理服務(wù)器110可以僅發(fā)送高速緩存資源和新資源之間的差異??蛻舳?20可以使用該高速緩存作為用于增量編碼的字典庫(kù)來(lái)解碼該差異。

圖3是根據(jù)本發(fā)明的實(shí)施方式的高速緩存同步過(guò)程300。為了避免推送已經(jīng)在客戶端120的高速緩存中的數(shù)據(jù),關(guān)于高速緩存的內(nèi)容的信息可以從客戶端120同步到代理服務(wù)器110。在客戶端120的瀏覽器啟動(dòng)時(shí),高速緩存數(shù)據(jù)可以被發(fā)送到代理服務(wù)器110。例如,在一些實(shí)施方式中,對(duì)于每個(gè)高速緩存URL的4字節(jié)CRC校驗(yàn)和可以被發(fā)送到代理服務(wù)器110。在瀏覽器會(huì)話期間,客戶端120可以發(fā)送增量更新(例如,通過(guò)生成表示被移除或添加到本地高速緩存的每個(gè)URL的4字節(jié)校驗(yàn)和并發(fā)送校驗(yàn)和的列表),以通知代理服務(wù)器110:瀏覽器高速緩存的內(nèi)容可能已經(jīng)以對(duì)于代理服務(wù)器110而言可不引起注意的方式改變(例如,客戶端120繞過(guò)代理服務(wù)器110加載網(wǎng)絡(luò)資源)。當(dāng)代理服務(wù)器110即將把項(xiàng)目推送到客戶端120時(shí)320,代理服務(wù)器110可以針對(duì)校驗(yàn)和來(lái)驗(yàn)證該項(xiàng)目,以查看客戶端120是否已經(jīng)聲明在其高速緩存中具有該項(xiàng)目330。如果該項(xiàng)目在高速緩存中340,則該項(xiàng)目可以不被推送。然而,如果該項(xiàng)目不在高速緩存330中,則代理服務(wù)器110可以推送該項(xiàng)目350。

在一些實(shí)施方式中,代理服務(wù)器110上的同步數(shù)據(jù)可能不精確地表示客戶端120的數(shù)據(jù),因?yàn)樵摂?shù)據(jù)僅用于避免推送過(guò)多的資源。此外,如果資源不夠頻繁地推送,則客戶端120仍可以以正常方式請(qǐng)求該資源。

圖4A至圖4E示出了根據(jù)本發(fā)明的實(shí)施方式的cookie同步過(guò)程400??蛻舳?20可以存儲(chǔ)與因特網(wǎng)域相關(guān)聯(lián)的cookie的列表,其中,從該因特網(wǎng)域接收所述cookie。列表可以包括命令客戶端120存儲(chǔ)cookie的域和針對(duì)其實(shí)際設(shè)置cookie的每個(gè)域。當(dāng)客戶端120向域請(qǐng)求資源時(shí),它可以附加過(guò)去與該域相關(guān)聯(lián)的cookie。代理服務(wù)器110可以獲得關(guān)于客戶端120上的cookie的信息,以幫助促進(jìn)數(shù)據(jù)推送過(guò)程200。例如,在頁(yè)面請(qǐng)求來(lái)自另一域的內(nèi)聯(lián)資源的情況下,該信息可以是有用的,因?yàn)閏ookie可以不是主要請(qǐng)求的一部分。許多網(wǎng)頁(yè)包括來(lái)自多個(gè)域的資源。在網(wǎng)絡(luò)請(qǐng)求除了所請(qǐng)求的網(wǎng)頁(yè)的主域之外還以不同的因特網(wǎng)域?yàn)槟繕?biāo)的情況下,為了使代理服務(wù)器110能夠以客戶端120的名義(即,基于上述處理,而不是作為明確的客戶端120請(qǐng)求的結(jié)果)發(fā)出推測(cè)性網(wǎng)絡(luò)請(qǐng)求,代理服務(wù)器110可以使用存儲(chǔ)在客戶端120的瀏覽器中的所有cookie的最新副本。

圖4B示出一個(gè)示例性場(chǎng)景,其中代理服務(wù)器110從客戶端120接收用于從第一服務(wù)器130A獲取URL的請(qǐng)求。該請(qǐng)求可以包含與第一服務(wù)器130A的域相關(guān)的cookie。此外,由于上述預(yù)取過(guò)程,代理服務(wù)器110可以決定從第二服務(wù)器130B請(qǐng)求額外的資源,因?yàn)榇矸?wù)器110預(yù)計(jì)客戶端120需要額外的資源。為了向第二服務(wù)器130B請(qǐng)求額外的資源,代理服務(wù)器可以使用其關(guān)于客戶端120上的cookie的知識(shí),從而它可以將與第二服務(wù)器130B的域相關(guān)的任何cookie添加到對(duì)第二服務(wù)器130B的搶先請(qǐng)求。

在初始連接或任何重新連接時(shí),存儲(chǔ)在客戶端120上的所有cookie可以與代理服務(wù)器110同步410(在重新連接時(shí),只有變化可以被發(fā)送到代理服務(wù)器110)。例如,在圖4C中,存儲(chǔ)在客戶端120上的來(lái)自example.com和opera.com的cookie可以被發(fā)送到代理服務(wù)器110。

當(dāng)服務(wù)器130設(shè)置cookie(例如,具有Set-Cookie HTTP報(bào)頭)時(shí),代理服務(wù)器110可以將該cookie添加到存儲(chǔ)在代理服務(wù)器110上的客戶端cookie列表420。例如,在圖4D中,get請(qǐng)求從客戶端120向代理服務(wù)器110發(fā)送和從代理服務(wù)器110向服務(wù)器130發(fā)送。服務(wù)器130可以用set_cookie命令響應(yīng)。該命令可以由代理服務(wù)器110接收并從代理服務(wù)器110發(fā)送到客戶端120。因此,代理服務(wù)器110和客戶端120都可以設(shè)置相同的cookie(例如,來(lái)自如所示出的test.com)。

當(dāng)客戶端120使用JavaScript設(shè)置cookie時(shí),其可以向代理服務(wù)器110發(fā)送命令,例如set_cookie命令,從而代理服務(wù)器110知道添加的cookie而不提出HTTP請(qǐng)求,并且可以將它們添加到列表420。例如,在圖4E中,客戶端120本地生成(例如,通過(guò)執(zhí)行JavaScript)set_cookie命令。客戶端120可以將該命令發(fā)送到代理服務(wù)器110,因此代理服務(wù)器110可以設(shè)置相同的cookie(例如,對(duì)于如所示出的test.com)。

當(dāng)代理服務(wù)器110將內(nèi)容推送到客戶端120時(shí)430,其可以包括cookie信息。例如,代理服務(wù)器110可以發(fā)送包含cookie的校驗(yàn)和的x-ov報(bào)頭??蛻舳?20可以使用該報(bào)頭來(lái)驗(yàn)證在預(yù)取時(shí)是否使用了正確的cookie 440。如果驗(yàn)證成功450,則客戶端120可以接受推送的數(shù)據(jù)460。如果驗(yàn)證失敗450,則客戶端可以丟棄流470并直接從服務(wù)器130獲取資源。

雖然上面已經(jīng)描述了各種實(shí)施方式,但是應(yīng)當(dāng)理解,它們是作為示例提出而不是限制。對(duì)于相關(guān)領(lǐng)域的技術(shù)人員顯而易見(jiàn)的是,在不脫離精神和范圍的情況下,可以在形式和細(xì)節(jié)上進(jìn)行各種變化。事實(shí)上,在閱讀了以上描述之后,相關(guān)領(lǐng)域的技術(shù)人員將明白如何實(shí)現(xiàn)替選實(shí)施方式。

此外,應(yīng)當(dāng)理解,強(qiáng)調(diào)功能和優(yōu)點(diǎn)的任何附圖僅出于示例目的呈現(xiàn)。所公開(kāi)的方法和系統(tǒng)分別是足夠靈活的和可配置的,使得它們可以以與所示的方式不同的方式使用。

盡管在說(shuō)明書(shū)、權(quán)利要求書(shū)和附圖中可以經(jīng)常使用術(shù)語(yǔ)“至少一個(gè)”,但是術(shù)語(yǔ)“一”、“該”、“所述”等也在說(shuō)明書(shū)、權(quán)利要求書(shū)和附圖中表示“至少一個(gè)”或“所述至少一個(gè)”。

最后,申請(qǐng)人的意圖是,僅包括表述“用于...的裝置”或“用于...的步驟”的權(quán)利要求根據(jù)35U.S.C.112的第6段進(jìn)行解釋。沒(méi)有明確包括表述“用于...的裝置”或“用于...的步驟”的權(quán)利要求不通過(guò)35U.S.C.112的第6段進(jìn)行解釋。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1