專利名稱:從響應(yīng)匯聚代理對請求片段的派發(fā)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及Web應(yīng)用的內(nèi)容組合領(lǐng)域,更具體地,涉及Web應(yīng)用的 邊緣化(edgified)內(nèi)容分配。
背景技術(shù):
Web應(yīng)用的內(nèi)容組合指的是在計算機通信網(wǎng)絡(luò)上對標記語言指定內(nèi) 容的創(chuàng)建、配置和分配。通常以Web瀏覽器中可見的頁面形式實現(xiàn)的標記 語言內(nèi)容一般包括標記語言格式的文本、圖像、視聽元素等,并且所述標 記語言內(nèi)容可根據(jù)需要分配給請求內(nèi)容的瀏覽器。在接收時,內(nèi)容瀏覽器 可呈現(xiàn)標記語言指定內(nèi)容,以通過終端用戶瀏覽和交互。
在最一般的情況下,內(nèi)容服務(wù)器可根據(jù)需要向請求內(nèi)容的瀏覽器提供 標記。然而,為了內(nèi)容體驗的更高需求,可以在服務(wù)器集群中配置多個內(nèi) 容服務(wù)器,以均衡向內(nèi)容請求終端用戶提供基本響應(yīng)的負載。在后一情況 下,服務(wù)器集群保持集中控制。結(jié)果,對于地理上分散的終端用戶,由于 對內(nèi)容進行組合以從遠處向終端用戶傳遞,所以會出現(xiàn)相當大的延遲。
邊緣化內(nèi)容分配指的是用于解決在地理上M的內(nèi)容消費者的問題的 技術(shù)族。在邊緣化的內(nèi)容分配網(wǎng)絡(luò)中,通過最接近M遞的網(wǎng)絡(luò)邊緣的內(nèi) 容消費者根據(jù)需要將內(nèi)容推進到網(wǎng)絡(luò)邊緣。邊緣化技術(shù)已經(jīng)證明了很高的 有效性,并且在很大程度上為分配內(nèi)容的大部分內(nèi)容發(fā)布商形成了內(nèi)容分 配策略的組成部分。
在長時間段內(nèi)沒有改變的內(nèi)容稱為靜態(tài)內(nèi)容。靜態(tài)內(nèi)容可容易地被緩 存,以經(jīng)由邊緣化內(nèi)容傳遞網(wǎng)絡(luò)向終端用戶快速傳遞。相反,基于動態(tài)的 內(nèi)容、頻繁更新的內(nèi)容和個性化或定制的內(nèi)容不能容易地被緩存,因為這些內(nèi)容具有變化特征。通常,在原始服務(wù)器中的數(shù)據(jù)中心中結(jié)合包含服務(wù) 器頁面的數(shù)據(jù)庫來創(chuàng)建動態(tài)內(nèi)容,并且應(yīng)用服務(wù)器被配置為實時組合先前 元素,以生成動態(tài)變化的頁面。
生成動態(tài)頁面需要在原始服務(wù)器進行基本處理,所述原始服務(wù)器必須 對數(shù)據(jù)格式化并且向瀏覽器傳遞。由于為重新生成整個頁面所花費的處理 負擔(dān)可能很高,所以在重新處理每個內(nèi)容請求時,生成動態(tài)頁面的處理可 能是特別的資源消耗。由于原始服務(wù)器變得非常重要,所以可能發(fā)生瓶頸, 導(dǎo)致較慢的下載或崩潰,并且必須配置數(shù)目不斷增加的服務(wù)器和負載均衡 器以保持均衡。
Edge Side Includes (ESI)技術(shù)是萬維網(wǎng)聯(lián)盟(W3C)接受的標準, 其描述了從原始服務(wù)器向更接近于終端用戶的多個邊緣服務(wù)器推進動態(tài)內(nèi) 容的方式。從原始服務(wù)器將內(nèi)容組合的負擔(dān)卸載到網(wǎng)絡(luò)邊緣的代理服務(wù)器 增加了內(nèi)容下載速度,限制了崩潰,因為原始服務(wù)器不需要在每次更新頁 面元素時重新設(shè)計頁面一一即沒有成^處理大量并發(fā)用戶的處理。
通常,在片段之間的相互關(guān)系略微影響頁面的組合時,ESI證明了在 內(nèi)容片段的組合頁面的效率。然而,更復(fù)雜的頁面包括相互依賴的片段。 通過相互依賴,表示一個片段的呈現(xiàn)可取決于另一片段的先前結(jié)果。在這 種情形下,完整頁面的呈現(xiàn)可受到依次解決依賴的需求的阻礙。因此,片 段組合的順序特征可失去在網(wǎng)絡(luò)邊緣使用ESI時實現(xiàn)的任意優(yōu)點。
發(fā)明內(nèi)容
根據(jù)第一方面,提供一種邊緣化內(nèi)容分配數(shù)據(jù)處理系統(tǒng),包括原始 服務(wù)器,其被配置為提供由動態(tài)配置的片段形成的標記指定頁面;代理服 務(wù)器,其通過計算機通信網(wǎng)絡(luò)可通信地鏈接至所述原始服務(wù)器,并且代表 所述原始服務(wù)器用作在網(wǎng)絡(luò)邊緣的代理;以及依賴引擎,其耦合至所述代 理服務(wù)器,并且所述依賴引擎包括能夠執(zhí)行以下操作的程序代碼根據(jù)所 述片段之間的相互依賴關(guān)系對所述片段分組以及依次加載片段組以滿足相 互依賴關(guān)系。
5根據(jù)優(yōu)選實施例,所述依賴引擎的程序代碼還能夠根據(jù)所述原始服務(wù) 器提供的依賴數(shù)據(jù)確定相互依賴關(guān)系。
根據(jù)另一方面,提供一種動態(tài)頁面組合方法,包括識別代表原始服 務(wù)器組合到動態(tài)頁面中的片段選擇;基于在所述片段中的被選擇片段之間 的依賴關(guān)系將所述片段分成片段組;以預(yù)定順序?qū)⑺銎谓M匯聚成所述 動態(tài)頁面,以滿足所述依賴關(guān)系;以及代表所述原始服務(wù)器向內(nèi)容請求客 戶端提供所述頁面。
根據(jù)優(yōu)選實施例,從為了片段的選擇而限定依賴關(guān)系的原始服務(wù)器接 收依賴數(shù)據(jù)。
優(yōu)選地,基于在所述片段中的被選擇片段之間的依賴關(guān)系將所述片段 分成片段組的步驟包括將片段的選擇中的片段分成片段組,以識別在所
選棒中的那些片段。優(yōu)選地,以預(yù)定順序?qū)⑺銎谓M匯聚成所述動態(tài)頁 面,以滿足所述依賴關(guān)系的步驟包括并發(fā)地提取和匯聚在片段組中的每 個片段。
根據(jù)另一方面,提供一種計算機程序產(chǎn)品,包括以用于動態(tài)頁面組合 的計算機可用程序代碼實現(xiàn)的計算機可用介質(zhì),所述計算機程序產(chǎn)品包括 計算機可用程序代碼,用于識別代表原始服務(wù)器組合到動態(tài)頁面中的片段 選擇;計算機可用程序代碼,用于基于在所述片段的選擇部分之間的依賴 關(guān)系將所述片段分成片段組;計算機可用程序代碼,用于以預(yù)定順序?qū)⑺?述片段組匯聚到所述動態(tài)頁面中,以滿足所述依賴關(guān)系;以及計算機可用 程序代碼,用于代表所述原始服務(wù)器向內(nèi)容請求客戶端提供所述頁面。
現(xiàn)在,僅通過示例參照附圖描述本發(fā)明的優(yōu)選實施例 圖1是根據(jù)本發(fā)明優(yōu)選實施例的被配置為從響應(yīng)匯聚代理派發(fā)請求片 段的邊緣化內(nèi)容分配數(shù)據(jù)處理系統(tǒng)的示意性示圖;以及
圖2是示出才艮據(jù)本發(fā)明優(yōu)選實施例從響應(yīng)匯聚代理傳遞請求片段的處
6理的流-呈圖。 M實施方式
本發(fā)明的實施例提供一種方法、系統(tǒng)和計算機程序產(chǎn)品,用于從響應(yīng) 匯聚代理派發(fā)請求片段。根據(jù)本發(fā)明實施例,可確定用于動態(tài)組合頁面中 的片段的依賴信息,并將其提供至邊緣化網(wǎng)絡(luò)中的代理服務(wù)器。與代理服 務(wù)器耦合的依賴引擎可使用依賴信息對平行組中的每個片段的負載排序, 在所述平行組中按照順序適用于保證依賴片段的依賴關(guān)系的存在,以及通 過可能的并行片段負載提高性能。
在進一步示圖中,圖1是根據(jù)本發(fā)明優(yōu)選實施例的被配置為從響應(yīng)匯
聚代理派發(fā)請求片段的邊緣化內(nèi)容分配數(shù)據(jù)處理系統(tǒng)的示意性示圖。該系
統(tǒng)可包括原始服務(wù)器125,其被配置為在計算機通信網(wǎng)絡(luò)140上向一個或 多個內(nèi)容請求客戶端120提供被請求的內(nèi)容。為了提高可向內(nèi)容請求客戶 端120傳遞內(nèi)容的速度,原始服務(wù)器125可以耦合至在計算機通信網(wǎng)絡(luò)140 的邊緣的代理服務(wù)器130。代理服務(wù)器130可被配置為代表原始服務(wù)器120 向內(nèi)容請求客戶端120提供所請求的內(nèi)容。
特別地,代理服務(wù)器130可被配置為對動態(tài)頁面進行組合,以響應(yīng)于 來自內(nèi)容請求客戶端120的內(nèi)容請求向內(nèi)容請求客戶端120傳遞。動態(tài)頁 面可包括通過一個或多個片段源150提供的一組片段160,,同樣地所述 片段源150在計算機通信網(wǎng)絡(luò)140上以可通信的方式耦合至代理服務(wù)器 130??膳渲妹總€片段160,以形成動態(tài)頁面。然而,至少一個片段160可 取決于至少一個其它片段160的存在。
由此,可根據(jù)片段160中的相互依賴關(guān)系通過片段160定義依賴等級。 為了在不需要借助于片段160的順序負載的情況下以適當順序簡化片段的 依賴部分的負載,可以在依賴引擎200中處理由原始服務(wù)器125提供的依 賴數(shù)據(jù)170。依賴引擎可包括能夠?qū)σ来渭虞d的片段160的不同部分分組 的程序代碼,以在實現(xiàn)其它片段160的某些并發(fā)加載的同時滿足片段160 的依賴。在更具體示圖中,圖2是示出根據(jù)本發(fā)明優(yōu)選實施例從響應(yīng)匯聚代理 派發(fā)請求片段的處理的流程圖。在框210中開始,可接收用于由多個不同 片段定義的動態(tài)構(gòu)成頁面的頁面請求。在框220,可以確定在動態(tài)構(gòu)成頁 面中不同片段的依賴關(guān)系,并且在框230,可以掩農(nóng)賴關(guān)系的順序?qū)Σ煌?片段分組。例如,在標記為A、 B、 C和D的4個片段的頁面中,如果B 取決于C和D的存在,則可將C和D分在一個組,用于在A和B之前并 行加載,它們也可以在C和D之后并行加載。
在框240,可以按適當順序?qū)M進行整理,以保證在其它片段之前加 載由其它片段依賴的那些片段。之后,在框250,可以提取和匯聚要加栽 的第一組。在決定框260,如果仍有要加載的附加組,則在框270,可提取 和匯聚要加載的下一組。這個處理可對于所有片段組繼續(xù)。當沒有要匯聚 的附加片段組時,則在框280,可將動態(tài)匯聚的頁面返回至內(nèi)容請求者, 用于呈現(xiàn)。這樣,可以在匯聚期間履行片段的依賴需求,同時考慮到并發(fā) 加載片段的部分的一些效率。
本發(fā)明可采用完全硬件實施例、完全軟件實施例或包含硬件和軟件元 素的實施例的形式。在優(yōu)選實施例中,在包括但不限于固件、駐留軟件、 微碼等的硬件和軟件中實現(xiàn)本發(fā)明。此外,本發(fā)明可采用從計算機可用或 計算機可讀介質(zhì)可訪問的計算機程序產(chǎn)品的形式,所述計算機可用或計算 機可讀介質(zhì)提供用于計算機或任意指令執(zhí)行系統(tǒng)或與其連接的程序代碼。
為了這里說明的目的,計算機可用或計算機可讀介質(zhì)可以是可包含、 存儲、通信、傳播或傳輸用于指令執(zhí)行系統(tǒng)、裝置或設(shè)備或與其連接的程 序的任意裝置。介質(zhì)可以是電子、磁、光、電磁、紅外或半導(dǎo)體系統(tǒng)(或 裝置或設(shè)備)或傳播介質(zhì)。計算機可讀介質(zhì)的實例包括半導(dǎo)體或固態(tài)存 儲器、磁帶、可卸計算機磁盤、隨機存取存儲區(qū)(RAM)、只讀存儲區(qū) (ROM)、硬盤和光盤。光盤的當前實例包括壓縮盤-只讀存儲區(qū) (CD-ROM)、壓縮盤-讀/寫(CD-R/W)和DVD。
總線間接與存儲區(qū)元件耦合的至少 一個處理器。存儲器元件可包括在程序
8代碼的實際執(zhí)行期間采用的本地存儲器、海量存儲裝置、以及提供至少一 些程序代碼的臨時存儲以減少在執(zhí)行期間必須從海量存儲裝置提取代碼的
次數(shù)的高速緩存。輸入/輸出或i/o設(shè)備(包括但不限于鍵盤、顯示器、定
點設(shè)備等)可直接或通過中間1/0控制器耦合至系統(tǒng)。網(wǎng)絡(luò)適配器也可耦
合至系統(tǒng),以使得數(shù)據(jù)處理系統(tǒng)能夠通過中間專用網(wǎng)絡(luò)或公共網(wǎng)絡(luò)耦合至 其他數(shù)據(jù)處理系統(tǒng)或遠程打印機或存儲設(shè)備。調(diào)制解調(diào)器、電纜調(diào)制解調(diào) 器和以太網(wǎng)卡僅是網(wǎng)絡(luò)適配器的幾個當前可用類型。
權(quán)利要求
1. 一種邊緣化內(nèi)容分配數(shù)據(jù)處理系統(tǒng),包括原始服務(wù)器,其被配置為提供由動態(tài)配置的片段形成的標記指定頁面;代理服務(wù)器,其通過計算機通信網(wǎng)絡(luò)可通信地鏈接至所述原始服務(wù)器,并且代表所述原始服務(wù)器用作在網(wǎng)絡(luò)邊緣的代理;以及依賴引擎,其耦合至所述代理服務(wù)器,并且所述依賴引擎包括能夠執(zhí)行以下操作的程序代碼根據(jù)所述片段之間的相互依賴關(guān)系對所述片段分組以及依次加載片段組以滿足相互依賴關(guān)系。
2. 如權(quán)利要求1的數(shù)據(jù)處理系統(tǒng),其中所述依賴引擎的程序代碼還 能夠根據(jù)所述原始服務(wù)器提供的依賴數(shù)據(jù)確定相互依賴關(guān)系。
3. 如權(quán)利要求1或2的數(shù)據(jù)處理系統(tǒng),其中能夠依次加載片段組以 滿足相互依賴關(guān)系的程序代碼包括用于并發(fā)提取和加載在片段組中的每個 片段的裝置。
4. 一種動態(tài)頁面組合方法,包括識別代表原始服務(wù)器組合到動態(tài)頁面中的片段的選擇; 基于在所述片段中的被選擇片段之間的依賴關(guān)系將所述片段分成片段組;以預(yù)定順序?qū)⑺銎谓M匯聚成所述動態(tài)頁面,以滿足所述依賴關(guān)系;以及代表所述原始服務(wù)器向內(nèi)容請求客戶端提供所述頁面。
5. 如權(quán)利要求4的方法,還包括從為了片段的選擇而限定依賴關(guān) 系的原始服務(wù)器接收依賴數(shù)據(jù)。
6. 如權(quán)利要求4或5的方法,其中基于在所述片段中的被選擇片段 之間的依賴關(guān)系將所述片段分成片段組的步驟包括將片段的選擇中的片 段分成片段組,以識別在所述動態(tài)頁面中存在的由所述片段的選擇中的其 它片段依賴的在所述片段的選擇中的那些片段。
7. 如權(quán)利要求4、 5或6的方法,其中以預(yù)定順序?qū)⑺銎谓M匯聚成所述動態(tài)頁面,以滿足所述依賴關(guān)系的步驟包括并發(fā)地提取和匯聚在 片段組中的每個片段。
8. —種計算機程序產(chǎn)品,包括以用于動態(tài)頁面組合的計算機可用程 序代碼實現(xiàn)的計算機可用介質(zhì),所述計算機程序產(chǎn)品包括計算機可用程序代碼,用于識別代表原始服務(wù)器組合到動態(tài)頁面中的 片段的選擇;計算機可用程序代碼,用于基于在所述片段中的被選擇片段之間的依 賴關(guān)系將所述片段分成片段組;計算才幾可用程序代碼,用于以預(yù)定順序?qū)⑺銎谓M匯聚成所述動態(tài) 頁面,以滿足所述依賴關(guān)系;以及計算機可用程序代碼,用于代表所述原始服務(wù)器向內(nèi)容請求客戶端提 供所述頁面。
9. 如權(quán)利要求8所述的計算機程序產(chǎn)品,還包括計算機可用程序 代碼,用于從為了片段的選擇而限定依賴關(guān)系的原始服務(wù)器接收依賴數(shù)據(jù)。
10. 如權(quán)利要求8或9所述的計算才;i4呈序產(chǎn)品,其中基于在所述片段 中的被選擇片段之間的依賴關(guān)系將所述片段分成片段組的計算機可用程序 代碼還包括計算機可用程序代碼,用于將片段的選擇中的片段分成片段 組,以識別在所述動態(tài)頁面中存在的由所述片段的選擇中的其它片段依賴 的在所述片段的選擇中的那些片段。
11. 如權(quán)利要求8、 9或10所述的計算機程序產(chǎn)品,其中以預(yù)定順序 將所述片段組匯聚成所述動態(tài)頁面,以滿足所述依賴關(guān)系的計算機可用程 序代碼還包括計算機可用程序代碼,用于并發(fā)地提取和匯聚在片段組中 的每個片段。
12. —種包括程序代碼裝置的計算機程序,當在計算機上運行所述程 序時,所述程序代碼裝置適用于執(zhí)行如權(quán)利要求4至7中任一所述的方法。
全文摘要
本發(fā)明實施例解決了本領(lǐng)域中關(guān)于邊緣化內(nèi)容傳遞的缺陷,并提供一種從響應(yīng)匯聚代理派發(fā)請求片段的方法、系統(tǒng)和計算機程序產(chǎn)品。在一個實施例中,一種邊緣化內(nèi)容分配數(shù)據(jù)處理系統(tǒng)可包括原始服務(wù)器,其被配置為提供由動態(tài)配置的片段形成的標記指定頁面;和代理服務(wù)器,其通過計算機通信網(wǎng)絡(luò)可通信地鏈接至所述原始服務(wù)器,并且代表所述原始服務(wù)器用作在網(wǎng)絡(luò)邊緣的代理。依賴引擎耦合至所述代理服務(wù)器,并且包括能夠執(zhí)行以下操作的程序代碼根據(jù)所述片段之間的相互依賴關(guān)系對所述片段分組以及依次加載片段組以滿足相互依賴關(guān)系。
文檔編號H04L29/06GK101491055SQ200780026168
公開日2009年7月22日 申請日期2007年7月10日 優(yōu)先權(quán)日2006年7月17日
發(fā)明者A·斯里尼瓦桑, M·A·莫爾登豪爾, M·切特帕拉比爾, S·哈斯蒂, S·梅杜里, S·黑斯默爾, T·E·卡普靈格 申請人:國際商業(yè)機器公司