用于網(wǎng)絡(luò)應(yīng)用程序資源的高速緩存控制的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了用于網(wǎng)絡(luò)應(yīng)用程序資源的高速緩存控制的方法和系統(tǒng)。用于網(wǎng)絡(luò)應(yīng)用程序資源的高速緩存控制可以包括:接收用于網(wǎng)絡(luò)應(yīng)用程序的高速緩存清單,其中所述高速緩存清單指定所述網(wǎng)絡(luò)應(yīng)用程序的網(wǎng)頁;以及使用處理器確定所述網(wǎng)頁所需要的資源??梢越ㄋ鼍W(wǎng)頁所需要的資源的封閉集合??梢詫λ鲑Y源的引用寫入到所述高速緩存清單中。
【專利說明】用于網(wǎng)絡(luò)應(yīng)用程序資源的高速緩存控制的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及用于網(wǎng)絡(luò)應(yīng)用程序(Web application)資源的高速緩存(cache)控制的方法和系統(tǒng)。
【背景技術(shù)】
[0002]網(wǎng)絡(luò)應(yīng)用程序一般涉及被實(shí)施為以合作方式在網(wǎng)絡(luò)上操作的網(wǎng)頁的集合(collection)的應(yīng)用程序??梢允褂酶鞣N不同類型的資源建立網(wǎng)絡(luò)應(yīng)用程序,所述資源諸如級聯(lián)樣式表(CSS)、JavaScript?,超文本標(biāo)記語言(HTML)、圖像文件等。網(wǎng)絡(luò)應(yīng)用程序的性能取決于許多因素,例如包括執(zhí)行時這些各種資源的組織和交互。
【發(fā)明內(nèi)容】
[0003]本說明書內(nèi)公開的一個或多個實(shí)施例涉及用于網(wǎng)絡(luò)應(yīng)用程序資源的高速緩存控制。
[0004]一個實(shí)施例可以包括一種方法。所述方法可以包括:生成用于網(wǎng)絡(luò)應(yīng)用程序的高速緩存清單,其中所述高速緩存清單指定所述網(wǎng)絡(luò)應(yīng)用程序的網(wǎng)頁;以及使用處理器確定所述網(wǎng)頁所需要的資源。所述方法可以包括:建立封閉集合(closure collection),所述封閉集合包括所述網(wǎng)頁所需要的資源;以及將指示所述資源的引用(reference)寫入到所述高速緩存清單中。
[0005]另一實(shí)施例可以包括一種方法。所述方法可以包括部署網(wǎng)絡(luò)應(yīng)用程序的第一組件到第一數(shù)據(jù)處理系統(tǒng)。所述第一組件可以包括內(nèi)容高速緩存和封閉集合,所述內(nèi)容高速緩存指定資源的列表,所述封閉集合包括所述內(nèi)容高速緩存的列表中的每個資源。所述方法還可以包括部署所述網(wǎng)絡(luò)應(yīng)用程序的第二組件到第二數(shù)據(jù)處理系統(tǒng)。所述第二組件包括所述網(wǎng)絡(luò)應(yīng)用程序的不包括在所述第一組件中的至少一部分。
[0006]另一實(shí)施例可以包括一種系統(tǒng)。所述系統(tǒng)可以包括配置來啟動可執(zhí)行操作的處理器。所述可執(zhí)行操作可以包括:生成用于網(wǎng)絡(luò)應(yīng)用程序的高速緩存清單,其中所述高速緩存清單指定所述網(wǎng)絡(luò)應(yīng)用程序的網(wǎng)頁;確定所述網(wǎng)頁所需要的資源;以及建立封閉集合,所述封閉集合包括所述網(wǎng)頁所需要的資源??梢詫⒅甘舅鲑Y源的引用寫入到所述高速緩存
清單中。
[0007]另一實(shí)施例可以包括一種系統(tǒng)。所述系統(tǒng)可以包括第一數(shù)據(jù)處理系統(tǒng),其存儲網(wǎng)絡(luò)應(yīng)用程序的第一組件。所述第一組件可以包括內(nèi)容高速緩存和封閉集合,所述內(nèi)容高速緩存指定資源的列表,所述封閉集合包括所述內(nèi)容高速緩存的列表中的每個資源。所述系統(tǒng)還可以包括第二數(shù)據(jù)處理系統(tǒng),其經(jīng)由網(wǎng)絡(luò)與所述第一數(shù)據(jù)處理系統(tǒng)通信地鏈接。所述第二數(shù)據(jù)處理系統(tǒng)可以存儲所述網(wǎng)絡(luò)應(yīng)用程序的第二組件。所述第二組件包括所述網(wǎng)絡(luò)應(yīng)用程序的不包括在所述第一組件中的至少一部分。
[0008]另一實(shí)施例可以包括一種計算機(jī)程序產(chǎn)品。所述計算機(jī)程序產(chǎn)品可以包括其上存儲了程序代碼的計算機(jī)可讀存儲介質(zhì),所述程序代碼當(dāng)被執(zhí)行時配置處理器以執(zhí)行可執(zhí)行操作。所述操作可以包括:生成用于網(wǎng)絡(luò)應(yīng)用程序的高速緩存清單,其中所述高速緩存清單指定所述網(wǎng)絡(luò)應(yīng)用程序的網(wǎng)頁;確定所述網(wǎng)頁所需要的資源;以及建立封閉集合,所述封閉集合包括所述網(wǎng)頁所需要的資源??梢詫⒅甘舅鲑Y源的引用寫入到所述高速緩存清單中。
【專利附圖】
【附圖說明】
[0009]圖1是示出根據(jù)此說明書內(nèi)公開的一個實(shí)施例的、用于網(wǎng)絡(luò)應(yīng)用程序資源的高速緩存控制的系統(tǒng)的框圖。
[0010]圖2是示出根據(jù)此說明書內(nèi)公開的另一個實(shí)施例的、參照圖1描述的系統(tǒng)的操作的框圖。
[0011]圖3是示出根據(jù)此說明書內(nèi)公開的另一個實(shí)施例的、用于網(wǎng)絡(luò)應(yīng)用程序資源的高速緩存控制的操作的方法的流程圖。
[0012]圖4是示出根據(jù)此說明書內(nèi)公開的另一個實(shí)施例的、駐留(host)被分割為組件的網(wǎng)絡(luò)應(yīng)用程序的通信系統(tǒng)的框圖。
【具體實(shí)施方式】
[0013]所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明的各個方面可以實(shí)現(xiàn)為系統(tǒng)、方法或計算機(jī)程序產(chǎn)品。因此,本發(fā)明的各個方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實(shí)施例中,本發(fā)明的各個方面還可以實(shí)現(xiàn)為在一個或多個計算機(jī)可讀介質(zhì)中(例如存儲于其上)的計算機(jī)程序產(chǎn)品的形式,該計算機(jī)可讀介質(zhì)中包含計算機(jī)可讀的程序代碼。
[0014]可以采用一個或多個計算機(jī)可讀介質(zhì)的任意組合。計算機(jī)可讀介質(zhì)可以是計算機(jī)可讀信號介質(zhì)或者計算機(jī)可讀存儲介質(zhì)。計算機(jī)可讀存儲介質(zhì)例如可以是一但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機(jī)可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導(dǎo)線的電連接、便攜式計算機(jī)盤、硬盤、固態(tài)硬盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機(jī)可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0015]計算機(jī)可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括——但不限于——電磁信號、光信號或上述的任意合適的組合。計算機(jī)可讀的信號介質(zhì)還可以是計算機(jī)可讀存儲介質(zhì)以外的任何計算機(jī)可讀介質(zhì),該計算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
[0016]計算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于一無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0017]可以以一種或多種程序設(shè)計語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的計算機(jī)程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言一諸如Java、Smalltalk、C++等,還包括常規(guī)的過程式程序設(shè)計語言一諸如“C”語言或類似的程序設(shè)計語言。程序代碼可以完全地在用戶計算機(jī)上執(zhí)行、部分地在用戶計算機(jī)上執(zhí)行、作為一個獨(dú)立的軟件包執(zhí)行、部分在用戶計算機(jī)上部分在遠(yuǎn)程計算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計算機(jī)的情形中,遠(yuǎn)程計算機(jī)可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計算機(jī),或者,可以連接到外部計算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
[0018]下面將參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機(jī)程序指令實(shí)現(xiàn)。這些計算機(jī)程序指令可以提供給通用計算機(jī)、專用計算機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些計算機(jī)程序指令在通過計算機(jī)或其他可編程數(shù)據(jù)處理裝置或其他裝置的處理器執(zhí)行時,產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。
[0019]也可以把這些計算機(jī)程序指令存儲在計算機(jī)可讀介質(zhì)中,這些指令使得計算機(jī)、其他可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲在計算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出包括實(shí)現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令的制造品(article of manufacture)0
[0020]計算機(jī)程序指令也可以被加載到計算機(jī)、其他可編程數(shù)據(jù)處理裝置、或其他設(shè)備上,用以使得在計算機(jī)、其他可編程數(shù)據(jù)處理裝置、或其他設(shè)備上執(zhí)行一系列操作步驟,從而產(chǎn)生計算機(jī)實(shí)施的處理,使得在計算機(jī)或其他可編程裝置上執(zhí)行的指令提供用于實(shí)施在流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的處理。
[0021]此說明書內(nèi)公開的一個或多個實(shí)施例涉及用于網(wǎng)絡(luò)應(yīng)用程序資源的高速緩存控制。根據(jù)此說明書內(nèi)公開的發(fā)明布置,可以評估網(wǎng)絡(luò)應(yīng)用程序所使用的資源,以將需要的那些資源與不需要的那些資源進(jìn)行區(qū)分。需要的資源中的一個或多個可以被包含在封閉集合中??梢陨珊?或更新用于封閉集合的高速緩存清單,其列出該封閉集合的內(nèi)容。
[0022]網(wǎng)絡(luò)應(yīng)用程序可被配置(例如分割)為兩個或更多個不同的組件。第一組件可以包括封閉集合以及高速緩存清單。第二組件可以包括網(wǎng)絡(luò)應(yīng)用程序的不包含在第一組件內(nèi)的一個或多個部分,例如任何剩余部分。通過將網(wǎng)絡(luò)應(yīng)用程序配置為兩個或更多個組件,網(wǎng)絡(luò)應(yīng)用程序可以被部署到使用邊緣服務(wù)器技術(shù)的網(wǎng)絡(luò)。網(wǎng)絡(luò)內(nèi)的服務(wù)器可以分析網(wǎng)絡(luò)應(yīng)用程序以及將網(wǎng)絡(luò)應(yīng)用程序的第一組件移動到在距離、網(wǎng)絡(luò)的跳數(shù)(hop)或另一度量方面更靠近將訪問該網(wǎng)絡(luò)應(yīng)用程序的用戶(們)的服務(wù)器。剩余組件在需要之前可被存儲在網(wǎng)絡(luò)的其他服務(wù)器中的其他地方。
[0023]以此方式,可以以高效的方式將網(wǎng)絡(luò)應(yīng)用程序提供給用戶,因?yàn)榫W(wǎng)絡(luò)應(yīng)用程序的部分(例如包括用戶高頻訪問的那些部分的第一組件)已被存儲在靠近用戶的服務(wù)器上。服務(wù)器與用戶的距離對于用戶產(chǎn)生更快的響應(yīng)時間,并且提高網(wǎng)絡(luò)應(yīng)用程序的性能。網(wǎng)絡(luò)應(yīng)用程序的其他部分(例如第二組件)可以被存儲在地理上比存儲第一組件的服務(wù)器離用戶更遠(yuǎn)的位置處的一個或多個其他服務(wù)器中。
[0024]如此說明書中所使用的,“網(wǎng)絡(luò)應(yīng)用程序”是指使用一個或多個網(wǎng)絡(luò)(Web)技術(shù)形成的應(yīng)用程序,所述網(wǎng)絡(luò)技術(shù)諸如超文本標(biāo)記語言、超文本傳輸協(xié)議(HTTP)、JavaScript?等。網(wǎng)絡(luò)應(yīng)用程序包括一個或多個網(wǎng)頁。在一個方面,網(wǎng)絡(luò)應(yīng)用程序的每個網(wǎng)頁是HTML文件。應(yīng)該理解,雖然可以在諸如網(wǎng)絡(luò)(例如因特網(wǎng))的公共網(wǎng)絡(luò)上操作網(wǎng)絡(luò)應(yīng)用程序,但也可以在私有網(wǎng)絡(luò)上操作網(wǎng)絡(luò)應(yīng)用程序。
[0025]圖1是示出根據(jù)此說明書內(nèi)公開的實(shí)施例的、用于網(wǎng)絡(luò)應(yīng)用程序資源的高速緩存控制的系統(tǒng)100的框圖。如所示,系統(tǒng)100可以包括通過系統(tǒng)總線115、或其他合適的電路與存儲器元件110連接(couple)的至少一個處理器105。因此,系統(tǒng)100可以將程序代碼存儲在存儲器元件110內(nèi)。處理器105可以執(zhí)行經(jīng)由系統(tǒng)總線115從存儲器元件110存取的程序代碼。
[0026]在一個方面,系統(tǒng)100被實(shí)施為數(shù)據(jù)處理系統(tǒng),諸如計算機(jī),其適合于存儲和/或執(zhí)行程序代碼。然而,應(yīng)該理解,可以以包括處理器和存儲器的能夠執(zhí)行此說明書內(nèi)描述的功能和/或操作的任何系統(tǒng)的形式實(shí)施系統(tǒng)100。
[0027]存儲器元件110可以包括一個或多個物理存儲裝置,例如本地存儲器120以及一個或多個大容量存儲裝置125。本地存儲器120是指RAM或其他非永久存儲裝置,其一般在程序代碼的實(shí)際執(zhí)行期間使用。大容量存儲裝置125可被實(shí)施為硬盤驅(qū)動器(HDD)、固態(tài)驅(qū)動器(SSD)、或其他永久數(shù)據(jù)存儲裝置。系統(tǒng)100也可以包括一個或多個高速緩存存儲器(未示出),其提供至少一些程序代碼的臨時存儲,以便在執(zhí)行期間降低必須從大容量存儲裝置125擷取(retrieve)程序代碼的次數(shù)。
[0028]可以任選地將輸入/輸出(I/O)裝置(諸如鍵盤130、顯示器135和指點(diǎn)裝置140)連接到系統(tǒng)100。I/O裝置可以直接或通過居間I/O控制器連接到系統(tǒng)100。一個或多個網(wǎng)絡(luò)適配器145也可以連接到系統(tǒng)100,以使得系統(tǒng)100能夠通過居間的私有或公共網(wǎng)絡(luò)變?yōu)榕c其他系統(tǒng)、計算機(jī)系統(tǒng)、遠(yuǎn)程打印機(jī)和/或遠(yuǎn)程存儲裝置連接。調(diào)制解調(diào)器、線纜調(diào)制解調(diào)器、以及以太網(wǎng)卡是能夠在系統(tǒng)100內(nèi)使用的不同類型的網(wǎng)絡(luò)適配器145的示例。
[0029]如圖1中所示,存儲器元件110可以存儲開發(fā)工具150。以可執(zhí)行程序代碼的形式實(shí)施的開發(fā)工具150可由系統(tǒng)100執(zhí)行,并且如此被認(rèn)為是系統(tǒng)100的部分。開發(fā)工具150的執(zhí)行配置系統(tǒng)100以執(zhí)行和/或啟動在此說明書中描述的與網(wǎng)絡(luò)應(yīng)用程序資源的高速緩存管理有關(guān)的可執(zhí)行操作。
[0030]圖2是示出根據(jù)此說明書內(nèi)公開的另一實(shí)施例的、如參照圖1所描述的系統(tǒng)100的操作的框圖。在整個說明書中,同樣的標(biāo)號將被用于指代同樣的項目。如所示,系統(tǒng)100執(zhí)行開發(fā)工具150。
[0031]在一個實(shí)施例中,系統(tǒng)100接收網(wǎng)絡(luò)應(yīng)用程序205A。網(wǎng)絡(luò)應(yīng)用程序205A包括一個或多個網(wǎng)頁210。在一個方面,可以以網(wǎng)絡(luò)應(yīng)用程序檔案(WAR)文件的形式或以另一容器(container)或格式將網(wǎng)絡(luò)應(yīng)用程序205A提供給系統(tǒng)100。一般地,系統(tǒng)100處理網(wǎng)絡(luò)應(yīng)用程序205A并生成示出為網(wǎng)絡(luò)應(yīng)用程序205B的修改版本。例如,系統(tǒng)100可以內(nèi)省(introspect)網(wǎng)絡(luò)應(yīng)用程序205A以生成如此說明書中所述的網(wǎng)絡(luò)應(yīng)用程序205B。
[0032]網(wǎng)絡(luò)應(yīng)用程序205B功能上等價于網(wǎng)絡(luò)應(yīng)用程序205A。然而,網(wǎng)絡(luò)應(yīng)用程序205A可以看成是單個整體結(jié)構(gòu)或組件,而網(wǎng)絡(luò)應(yīng)用程序205B包括第一組件215和第二組件220。對應(yīng)于圖2中的網(wǎng)絡(luò)應(yīng)用程序205B的虛線表示:雖然組件215和220總體上表示網(wǎng)絡(luò)應(yīng)用程序205B,但組件215和220各自是獨(dú)立且不同的。
[0033]如所示,組件215包括高速緩存清單225和封閉集合230。在一個實(shí)施例中,系統(tǒng)100生成高速緩存清單225和封閉集合230。在一個示例實(shí)施方式中,根據(jù)離線網(wǎng)絡(luò)應(yīng)用程序(2008年5月30日的W3C工作組筆記(W3C規(guī)范))實(shí)施高速緩存清單225。例如,可以如標(biāo)題為“離線應(yīng)用程序高速緩存API (Offline Application Caching APIs)”的第3部分所描述地實(shí)施高速緩存清單225。在W3C規(guī)范中,參照第3部分,可以使用“清單”屬性?!扒鍐巍睂傩钥梢圆捎猛ㄓ觅Y源標(biāo)識符(URI),其指定要包含在封閉集合230內(nèi)的文件的列表。
[0034]W3C規(guī)范是可以在實(shí)施高速緩存清單225時使用和/或遵循的格式的一個示例。然而,應(yīng)該理解,可以使用各種格式和/或協(xié)議中的任一個。因此,使用W3C規(guī)范作為高速緩存清單225的示例實(shí)施方式不意在作為對此說明書中所公開的一個或多個實(shí)施例的限制。
[0035]在一個方面,開發(fā)者(例如人)可以通過為網(wǎng)絡(luò)應(yīng)用程序205A的網(wǎng)頁210添加一個或多個條目而手動地填充(prime)高速緩存清單225。在另一方面,系統(tǒng)100可以自動地確定網(wǎng)絡(luò)應(yīng)用程序205的一個或多個網(wǎng)頁210,其中為所述一個或多個網(wǎng)頁210向高速緩存清單225添加條目。在經(jīng)填充的狀態(tài)中,不論是手動填充還是由系統(tǒng)100自動填充,高速緩存清單225都指定網(wǎng)絡(luò)應(yīng)用程序205A的一個或多個網(wǎng)頁210,例如包括對網(wǎng)絡(luò)應(yīng)用程序205A的一個或多個網(wǎng)頁210的引用。
[0036]可以各種不同方式中的任一種在高速緩存清單225中指定對網(wǎng)絡(luò)應(yīng)用程序205A的網(wǎng)頁210的引用。例如,可以將對網(wǎng)頁的引用指定為路徑名、文件名、URI等。在高速緩存清單225內(nèi)指定網(wǎng)頁210指示該網(wǎng)頁要被包含在網(wǎng)絡(luò)應(yīng)用程序205B的封閉集合230和組件215中。在經(jīng)填充的狀態(tài)中,高速緩存清單225不指定其中指定的網(wǎng)頁所需要的任何資源。而是,高速緩存清單225僅指定網(wǎng)絡(luò)應(yīng)用程序205A的一個或多個網(wǎng)頁210的列表。
[0037]在一個實(shí)施例中,填充高速緩存清單225的網(wǎng)頁210的列表不是包含網(wǎng)絡(luò)應(yīng)用程序205A的每個網(wǎng)頁210的全面的(comprehensive)列表。填充高速緩存清單225的網(wǎng)頁210的列表是形成網(wǎng)絡(luò)應(yīng)用程序205A的網(wǎng)頁210的整個集合的子集。
[0038]一旦高速緩存清單225被填充或在經(jīng)填充的狀態(tài)中,系統(tǒng)100就進(jìn)行對高速緩存清單225的評估并識別高速緩存清單225中列出的網(wǎng)頁210所使用或需要的資源。系統(tǒng)100擷取所識別的每個資源并將所述資源存儲在封閉集合230內(nèi)。系統(tǒng)100還為存儲在封閉集合230內(nèi)的每個資源向高速緩存清單225中添加條目。高速緩存清單225最終指定資源的列表,所述資源被認(rèn)為是操作高速緩存清單225內(nèi)指定的網(wǎng)頁210的特定頁面所需要的,并且也被存儲在封閉集合230內(nèi)。
[0039]在一個實(shí)施例中,封閉集合230是包含已經(jīng)根據(jù)經(jīng)填充的高速緩存清單225而擷取的各種資源的容器。容器的示例可以包括檔案文件、分組、經(jīng)壓縮的檔案文件、網(wǎng)絡(luò)檔案等。用于以封閉集合230的形式存儲資源的容器的特定類型不意圖作為對本說明書內(nèi)公開的一個或多個實(shí)施例的限制。而是,可以使用各種可用的容器和/或文件系統(tǒng)中的任一種。
[0040]當(dāng)系統(tǒng)100完成處理時,網(wǎng)絡(luò)應(yīng)用程序205A被轉(zhuǎn)換為網(wǎng)絡(luò)應(yīng)用程序205B,其包括組件215和組件220。組件215包括封閉集合230和高速緩存清單225。高速緩存清單225指定已經(jīng)存儲在封閉集合230內(nèi)的每個資源。在一個方面,高速緩存清單225指定放置在封閉文件230中與特定網(wǎng)頁相關(guān)的每個資源,其中根據(jù)該特定網(wǎng)頁確定該資源。
[0041]因此,可以此形式將網(wǎng)絡(luò)應(yīng)用程序205B發(fā)布(release)為兩個獨(dú)立且不同的組件215和220。組件215和220各自可被實(shí)施為所述各種容器類型中的任一種。如此,當(dāng)部署網(wǎng)絡(luò)應(yīng)用程序205B時,可以將組件215部署到第一服務(wù)器,而將組件220部署到不同的第二服務(wù)器。第一服務(wù)器可以位于距訪問網(wǎng)絡(luò)應(yīng)用程序205B的客戶端比該客戶端與第二服務(wù)器之間的距離小的距離處。如所說明的,可在地理距離、網(wǎng)絡(luò)距離(例如,跳數(shù)等)方面或
使用另一度量測量距離。
[0042]因此,網(wǎng)絡(luò)應(yīng)用程序205B的包含在組件215內(nèi)的那些資源可以比包含在組件220中的資源更高效地被傳送到請求客戶端。組件220內(nèi)的資源可被存儲在更遠(yuǎn)離客戶端且其利用可能更便宜的位置處的服務(wù)器中。此外,通過降低網(wǎng)絡(luò)應(yīng)用程序205B的存儲在第一服務(wù)器(其可能是昂貴或“需要的(in-demand)”的服務(wù)器)上的數(shù)據(jù)量,該服務(wù)器可以存儲附加資源和/或網(wǎng)絡(luò)應(yīng)用程序。
[0043]圖3是示出根據(jù)本說明書內(nèi)公開的另一實(shí)施例的、用于網(wǎng)絡(luò)應(yīng)用程序資源的高速緩存管理的操作的方法300的流程圖。方法300可以由如參照本說明書的圖1和2所描述的系統(tǒng)來實(shí)施。
[0044]在方框305中,系統(tǒng)可以接收對網(wǎng)絡(luò)應(yīng)用程序的引用。例如,開發(fā)者可以向系統(tǒng)提供對網(wǎng)絡(luò)應(yīng)用程序的引用、或者另外向系統(tǒng)識別網(wǎng)絡(luò)應(yīng)用程序用于處理。在方框310中,系統(tǒng)可以確定網(wǎng)絡(luò)應(yīng)用程序的要被用于填充要由系統(tǒng)生成的高速緩存清單的一個或多個網(wǎng)頁。
[0045]如所討論的,在一個實(shí)施例中,開發(fā)者可以手動指定要被用于填充高速緩存清單的一個或多個網(wǎng)頁。例如,開發(fā)者可以選擇他或她已確定的將很可能被用戶比其他網(wǎng)頁更高頻訪問的網(wǎng)頁。在例示中,可選擇網(wǎng)絡(luò)應(yīng)用程序的主頁網(wǎng)頁或索引網(wǎng)頁,而可能不選擇網(wǎng)絡(luò)應(yīng)用程序的管理頁面或幫助網(wǎng)頁。
[0046]在另一實(shí)施例中,系統(tǒng)可以檢查網(wǎng)絡(luò)應(yīng)用程序并自動選擇用于填充要生成的高速緩存清單的一個或多個網(wǎng)頁。例如,系統(tǒng)可以選擇具有特定文件名(諸如“索引(index)”、“主(main)”等)的網(wǎng)頁。系統(tǒng)可以保持文件名或其他標(biāo)準(zhǔn)的列表,其可被用于評估網(wǎng)絡(luò)應(yīng)用程序的網(wǎng)頁??梢赃x擇與所列舉的標(biāo)準(zhǔn)匹配的任何網(wǎng)頁。這允許開發(fā)者在開發(fā)期間使用特定命名慣例或其他屬性來指明或另外區(qū)分被用于填充高速緩存清單的那些網(wǎng)頁與不被選擇的那些網(wǎng)頁。
[0047]在方框315中,系統(tǒng)可以生成高速緩存清單并利用方框310中選擇的網(wǎng)頁填充高速緩存清單。如此,系統(tǒng)在高速緩存清單內(nèi)插入或添加對方框310中選擇的每個網(wǎng)頁的引用。
[0048]在方框320中,系統(tǒng)可以確定經(jīng)填充的高速緩存清單內(nèi)指定的網(wǎng)頁所需要的資源。系統(tǒng)可以使用各種不同技術(shù)中的任一種來確定網(wǎng)頁所需要的資源。
[0049]在一個實(shí)施例中,系統(tǒng)確定由高速緩存清單中列出的網(wǎng)頁所訪問的任意靜態(tài)資源是所需要的資源。靜態(tài)資源是不隨時間改變的文件。動態(tài)資源是指隨時間改變的資源。動態(tài)資源的示例是從網(wǎng)絡(luò)服務(wù)或其他功能(諸如數(shù)據(jù)庫查詢等)獲得的數(shù)據(jù)。該數(shù)據(jù)根據(jù)所執(zhí)行的查詢的參數(shù)、執(zhí)行查詢的時間等而改變。經(jīng)填充的高速緩存清單中列出的網(wǎng)頁所指定的動態(tài)資源不被認(rèn)為是所需要的資源。
[0050]在一個方面,系統(tǒng)可以通過檢測填充高速緩存清單的網(wǎng)頁的HTML內(nèi)的目標(biāo)屬性(例如目標(biāo)(target))所指示的資源而確定資源??梢员粰z測為目標(biāo)的靜態(tài)資源的示例可以包括CSS、圖像文件等??梢酝ㄟ^URI的分析、使用遞歸分析等執(zhí)行對這種靜態(tài)資源的檢測。在某些情況中,當(dāng)目標(biāo)被識別時,系統(tǒng)可以根據(jù)文件的擴(kuò)展名所指示的文件類型而確定目標(biāo)是動態(tài)還是靜態(tài)的。
[0051]例如,在JavaScript?文件被檢測為靜態(tài)資源的情況中,需要深入分析。系統(tǒng)可
被配置為理解應(yīng)用程序資源代碼內(nèi)對JavaScript?資源的語法和語義引用。例如,在稱為
“Dojo Toolkit”的流行的Ajax (異步JavaScript和XML)工具包(toolkit)的情況中,當(dāng)語句“doj0.require O ”被用于JavaScript源代碼中時,這樣的引用指示需要獨(dú)立的js”文件。系統(tǒng)可以識別“.j s ”文件。
[0052]為了說明的目的提供了上述示例。系統(tǒng)可被配置為識別各種程序結(jié)構(gòu),所述程序結(jié)構(gòu)可被包含在經(jīng)填充的高速緩存清單中列出的網(wǎng)頁內(nèi),或由所述網(wǎng)頁指定,作為所需要的文件的指示符。如此,所提供的特定示例不意在作為對本說明書中公開的一個或多個實(shí)施例的限制。
[0053]在方框325中,系統(tǒng)可以擷取方框320中識別的資源。例如,系統(tǒng)可以下載或拷貝資源。在方框330中,系統(tǒng)可以建立封閉集合。系統(tǒng)可以將在方框325中擷取的每個資源包含在封閉集合內(nèi)。例如,當(dāng)擷取資源時,可以將資源存儲或?qū)懭氲椒忾]集合中。因此,封閉集合僅包含所需要的(例如靜態(tài))資源,并排除填充高速緩存清單的網(wǎng)頁所使用的動態(tài)資源。
[0054]在方框335中,系統(tǒng)可以將用于封閉集合中包含的每個資源的引用寫入到高速緩存清單中。在一個方面,可以將寫入在高速緩存清單內(nèi)的引用與從其識別對應(yīng)資源的特定網(wǎng)頁關(guān)聯(lián)。例如,如果在經(jīng)填充的高速緩存清單中指定了網(wǎng)頁A,并且資源A被確定為是網(wǎng)頁A所需要的并被存儲在封閉集合內(nèi),則系統(tǒng)在高速緩存清單內(nèi)寫入指定資源A的引用。將寫入到高速緩存清單中的對資源A的引用與網(wǎng)頁A關(guān)聯(lián),以指示該資源被網(wǎng)頁A所需要。
[0055]在方框340中,系統(tǒng)可以任選地合并(consolidate)封閉集合中的資源??梢葬槍谖谋镜奈募?、針對圖像文件等執(zhí)行合并。例如,在基于文本的文件的情況中,可以將兩個或更多個不同文件合并為單個文件。所產(chǎn)生的合并文件具有與被合并或結(jié)合的兩個或更多個文件相同的功能。
[0056]在兩個或更多個圖像文件的情況中,可以將圖像文件結(jié)合為單個圖像文件。例如,網(wǎng)頁同時顯示并彼此相鄰或鄰近的兩個或更多個圖像可被合并為單個圖像,例如合成圖(composite)。所產(chǎn)生的合并圖像文件當(dāng)被呈現(xiàn)為網(wǎng)頁的部分時,視覺上表現(xiàn)為與所述兩個或更多個圖像文件在合并之前顯示時所表現(xiàn)的相同。
[0057]合并功能的一個示例是“縮小(minify)”功能??s小功能是指將多個文件(例如CSS或JavaScript文件)組合為單個文件的功能??s小功能也可以從所產(chǎn)生的文件中去除不必要的字符(例如,空格和注釋),并還可以應(yīng)用壓縮編碼。
[0058]合并封閉集合內(nèi)的資源還可以增強(qiáng)網(wǎng)絡(luò)應(yīng)用程序的性能。合并的一個結(jié)果是封閉集合包括更少數(shù)目的需要被高速緩存的文件。另一結(jié)果是封閉集合的尺寸減小。在一個方面,合并也包括壓縮封閉集合中的資源中的一個或多個,或者壓縮封閉集合整體,以減小封閉集合的尺寸。合并還使得高速緩存清單更容易保持,因?yàn)榘俚臈l目,如下面的方框345中所描述的。雖然圖3中未示出,但應(yīng)該理解,在合并文件時,網(wǎng)絡(luò)應(yīng)用程序內(nèi)對合并資源的任何內(nèi)部引用也可被更新,以指示或指向包括該資源的合并文件。[0059]在方框345中,系統(tǒng)可以根據(jù)方框340中執(zhí)行的任何合并更新高速緩存清單。特別地,高速緩存清單中包含的對已被合并的資源的任何引用可被對合并文件的引用取代。例如,在高速緩存清單包含對資源A的一個引用、對資源B的引用、對資源C的引用、以及對資源D的引用的情況下,這四個引用被去除,并被對合并資源(S卩,結(jié)合了資源A、B、C和D的合并資源)的單個引用取代。
[0060]在方框350中,系統(tǒng)可以將網(wǎng)絡(luò)應(yīng)用程序分割為兩個或更多個組件。例如,第一組件包含封閉集合和高速緩存清單。第二組件包含網(wǎng)絡(luò)應(yīng)用程序的不包含在第一組件中的任何部分。例如,第二組件可以包含網(wǎng)絡(luò)應(yīng)用程序的在高速緩存清單內(nèi)未指定的任何網(wǎng)頁。第二組件可以包括或可以不包含其中包含的網(wǎng)頁所使用的資源,例如靜態(tài)資源。
[0061]在方框355中,可以部署網(wǎng)絡(luò)應(yīng)用程序。網(wǎng)絡(luò)應(yīng)用程序可被部署(例如存儲)在用于駐留的一個或多個服務(wù)器上。在一個方面,第一組件被部署到第一服務(wù)器,而第二組件被部署到不同的第二服務(wù)器。
[0062]圖4是示出根據(jù)本實(shí)施例內(nèi)公開的另一實(shí)施例的、駐留被分割為組件的網(wǎng)絡(luò)應(yīng)用程序的通信系統(tǒng)400的框圖。如所示,通信系統(tǒng)400包括服務(wù)器405、410、415和420,各自通過網(wǎng)絡(luò)425連接。客戶端430也可以經(jīng)由網(wǎng)絡(luò)425連接到服務(wù)器405-420中的任一個。
[0063]服務(wù)器405-420和客戶端430的每個可被實(shí)施為如本說明書中之前所描述的數(shù)據(jù)處理系統(tǒng)。雖然服務(wù)器405-420和客戶端430 —般可被實(shí)施為計算機(jī)系統(tǒng),但客戶端430也可以被實(shí)施為便攜式計算系統(tǒng)、移動裝置等。
[0064]網(wǎng)絡(luò)425表示各種通信網(wǎng)絡(luò)中的任一種或者連接在一起的兩個或更多個通信網(wǎng)絡(luò)的組合。例如,網(wǎng)絡(luò)425可被實(shí)施為或包括可以連接數(shù)據(jù)處理系統(tǒng)(例如移動裝置、通信裝置、計算機(jī)等)的WAN、LAN、無線網(wǎng)絡(luò)、移動網(wǎng)絡(luò)、因特網(wǎng)、或它們的各種組合。
[0065]將理解,為了說明的簡單和清楚,圖中所示的元素不一定成比例繪制。例如,為了清楚,某些元素的尺寸相對于其他元素可能被夸大。然而,參照圖4,將服務(wù)器405放置在離客戶端430的位置最近的物理或地理位置處。
[0066]在一個方面,每個服務(wù)器405-420可被配置有操作軟件,其允許服務(wù)器405-420根據(jù)一個或多個標(biāo)準(zhǔn)交換資源,例如網(wǎng)絡(luò)應(yīng)用程序或其組件,所述標(biāo)準(zhǔn)包括例如訪問資源的一個或多個客戶端的位置。在此示例中,客戶端430訪問網(wǎng)絡(luò)應(yīng)用程序205B。因此,服務(wù)器405存儲組件215,以針對網(wǎng)絡(luò)應(yīng)用程序205B向客戶端430提供更優(yōu)的響應(yīng)時間和性能。
[0067]網(wǎng)絡(luò)應(yīng)用程序205B的組件220可被存儲在不同的服務(wù)器處,例如服務(wù)器420。例如,服務(wù)器420可被放置在離客戶端430比離服務(wù)器405更遠(yuǎn)的位置處。服務(wù)器420可以位于相比于服務(wù)器405操作更廉價的位置處。例如,服務(wù)器405可以位于人口高度密集的區(qū)域,而服務(wù)器420則不是。因?yàn)榉?wù)器405不存儲或駐留網(wǎng)絡(luò)應(yīng)用程序205B的全部,所以相比于組件220也被存儲和/或駐留在服務(wù)器405上的情況,服務(wù)器405可被用于為一個或多個其他網(wǎng)絡(luò)應(yīng)用程序存儲和/或駐留更多的資源。
[0068]本說明書中公開的一個或多個實(shí)施例提供了用于將網(wǎng)絡(luò)應(yīng)用程序分割為兩個或更多個組件的技術(shù)。所述組件可被部署到網(wǎng)絡(luò)中的不同位置處的不同服務(wù)器,從而網(wǎng)絡(luò)應(yīng)用程序的被最頻繁訪問或另外被認(rèn)為是需要的這些資源可以更靠近訪問該網(wǎng)絡(luò)應(yīng)用程序的客戶端。網(wǎng)絡(luò)應(yīng)用程序的不被認(rèn)為是需要的或不太頻繁使用的資源可被布署到更遠(yuǎn)離客戶端的位置,從而允許更廉價且更高效地使用通信系統(tǒng)。[0069]附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實(shí)施例的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計算機(jī)指令的組合來實(shí)現(xiàn)。[0070]這里所使用的術(shù)語僅是為了描述特定實(shí)施例的目的,而不意在限制本發(fā)明。當(dāng)在這里使用時,單數(shù)形式“一”、“一個”和“該”意在也包括復(fù)數(shù)形式,除非上下文另外有清楚的表示。將進(jìn)一步理解,術(shù)語“包含”和/或“包括”在本說明書中使用時表示所述特征、數(shù)字、步驟、操作、元件和/或組件的存在,但不排除一個或多個其他特征、數(shù)字、步驟、操作、元件、組件和/或它們的組的存在或附加。
[0071]整個說明書中對“一個實(shí)施例”、“實(shí)施例”的引用或類似語言表示關(guān)于該實(shí)施例所描述的特定特征、結(jié)構(gòu)或特性包含在本說明書中公開的至少一個實(shí)施例中。因此,整個說明書中“在一個實(shí)施例中”、“在實(shí)施例中”以及類似語言的存在可能但不一定全部指代同一個實(shí)施例。
[0072]術(shù)語“多個”當(dāng)在這里使用時被定義為兩個或多于兩個。術(shù)語“另一個”當(dāng)在這里使用時被定義為至少第二個或更多個。術(shù)語“連接”當(dāng)在這里使用時被定義為沒有任何居間元件地直接連接、或者利用一個或多個居間元件間接連接,除非另有說明。兩個元件也可以被機(jī)械地、電地連接、或者通過通信信道、路徑、網(wǎng)絡(luò)或系統(tǒng)而通信地鏈接。術(shù)語“和/或”當(dāng)在這里使用時表示和涵蓋所關(guān)聯(lián)的列出項中的一個或多個的任何和所有可能的組合。還將理解,雖然術(shù)語“第一”、“第二”等可在這里被用于描述各種元素,但這些元素不應(yīng)被這些術(shù)語限制,因?yàn)檫@些術(shù)語僅用于將一個元素與另一元素區(qū)分,除非另有說明或者上下文有另外表不。
[0073]術(shù)語“如果”可取決于上下文而被解釋為表示“當(dāng)”或“在…時”或“響應(yīng)于確定”或“響應(yīng)于檢測”。類似地,短語“如果確定”或“如果檢測到[所述條件或事件]”可取決于上下文而被解釋為表示“在確定時”或“響應(yīng)于確定”或“在檢測到[所述條件或事件]時”或“響應(yīng)于檢測到[所述條件或事件]”。
[0074]所附權(quán)利要求中的對應(yīng)結(jié)構(gòu)、材料、動作和所有裝置或步驟加上功能元素的等同體意在包括用于與其他要求權(quán)利的元素(如具體要求權(quán)利的)相結(jié)合地執(zhí)行功能的任何結(jié)構(gòu)、材料或動作。已經(jīng)為了說明和描述的目的給出了本說明書中公開的實(shí)施例的描述,但它們不意圖是窮舉的或被限于所公開的形式。對于本領(lǐng)域的普通技術(shù)人員而言,許多修改和改變將是明顯的,而不偏離本發(fā)明的實(shí)施例的范圍和精神。為了最好地說明本發(fā)明的原理和實(shí)際應(yīng)用程序,以及為了使得本領(lǐng)域的其他普通技術(shù)人員能夠針對具有適合于所想到的特定用途的各種修改的各種實(shí)施例理解發(fā)明布置,選擇和描述了實(shí)施例。
【權(quán)利要求】
1.一種方法,包括: 生成用于網(wǎng)絡(luò)應(yīng)用程序的高速緩存清單,其中所述高速緩存清單指定所述網(wǎng)絡(luò)應(yīng)用程序的網(wǎng)頁; 使用處理器確定所述網(wǎng)頁所需要的資源; 建立封閉集合,所述封閉集合包括所述網(wǎng)頁所需要的資源;以及 將指示所述資源的引用寫入到所述高速緩存清單中。
2.如權(quán)利要求1所述的方法,其中確定所述網(wǎng)頁所需要的資源包括: 確定所述網(wǎng)頁所指定的目標(biāo)作為所述資源。
3.如權(quán)利要求1所述的方法,還包括: 確定所述資源是靜態(tài)資源。
4.如權(quán)利要求1所述的方法,其中所述封閉集合中包括的每個資源是靜態(tài)資源。
5.如權(quán)利要求1所述的方法,還包括壓縮所述封閉集合的至少一部分。
6.如權(quán)利要求1所述的方法,其中所述封閉集合至少包括第一資源和第二資源,所述方法還包括: 將所述第一資源和所述第二資源合并為單個合并資源。
7.如權(quán)利要求1所述的方法,還包括: 將所述網(wǎng)絡(luò)應(yīng)用程序分割為第一組件和第二組件,所述第一組件包括所述封閉集合和所述高速緩存清單,所述第二組件與所述第一組件不同且包括所述網(wǎng)絡(luò)應(yīng)用程序的不包括在所述第一組件中的至少一部分。
8.如權(quán)利要求7所述的方法,還包括: 部署所述第一組件到第一數(shù)據(jù)處理系統(tǒng);以及 部署所述第二組件到第二數(shù)據(jù)處理系統(tǒng)。
9.一種方法,包括: 部署網(wǎng)絡(luò)應(yīng)用程序的第一組件到第一數(shù)據(jù)處理系統(tǒng),其中所述第一組件包括內(nèi)容高速緩存和封閉集合,所述內(nèi)容高速緩存指定資源的列表,所述封閉集合包括所述內(nèi)容高速緩存的列表中的每個資源;以及 部署所述網(wǎng)絡(luò)應(yīng)用程序的第二組件到第二數(shù)據(jù)處理系統(tǒng),其中所述第二組件包括所述網(wǎng)絡(luò)應(yīng)用程序的不包括在所述第一組件中的至少一部分。
10.一種系統(tǒng),包括: 用于生成用于網(wǎng)絡(luò)應(yīng)用程序的高速緩存清單的裝置,其中所述高速緩存清單指定所述網(wǎng)絡(luò)應(yīng)用程序的網(wǎng)頁; 用于確定所述網(wǎng)頁所需要的資源的裝置; 用于建立封閉集合的裝置,所述封閉集合包括所述網(wǎng)頁所需要的資源;以及 用于將指示所述資源的引用寫入到所述高速緩存清單中的裝置。
11.如權(quán)利要求10所述的系統(tǒng),其中用于確定所述網(wǎng)頁所需要的資源的裝置包括: 用于確定所述網(wǎng)頁所指定的目標(biāo)作為所述資源的裝置。
12.如權(quán)利要求10所述的系統(tǒng),還包括: 用于確定所述資源是靜態(tài)資源的裝置。
13.如權(quán)利要求10所述的系統(tǒng),其中所述封閉集合中包括的每個資源是靜態(tài)資源。
14.如權(quán)利要求10所述的系統(tǒng),還包括: 用于壓縮所述封閉集合的至少一部分的裝置。
15.如權(quán)利要求10所述的系統(tǒng),其中所述封閉集合至少包括第一資源和第二資源,其中所述系統(tǒng)還包括: 用于將所述第一資源和所述第二資源合并為單個合并資源的裝置。
16.如權(quán)利要求10所述的系統(tǒng),還包括: 用于將所述網(wǎng)絡(luò)應(yīng)用程序分割為第一組件和第二組件的裝置,所述第一組件包括所述封閉集合和所述高速緩存清單,所述第二組件與所述第一組件不同且包括所述網(wǎng)絡(luò)應(yīng)用程序的不包括在所述第一組件中的至少一部分。
17.如權(quán)利要求16所述的系統(tǒng),還包括: 用于部署所述第一組件到第一數(shù)據(jù)處理系統(tǒng)的裝置;以及 用于部署所述第二組件到第二數(shù)據(jù)處理系統(tǒng)的裝置。
18.—種系統(tǒng),包括: 第一數(shù)據(jù)處理系統(tǒng),存儲網(wǎng)絡(luò)應(yīng)用程序的第一組件,其中所述第一組件包括內(nèi)容高速緩存和封閉集合,所述內(nèi)容高速緩存指定資源的列表,所述封閉集合包括所述內(nèi)容高速緩存的列表中的每個資源;以及 第二數(shù)據(jù)處理系統(tǒng),經(jīng)由網(wǎng)絡(luò)與所述第一數(shù)據(jù)處理系統(tǒng)通信地鏈接,其中所述第二數(shù)據(jù)處理系統(tǒng)存儲所述網(wǎng)絡(luò)應(yīng)用程序的第二組件,并且其中所述第二組件包括所述網(wǎng)絡(luò)應(yīng)用程序的不包括在所述第一組件中的至少一部分。
【文檔編號】G06F12/08GK103530306SQ201310265417
【公開日】2014年1月22日 申請日期:2013年6月28日 優(yōu)先權(quán)日:2012年6月29日
【發(fā)明者】T.E.卡普林格, C.C.米歇爾, G.L.特魯?shù)? 張建軍 申請人:國際商業(yè)機(jī)器公司