基于云的文件系統(tǒng)內(nèi)的文件處置的制作方法
【專利摘要】在一個一般方面中,一種計算機可讀存儲媒體可經(jīng)配置以存儲在執(zhí)行時致使一或多個處理器執(zhí)行一過程的指令。所述過程可包含建立計算裝置與在云環(huán)境內(nèi)操作的存儲系統(tǒng)之間的通信鏈路的至少一部分。所述過程可包含存取包含表示多個文件的文件列表的用戶接口,其中所述多個文件的至少第一部分存儲于所述計算裝置的本地存儲器中且所述多個文件的第二部分存儲于所述存儲系統(tǒng)中。
【專利說明】基于云的文件系統(tǒng)內(nèi)的文件處置
[0001]相關(guān)申請案的交叉參考
[0002]本申請案主張2013年3月15日申請的標題為“基于云的文件系統(tǒng)內(nèi)的文件處置(FILE HANDLING WITHIN A CLOUD-BASED FILE SYSTEM) ” 的第 13/841,368 號美國非臨時專利申請案的優(yōu)先權(quán)且是其的接續(xù)案,第13/841,368號美國非臨時專利申請案又主張2012年5月5日申請的標題為“基于云的文件系統(tǒng)內(nèi)的文件處置(FILE HANDLING WITHINA CLOUD-BASED FILE SYSTEM) ”的第61/643,279號美國臨時專利申請案及2012年12月13日申請的標題為“基于云的文件系統(tǒng)內(nèi)的文件處置(FILE HANDLING WITHIN A CLOUD-BASEDFILE SYSTEM) ”的第61/736,722號美國專利申請案的優(yōu)先權(quán),所述這些均以全文引用的方式并入本文中。
【技術(shù)領(lǐng)域】
[0003]本描述涉及基于云的文件系統(tǒng)內(nèi)的文件處置。
【背景技術(shù)】
[0004]已開發(fā)用于存儲可由計算裝置存取的文件的多種遠程存儲系統(tǒng)。通常,這些已知的遠程存儲系統(tǒng)存儲用以備份存儲于計算裝置上的本地文件的文件。雖然這些遠程存儲系統(tǒng)可經(jīng)由網(wǎng)絡(luò)存取,可可靠地存儲信息等等,但這些已知的遠程存儲系統(tǒng)中的許多遠程存儲系統(tǒng)缺乏靈活性及集成性,尤其是在處置可使用不同源產(chǎn)生的多種文件時。因此,需要用以解決本技術(shù)的不足且提供其它新且創(chuàng)新特征的系統(tǒng)、方法及設(shè)備。
【發(fā)明內(nèi)容】
[0005]在一個一般方面中,一種非暫時性計算機可讀存儲媒體可經(jīng)配置以存儲在執(zhí)行時致使一或多個處理器執(zhí)行一過程的指令。所述過程可包含建立計算裝置與在云環(huán)境內(nèi)操作的存儲系統(tǒng)之間的通信鏈路的至少一部分,且可包含存儲表示多個文件的文件列表,其中所述多個文件的至少第一部分存儲于所述計算裝置的本地存儲器中且所述多個文件的第二部分存儲于所述存儲系統(tǒng)中。所述過程可包含基于與來自所述文件列表的文件相關(guān)聯(lián)的文件類別而指定來自所述文件列表的所述文件的離線可用性。
[0006]實例性實施方案可包含以下特征中的一或多者。例如,所述存儲系統(tǒng)可作為所述計算裝置的主要存儲系統(tǒng)而操作,且所述計算裝置的所述本地存儲器可作為所述存儲系統(tǒng)的高速緩沖存儲器而操作。
[0007]所述文件列表可包含:對使用web應(yīng)用程序產(chǎn)生并存儲于所述存儲系統(tǒng)中的web文件的參考;對使用安裝于所述計算裝置處的本地應(yīng)用程序產(chǎn)生的客戶端文件的參考;及/或?qū)碜栽谒鲈骗h(huán)境外部操作的遠程源的遠程源文件的參考。來自所述文件列表的所述文件可為來自所述文件列表的第一文件,所述文件類別可為web文件類別。所述過程可進一步包含:響應(yīng)于從所述計算裝置接收的第一指令而指定來自所述文件列表的至少第二文件的離線可用性,所述第二文件為未經(jīng)高速緩存文件;以及指定來自所述文件列表的高速緩存于所述本地存儲器中的至少第三文件的離線可用性。
[0008]所述文件列表可為橫跨所述計算裝置的所述本地存儲器及所述存儲系統(tǒng)的分配給所述計算裝置的一部分的單一文件列表。
[0009]所述計算裝置可為遠程連接到所述云環(huán)境的第一計算裝置,且所述過程可進一步包含在遠程連接到所述云環(huán)境的第二計算裝置處存取所述文件列表,在于所述第二計算裝置處存取時的所述文件列表和在于所述第一計算裝置處存取時的所述文件列表相同。
[0010]所述指定所述文件可包含在未從所述計算裝置接收到明確指令的情況下基于所述文件類別而指定來自所述文件列表的所述文件的離線可用性。
[0011]來自所述文件列表的所述文件可為基于所述文件類別而被指定為處于離線可用狀態(tài)中的第一文件。所述文件列表可包含第二文件,所述第二文件基于所述第二文件最近在所述計算裝置的所述本地存儲器處被存取而被指定為處于所述離線可用狀態(tài)中。所述文件列表可包含響應(yīng)于來自所述計算裝置的指令而被指定為處于所述離線可用狀態(tài)中的第三文件。所述文件列表可包含被指定為處于在線可用狀態(tài)中的第四文件。
[0012]在另一一般方面中,一種非暫時性計算機可讀存儲媒體可經(jīng)配置以存儲在執(zhí)行時致使一或多個處理器執(zhí)行一過程的指令。所述過程可包含建立計算裝置與在云環(huán)境內(nèi)操作的存儲系統(tǒng)之間的通信鏈路的至少一部分。所述過程還可包含:接收打開存儲于所述存儲系統(tǒng)上的第一文件的請求;以及響應(yīng)于打開所述第一文件的所述請求,將所述第一文件高速緩存于所述計算裝置的本地存儲器中,所述第一文件是以第一優(yōu)先級高速緩存的。所述過程可進一步包含:接收使存儲于所述存儲系統(tǒng)上的第二文件成為離線可用的請求;以及響應(yīng)于使所述第二文件成為離線可用的所述請求,將所述第二文件高速緩存于所述計算裝置的所述本地存儲器中,所述第二文件是以低于所述第一優(yōu)先級的第二優(yōu)先級高速緩存的。所述過程可仍進一步包含:預(yù)測性地將存儲于所述存儲系統(tǒng)中的第三文件高速緩存于所述計算裝置的所述本地存儲器中,所述第三文件是基于所述第三文件的一或多個屬性而選擇的,所述第三文件是以低于所述第二優(yōu)先級的第三優(yōu)先級高速緩存的。
[0013]實例性實施方案可包含以下特征中的一或多者。例如,所述第一文件、所述第二文件及所述第三文件可基于其相應(yīng)優(yōu)先級且基于所述計算裝置的所述本地存儲器中的可用文件高速緩沖存儲器存儲容量的量而高速緩存于所述計算裝置的所述本地存儲器中。
[0014]所述過程可進一步包含:接收打開存儲于所述存儲系統(tǒng)上的第四文件的請求;以及響應(yīng)于接收到所述打開所述第四文件的所述請求:如果將所述第四文件高速緩存于所述計算裝置的所述本地存儲器中將超過文件高速緩存閾值,那么所述過程可包含從所述計算裝置的所述本地存儲器驅(qū)除所述第三文件;以及以所述第一優(yōu)先級將所述第四文件高速緩存于所述計算裝置的所述本地存儲器中。
[0015]所述第一文件可為以所述第一優(yōu)先級高速緩存的多個文件中的一者,其中所述多個文件可響應(yīng)于打開所述多個文件中的每一者的相應(yīng)請求而高速緩存于所述計算裝置的所述本地存儲器中。所述第二文件可為以所述第二優(yōu)先級高速緩存的多個文件中的一者,其中所述多個文件可響應(yīng)于使所述多個文件中的每一者成為離線可用的相應(yīng)請求而高速緩存于所述計算裝置的所述本地存儲器中。所述第三文件可為以所述第三優(yōu)先級高速緩存的多個文件中的一者,其中以所述第三優(yōu)先級高速緩存所述多個文件可包含:基于相應(yīng)最后修改日期而高速緩存第一預(yù)定數(shù)目個文件;基于相應(yīng)最后檢視日期而高速緩存第二預(yù)定數(shù)目個文件;以及基于相應(yīng)共享日期而高速緩存第三預(yù)定數(shù)目個文件。
[0016]以所述第三優(yōu)先級高速緩存所述多個文件可進一步包含基于其在所述存儲系統(tǒng)中與一或多個先前經(jīng)高速緩存文件的關(guān)系而高速緩存第四預(yù)定數(shù)目個文件。
[0017]所述第三文件可為以所述第三優(yōu)先級高速緩存的多個文件中的一者,其中以所述第三優(yōu)先級高速緩存所述多個文件可包含通過在基于相應(yīng)最后修改日期高速緩存文件與基于相應(yīng)最后檢視日期高速緩存文件之間進行反復(fù)而高速緩存預(yù)定數(shù)目個文件。
[0018]所述過程可進一步包含:接收從所述計算裝置的所述本地存儲器打開所述第三文件的請求;將所述第三文件從所述第三優(yōu)先級改變?yōu)樗龅谝粌?yōu)先級;以及改變所述第三文件的最后檢視日期。
[0019]在又一一般方面中,一種非暫時性計算機可讀存儲媒體可經(jīng)配置以存儲在執(zhí)行時致使一或多個處理器執(zhí)行一過程的指令。所述過程可包含建立計算裝置與在云環(huán)境內(nèi)操作的存儲系統(tǒng)之間的通信鏈路的至少一部分,所述計算裝置包含經(jīng)配置以從所述存儲系統(tǒng)高速緩存文件的本地存儲器。所述過程還可包含接收已滿足或超過所述計算裝置的所述本地存儲器的文件高速緩存閾值的指示。所述過程可進一步包含響應(yīng)于所述指示,從所述計算裝置的所述本地存儲器驅(qū)除一組經(jīng)高速緩存文件的至少一部分直到滿足驅(qū)除閾值為止,所述組經(jīng)高速緩存文件的所述至少一部分是從最低高速緩存優(yōu)先級到最高高速緩存優(yōu)先級且基于所述組經(jīng)高速緩存文件中的每一文件的相應(yīng)時間戳而驅(qū)除的。
[0020]實例性實施方案可包含以下特征中的一或多者。例如,所述組經(jīng)高速緩存文件可包含:具有第一高速緩存優(yōu)先級的第一文件,所述第一文件已響應(yīng)于打開所述第一文件的請求而高速緩存;具有第二高速緩存優(yōu)先級的第二文件,所述第二文件已響應(yīng)于使所述第二文件成為離線可用的請求而高速緩存,所述第二優(yōu)先級低于所述第一優(yōu)先級;具有第三高速緩存優(yōu)先級的第三文件,所述第三文件已基于最后修改日期及最后檢視日期中的至少一者而高速緩存,所述第三高速緩存優(yōu)先級低于所述第二高速緩存優(yōu)先級;具有第四高速緩存優(yōu)先級的第四文件,所述第四文件已基于共享所述文件的日期而高速緩存,所述第四高速緩存優(yōu)先級低于所述第三高速緩存優(yōu)先級;及/或具有第五高速緩存優(yōu)先級的第五文件,所述第五高速緩存優(yōu)先級低于所述第四高速緩存優(yōu)先級,所述第五文件已基于其在所述存儲系統(tǒng)中與所述第一文件、所述第二文件、所述第三文件及所述第四文件中的至少一者的關(guān)系而聞速緩存。
[0021]所述過程可進一步包含在驅(qū)除具有所述第一高速緩存優(yōu)先級或所述第二高速緩存優(yōu)先級的文件之前請求來自用戶的確認。
[0022]所述過程可進一步包含:接收存取所述組經(jīng)高速緩存文件中的文件的請求,請求存取的所述文件具有低于所述最高高速緩存優(yōu)先級的高速緩存優(yōu)先級;以及響應(yīng)于所述請求,將請求存取的所述文件的所述高速緩存優(yōu)先級改變?yōu)樗鲎罡吒咚倬彺鎯?yōu)先級。
[0023]在附圖及以下描述中陳述一或多個實施方案的細節(jié)。從所述描述及圖式且從權(quán)利要求書將明了其它特征。
【專利附圖】
【附圖說明】
[0024]圖1是圖解說明經(jīng)配置以從在云環(huán)境內(nèi)操作的基于云的存儲系統(tǒng)存取文件的計算裝置的圖式。
[0025]圖2是圖解說明根據(jù)一實施方案的計算裝置及存儲系統(tǒng)的圖式。
[0026]圖3是圖解說明可由文件管理器提供到計算裝置的用戶接口的圖式。
[0027]圖4是圖解說明其中用于從基于云的存儲系統(tǒng)取出(高速緩存)文件以供存儲于本地存儲器中及從本地存儲器(高速緩沖存儲器)驅(qū)除(移除)文件的實例性方法的文件系統(tǒng)的圖式。
[0028]圖5是圖解說明與文件處置相關(guān)的方法的流程圖。
[0029]圖6A到6C是圖解說明與文件高速緩存相關(guān)的方法的流程圖。
[0030]圖7是圖解說明與經(jīng)高速緩存文件的驅(qū)除相關(guān)的方法的流程圖。
【具體實施方式】
[0031]圖1是圖解說明經(jīng)配置以從在云環(huán)境100內(nèi)操作的存儲系統(tǒng)150存取文件19的計算裝置110、120的圖式。由于存儲系統(tǒng)150在云環(huán)境100中操作,因此在一些實施方案中,存儲系統(tǒng)150可稱為基于云的存儲系統(tǒng)。而且,存儲系統(tǒng)150可為由計算裝置110、120遠程存取的遠程(例如,非本地)存儲系統(tǒng)。云環(huán)境100可包含多種硬件及/或軟件組件,包含服務(wù)器(例如,應(yīng)用程序服務(wù)器)、數(shù)據(jù)庫等等。云環(huán)境100的組件可集成到經(jīng)配置以共享(例如,動態(tài)地分配)資源及/或服務(wù)于包含計算裝置110、120的多種端點的計算基礎(chǔ)結(jié)構(gòu)中。
[0032]計算裝置110、120可為經(jīng)配置以存取在云環(huán)境100內(nèi)操作的存儲系統(tǒng)150的任何類型的裝置。在一些實施方案中,計算裝置110、120可各自為(舉例來說)有線裝置及/或無線裝置(例如,具備W1-Fi能力的裝置),且可為(舉例來說)計算實體(例如,個人計算裝置)、服務(wù)器裝置(例如,web服務(wù)器)、移動電話、觸摸屏裝置、個人數(shù)字助理(PDA)、膝上型計算機、包含一或多個處理器或與一或多個處理器相關(guān)聯(lián)的電視、平板裝置、電子閱讀器及/或等等。所述計算裝置可經(jīng)配置以基于可包含一或多個類型的硬件、軟件、固件、操作系統(tǒng)、運行時程序庫及/或等等的一或多個平臺(例如,一或多個類似或不同平臺)而操作。
[0033]在一些實施方案中,與云環(huán)境100相比,計算裝置110、120可具有相對少的計算資源(例如,處理資源、存儲資源)。因此,計算裝置110、120及云環(huán)境100可共同地經(jīng)配置使得計算裝置110、120可利用云環(huán)境100的計算資源。具體來說,云環(huán)境100的存儲系統(tǒng)150及計算裝置110、120可經(jīng)配置使得存儲系統(tǒng)150作為計算裝置110、120的主要存儲系統(tǒng)而操作。如圖1中所展示,計算裝置110及計算裝置120分別包含本地存儲器112及本地存儲器122。即使計算裝置110、120包含本地存儲器112、122,本地存儲器112、122也經(jīng)配置以作為存儲系統(tǒng)150的高速緩沖存儲器(例如,臨時高速緩沖存儲器、臨時存儲位置)而操作。因此,本地存儲器112、122可用作存儲系統(tǒng)150的主要存儲裝置的輔助存儲裝置。在一些實施例中,舉例來說,存儲系統(tǒng)150的存儲容量的被分配給計算裝置110(例如,經(jīng)指定以供其使用)的一部分可為計算裝置110的本地存儲器112的存儲容量的10倍大(例如,100倍大、1000倍大)。
[0034]即使相應(yīng)計算裝置110、120的本地存儲器112、122用作存儲系統(tǒng)150的高速緩沖存儲器(或輔助存儲裝置),存儲于本地存儲器112、122中的一或多者中及存儲系統(tǒng)150中的文件也可作為單一或單個文件集合來處置。換句話說,本地存儲器112、122中的一或多者及存儲系統(tǒng)150可用作單一存儲系統(tǒng)(例如,單個虛擬存儲系統(tǒng)、單個虛擬硬驅(qū)動器)。舉例來說,存儲于本地存儲器112、122中的一或多者中及存儲于存儲系統(tǒng)150中的文件可以使得可不容易區(qū)分存儲位置的方式呈現(xiàn)給存取所述文件的用戶(例如,經(jīng)由用戶接口呈現(xiàn)給用戶)。因此,不論用戶是經(jīng)由計算裝置110還是計算裝置120存取文件,與存儲于本地存儲器112、122中的一或多者及存儲系統(tǒng)150中的文件相關(guān)聯(lián)的文件列表將為相同(或?qū)嵸|(zhì)上相同)的。下文描述與文件處置相關(guān)的更多細節(jié)。
[0035]如圖1中所展示,存儲系統(tǒng)150經(jīng)配置以存儲可指定到包含經(jīng)托管文件、客戶端文件、遠程源文件等等的一或多個類別中的文件19。在此實施方案中,文件19中的大部分是基于文件19中的每一者與之相關(guān)聯(lián)的類別而標示。因此,文件19包含web文件10 (也可稱為經(jīng)托管文件)、客戶端文件11及遠程源文件12。web文件10可包含于web文件類別中,客戶端文件11可包含于客戶端文件類別中,且遠程源文件12可包含于遠程源文件類別中。在一些實施方案中,文件19中的每一者可為各種類型的文件,例如,基于文本的文件(例如,文檔文件)、電子表格文件、圖像文件(例如,聯(lián)合照片專家組(JPEG)文件)、視頻文件(例如,移動圖片專家組(MPEG)文件)、音樂文件(例如,MPEG音頻層III (MP3)文件)等坐寸ο
[0036]web文件10可為使用web應(yīng)用程序140 (例如圖1中所展示的web應(yīng)用程序)創(chuàng)建的文件。web應(yīng)用程序140可為可(舉例來說)在云環(huán)境100內(nèi)托管的任何類型的應(yīng)用程序。在一些實施方案中,web應(yīng)用程序140可為經(jīng)托管應(yīng)用程序。在一些實施方案中,web應(yīng)用程序140可在其于云環(huán)境100內(nèi)操作時由計算裝置110、120中的一或多者遠程控制。稍后在此【具體實施方式】中描述與web應(yīng)用程序及托管應(yīng)用程序相關(guān)的更多細節(jié)。
[0037]客戶端文件11可為來自計算裝置110、120中的一或多者的存儲于存儲系統(tǒng)150中的文件。舉例來說,客戶端文件11可為來自計算裝置110、120中的一或多者的存儲于存儲系統(tǒng)150中的文件。舉例來說,客戶端文件11可為使用在計算裝置120處操作的應(yīng)用程序126產(chǎn)生的文件。應(yīng)用程序126可為安裝于計算裝置120處且在其處操作的本地應(yīng)用程序。在一些實施方案中,應(yīng)用程序126可不在云環(huán)境內(nèi)操作。
[0038]遠程源文件12可為來自遠程源160的存儲于存儲系統(tǒng)150中的文件。在一些實施方案中,遠程源160可為在云環(huán)境100外部(例如,獨立于云環(huán)境100且獨立于計算裝置110,120)操作的源。在一些實施方案中,遠程源160可為與計算裝置110、120分離(或獨立于其)的計算裝置。在一些實施方案中,遠程源160可為獨立于云環(huán)境100操作的第三方源。在一些實施方案中,遠程源160可響應(yīng)于由計算裝置110、120中的一或多者觸發(fā)的一或多個指令而移動到存儲系統(tǒng)150中。
[0039]如圖1中所展示,文件19的至少一部分可至少臨時存儲(例如,高速緩存)于計算裝置120的本地存儲器122中。具體來說,文件19中所包含的文件18存儲于計算裝置120的本地存儲器122中。文件18可為存儲于存儲系統(tǒng)150中的文件中的任一者的影子副本、鏡像副本或經(jīng)同步副本。舉例來說,文件18可為存儲于存儲系統(tǒng)150中的web文件10的影子副本或鏡像副本。在一些實施方案中,文件18可為存儲于本地存儲器122中而未鏡射于存儲系統(tǒng)150處的文件。舉例來說,文件18可為與客戶端文件11分離、在本地存儲器122處創(chuàng)建并存儲于本地存儲器122中的另一客戶端文件。在一些實施方案中,文件18可為存儲(例如,臨時存儲)于本地存儲器122中的文件,使得可在計算裝置120處容易地存取(例如,操縱)文件18。雖然圖1中未展示,但文件19的至少一部分可至少臨時存儲于計算裝置110的本地存儲器112中。
[0040]存儲系統(tǒng)150包含文件管理器155。在一些實施方案中,文件管理器155可用作web應(yīng)用程序。文件管理器155經(jīng)配置以提供用戶接口,計算裝置110、120可通過所述用戶接口存取存儲于存儲系統(tǒng)150中及/或計算裝置110、120中的一或多者處的文件19。在一些實施方案中,由文件管理器155提供的用戶接口可包含文件系統(tǒng)用戶接口。在一些實施方案中,由文件管理器155提供的用戶接口可表示文件19的列表(例如,層次、文件夾系統(tǒng)、枚舉、記錄、庫存)及/或關(guān)于文件19的其它元數(shù)據(jù)(例如,擁有者、創(chuàng)建日期、文件名稱、文件可用性/狀態(tài))。文件19的列表可包含對文件19中的一或多者的參考(例如,指針、指示)。存取文件19可包含檢視、刪除、編輯、下載、上載及/或等等。
[0041]舉例來說,可響應(yīng)于來自計算裝置120的輸入而使用web應(yīng)用程序140產(chǎn)生web文件10并將其存儲于存儲系統(tǒng)150中。可稍后在由文件管理器155在計算裝置110的顯示器114處提供的用戶接口中檢視web文件10 (或其識別符)??墒褂糜嬎阊b置110經(jīng)由web應(yīng)用程序140來選擇及編輯web文件10。可通過其存取文件19中的一或多者的用戶接口的實例圖解說明于圖3中且結(jié)合圖3更詳細地加以論述。
[0042]文件19可與用戶帳戶相關(guān)聯(lián),使得由文件管理器155在用戶接口內(nèi)提供到計算裝置110或計算裝置120的文件19的列表將為相同的,而不論用戶是登錄到計算裝置110還是計算裝置120中。換句話說,文件19的列表可為經(jīng)同步的,而不管通過其存取文件19的列表的計算裝置如何。即使文件19中可包含多種類別的文件,例如分類為web應(yīng)用程序文件的文件、從計算裝置提供的客戶端文件或與遠程源相關(guān)聯(lián)的文件,由文件管理器155在用戶接口內(nèi)提供的文件19的列表也可為相同的(例如,經(jīng)同步、經(jīng)動態(tài)地同步)。即使文件19可分布在存儲系統(tǒng)150及/或計算裝置110、120之間,由文件管理器155在用戶接口內(nèi)提供的文件19的列表也可為相同的。在一些實施方案中,文件19的列表可為文件19中包含哪些文件的枚舉。
[0043]舉例來說,在一些實施方案中,用戶可登錄到計算裝置110中,且可存取及/或操縱文件19中的一或多者。在用戶從計算裝置110登出時,用戶可稍后登錄到計算裝置120中以存取并操縱一或多個文件19。當用戶登錄到計算裝置120中時,可經(jīng)由計算裝置120將在第一次登錄(使用計算裝置110)之后的文件19的列表呈現(xiàn)給用戶。因此,可無縫地維持文件19的列表(或使其同步),而不管用戶通過其存取文件19的計算裝置如何。因此,文件管理器155可經(jīng)配置以提供文件19的相同(或經(jīng)同步)列表,而不論用戶是登錄到計算裝置110還是計算裝置120中。在一些實施方案中,即使可在計算裝置110、120之間維持文件19的列表,但在一些實施方案中,文件19中的一或多者的狀態(tài)可改變。在一些實施例中,所述狀態(tài)可與文件的離線(例如,非網(wǎng)絡(luò))或在線可用性相關(guān)。結(jié)合圖3來論述與文件的狀態(tài)相關(guān)的更多細節(jié)。
[0044]在一些實施方案中,文件18可為下載到(例如,經(jīng)取出以用于)計算裝置120以在計算裝置120處供用戶使用(如果尚未在計算裝置120的本地存儲器122中可用)的文件。在一些實施方案中,文件的當前版本(例如,文件18)可能已在計算裝置120的本地存儲器122中可用且將不從存儲系統(tǒng)150下載。在一些實施方案中,在從存儲系統(tǒng)150下載文件之前,可審核本地存儲器122以確定所述文件是否已高速緩存于本地存儲器122中。
[0045]在一些實施方案中,可按計算裝置120的用戶的需求(例如,響應(yīng)于由用戶觸發(fā)的指令)而將文件18下載到本地存儲器122中。在一些實施方案中,存儲于本地存儲器122中的文件18可用于在計算裝置120處離線存取。計算裝置120可能無法接入任何網(wǎng)絡(luò)或其中可在離線時存取存儲系統(tǒng)150的網(wǎng)絡(luò)。舉例來說,計算裝置120的用戶可請求對存儲于存儲系統(tǒng)150中的遠程源文件12的存取。響應(yīng)于所述請求,可將遠程存儲文件12的副本下載到計算裝置120的本地存儲器122以作為文件18??捎捎脩粼谟嬎阊b置120處使用(例如,編輯、操縱、存取)文件18。在一些實施方案中,對文件18的任何改變可鏡射于存儲于存儲系統(tǒng)150中的遠程源文件12中(例如,在遠程源文件12內(nèi)同步)。
[0046]在一些實施方案中,可在未由計算裝置120的用戶明確請求的情況下取出(例如,預(yù)取)文件18并將其下載到計算裝置120以供使用。換句話說,可自動地將一或多個文件高速緩存于計算裝置120處以供用戶使用。舉例來說,當用戶登錄到計算裝置120中時,可自動地將文件18下載到計算裝置120的本地存儲器122。在一些實施方案中,可基于一或多個準則而自動地下載文件。所述準則可與關(guān)于文件18是否可由計算裝置120的用戶存取的預(yù)測相關(guān)。在一些實施方案中,所述準則可包含與對文件18的最近存取、文件與其它最近經(jīng)存取文件18的關(guān)系、通常由用戶存取的文件類別及/或文件類型及/或等等相關(guān)的準則。用于下載(取出)文件以供存儲于本地存儲器中(例如,從基于云的存儲系統(tǒng))的實例性方法圖解說明于圖4中且下文關(guān)于圖4進一步詳細地加以描述。
[0047]在一些實施方案中,可從計算裝置120的本地存儲器122移除(例如,刪除、臨時移除、清洗)文件18。在一些實施方案中,可基于一或多個準則(舉例來說,包含文件18的日期時間戳、文件18的大小及/或等等)而從計算裝置120的本地存儲器122移除文件18。在一些實施方案中,可響應(yīng)于計算裝置120的本地存儲器122 (或計算裝置120的其它組件)的資源經(jīng)重新分配以用于計算裝置120的其它操作而從計算裝置120的本地存儲器122移除文件18。在一些實施方案中,可連同可存儲于本地存儲器122中的其它文件一起從計算裝置120的本地存儲器122移除文件18。用于從本地存儲器(例如,從基于云的存儲系統(tǒng))驅(qū)除(移除)文件的實例性方法也圖解說明于圖4中且下文關(guān)于圖4進一步詳細地加以描述。
[0048]雖然圖1中未展示,但在一些實施方案中,文件19中的一或多者可由計算裝置110,120中的一或多者的應(yīng)用程序直接處理而不被高速緩存于計算裝置110、120處。換句話說,當使用計算裝置110、120中的一或多者執(zhí)行處理時,可繞過對文件19中的一或多者的高速緩存。舉例來說,可由在云環(huán)境100內(nèi)操作的web應(yīng)用程序140及/或使用計算裝置120處的應(yīng)用程序126處置對web文件10及/或其一部分的處理。在此類實施方案中,可繞過在計算裝置120的本地存儲器122中對web文件10的明確高速緩存。在一些實施方案中,web文件10的僅一部分可存儲于計算裝置120內(nèi)與本地存儲器122分離的臨時存儲器位置中。
[0049]在一些實施方案中,本地存儲器112、122可為任何類型的存儲器,例如隨機存取存儲器、磁盤驅(qū)動存儲器(例如,固態(tài)驅(qū)動器(SSD))、快閃存儲器及/或等等。在一些實施方案中,與計算裝置110、120中所包含的其它存儲器相比,本地存儲器112、122可為相對長期存儲存儲器。在一些實施方案中,本地存儲器112、122可為計算裝置110、120中所包含的最長期存儲器組件。在一些實施方案中,本地存儲器112、122可與和與處理器相關(guān)聯(lián)的高速緩沖存儲器分離且與RAM型存儲器分離。在一些實施方案中,本地存儲器112、122可實施為與計算裝置110、120的組件相關(guān)聯(lián)的一個以上存儲器組件(例如,一個以上隨機存取存儲器(RAM)組件或磁盤驅(qū)動存儲器)。
[0050]在一些實施方案中,web應(yīng)用程序140可經(jīng)配置以由web瀏覽器(未展示)執(zhí)行或解譯。這可與可包含機器可執(zhí)行代碼且可經(jīng)配置以由處理器直接執(zhí)行或經(jīng)由計算裝置的操作系統(tǒng)執(zhí)行的本機應(yīng)用程序形成對比,而在某一實施方案中,web應(yīng)用程序140在無web瀏覽器的輔助的情況下可不能夠執(zhí)行或顯示。因此,web應(yīng)用程序140可在具有專用用戶接口的瀏覽器內(nèi)部操作(例如,從所述瀏覽器內(nèi)執(zhí)行),且通常提供比獨立式網(wǎng)站更豐富且更具交互性但不如桌面應(yīng)用程序繁瑣及龐大的功能性及體驗。web瀏覽器可由計算裝置(例如,計算裝置110、120)執(zhí)行,可從遠程服務(wù)器(例如,托管網(wǎng)站的遠程服務(wù)器)接收代碼(例如,HTML代碼、Javascript),且可為計算裝置的用戶在計算裝置上執(zhí)行所接收代碼。web應(yīng)用程序的實例可包含在瀏覽器內(nèi)執(zhí)行的游戲、相片編輯器及視頻播放器。
[0051]在一些實施方案中,web應(yīng)用程序140可為經(jīng)托管應(yīng)用程序或經(jīng)封裝應(yīng)用程序。經(jīng)托管應(yīng)用程序可包含本身包含網(wǎng)頁的網(wǎng)站的至少一部分加上可尤其與web應(yīng)用程序或web應(yīng)用程序的用戶有關(guān)以允許web應(yīng)用程序為用戶執(zhí)行某一其它特定功能性的一些元數(shù)據(jù)。此元數(shù)據(jù)可包含(舉例來說)應(yīng)用程序的名稱、應(yīng)用程序的描述、應(yīng)用程序的版本及應(yīng)用程序使用的任何URL,包含應(yīng)用程序的啟動頁(即,在用戶點擊經(jīng)托管應(yīng)用程序的圖標時瀏覽器轉(zhuǎn)到的網(wǎng)頁)。所述元數(shù)據(jù)可含在托管于開發(fā)者的服務(wù)器或數(shù)字市場的服務(wù)器上的清單文件(例如,.crx文件)中。
[0052]經(jīng)封裝應(yīng)用程序可被視為其代碼經(jīng)捆綁使得用戶可下載web應(yīng)用程序的內(nèi)容的至少一部分以供瀏覽器執(zhí)行的web應(yīng)用程序。經(jīng)封裝web應(yīng)用程序可不依賴于網(wǎng)絡(luò)接入來為用戶執(zhí)行其功能性,而是可在不接入網(wǎng)絡(luò)的情況下由瀏覽器成功地在計算裝置上本地執(zhí)行。經(jīng)封裝web應(yīng)用程序具有使用擴展API的選項,從而允許經(jīng)封裝應(yīng)用程序改變?yōu)g覽器的行為或外觀方式。
[0053]圖2是圖解說明根據(jù)一實施方案的計算裝置210及存儲系統(tǒng)250的圖式。計算裝置210經(jīng)配置以建立與存儲系統(tǒng)250的通信鏈路(例如,單向通信鏈路、雙向通信鏈路)的至少一部分。雖然圖2中未展示,存儲系統(tǒng)250可經(jīng)配置以在云環(huán)境內(nèi)操作。存儲系統(tǒng)250包含文件29及文件管理器255。雖然圖2中未明確展示,但在此實施方案中,文件29可包含存儲于計算裝置210的本地存儲器265中的文件。因此,文件管理器255可與本地存儲于計算裝置210處或遠程存儲于存儲系統(tǒng)250中的文件相關(guān)聯(lián)。本地存儲的文件可與存儲系統(tǒng)250中所包含的文件管理器255同步且由文件管理器255管理。
[0054]如圖2中所展示,計算裝置210包含文件管理器應(yīng)用程序230。文件管理器應(yīng)用程序230可經(jīng)配置以與存儲系統(tǒng)250的文件管理器255交互(例如,存取、觸發(fā)其操作)。在一些實施方案中,文件管理器應(yīng)用程序230可為經(jīng)配置以在瀏覽器內(nèi)操作(在基于瀏覽器的操作系統(tǒng)內(nèi)操作)的web應(yīng)用程序。計算裝置210包含本地存儲器265及處理器267。處理器267可與計算裝置210的組件中的任一者相關(guān)聯(lián),且可用于執(zhí)行計算裝置210的操作中的任一者。
[0055]文件管理器應(yīng)用程序230包含經(jīng)配置以處置與由文件管理器255從存儲系統(tǒng)250提供的用戶接口相關(guān)的處理的用戶接口處置器236。文件管理器應(yīng)用程序230包含可由計算裝置210的用戶用于改變與存儲系統(tǒng)250相關(guān)聯(lián)的文件29中的一或多者的狀態(tài)(在一些實施方案中,經(jīng)由可為基于瀏覽器的操作系統(tǒng)的用戶接口)的狀態(tài)管理器232。文件管理器應(yīng)用程序230還包含經(jīng)配置以處置與文件29相關(guān)聯(lián)的一或多個用戶帳戶(經(jīng)由用戶接口)的登錄模塊234。
[0056]計算裝置210包含經(jīng)配置以建立計算裝置210與存儲系統(tǒng)250之間的通信鏈路的至少一部分的客戶端連接模塊240。在一些實施方案中,計算裝置210與存儲系統(tǒng)250之間的通信鏈路可為無線連接、有線連接、對等連接、網(wǎng)絡(luò)連接、安全連接、經(jīng)加密連接及/或等坐寸ο
[0057]計算裝置210還包含可經(jīng)配置以觸發(fā)計算裝置210的一或多個操作的輸入裝置280。在一些實施方案中,輸入裝置280可為或可包含(舉例來說)鼠標裝置、鍵盤裝置、觸摸墊裝置、麥克風及/或等等。計算裝置210包含顯示器270,其可為任何類型的顯示器,例如發(fā)光二極管(LED)顯示器、靜電觸摸裝置、電阻性觸摸屏裝置、表面聲波(SAW)裝置、電容性觸摸屏裝置、壓敏裝置、表面電容性裝置、投射式電容性觸摸(PCT)裝置及/或等等。如果顯示器270為觸敏裝置,那么顯示器270可用作輸入裝置。舉例來說,顯示器270可經(jīng)配置以顯示可由用戶用作輸入裝置的虛擬鍵盤(例如,模仿鍵盤)。
[0058]計算裝置210及/或存儲系統(tǒng)250的組件(例如,模塊、處理器)可經(jīng)配置以基于可包含一或多個類型的硬件、軟件、固件、操作系統(tǒng)、運行時程序庫及/或等等的一或多個平臺(例如,一或多個類似或不同平臺)而操作。在一些實施方案中,計算裝置210及/或存儲系統(tǒng)250的組件可經(jīng)配置以在裝置群集(例如,服務(wù)器場)內(nèi)操作。在此實施方案中,可將計算裝置210及/或存儲系統(tǒng)250的組件的功能性及處理分布到裝置群集的數(shù)個
>j-U ρ?α裝直。
[0059]計算裝置210的組件及/或存儲系統(tǒng)250的組件可為或可包含經(jīng)配置以處理屬性的任何類型的硬件及/或軟件。在一些實施方案中,圖3中的計算裝置210的組件及/或存儲系統(tǒng)250的組件中所展示的組件的一或多個部分可為或可包含基于硬件的模塊(例如,數(shù)字信號處理器(DSP)、現(xiàn)場可編程門陣列(FPGA)、存儲器)、固件模塊及/或基于軟件的模塊(例如,計算機代碼模塊、可在計算機處執(zhí)行的計算機可讀指令集)。舉例來說,在一些實施方案中,計算裝置210的組件及/或存儲系統(tǒng)250的組件的一或多個部分可為或可包含經(jīng)配置以供至少一個處理器(未展示)執(zhí)行的軟件模塊。在一些實施方案中,組件的功能性可包含于與圖2中所展示的那些不同的模塊及/或不同的組件中。
[0060]在一些實施方案中,計算裝置210的組件及/或存儲系統(tǒng)250的組件中的一或多者可為或可包含經(jīng)配置以處理存儲于存儲器中的指令(連同所展示的指令一起或除所展示的指令以外)的處理器。舉例來說,文件管理器應(yīng)用程序230(及/或其一部分)可為或可包含經(jīng)配置以執(zhí)行與用以實施一或多個功能的過程相關(guān)的指令的處理器與存儲器的組口 ο
[0061]在一些實施方案中,存儲系統(tǒng)250可為遠程數(shù)據(jù)庫、本地數(shù)據(jù)庫、分布式數(shù)據(jù)庫、關(guān)系數(shù)據(jù)庫、層次數(shù)據(jù)庫及/或等等。在一些實施方案中,存儲系統(tǒng)250的至少一些部分可存儲于計算裝置210的存儲器(未展示)(例如,本地存儲器)中。在一些實施方案中,存儲系統(tǒng)250可為或可包含由多個裝置(例如計算裝置210)共享的存儲器。在一些實施方案中,存儲系統(tǒng)250可與網(wǎng)絡(luò)內(nèi)的服務(wù)器裝置(未展示)相關(guān)聯(lián)且經(jīng)配置以服務(wù)于計算裝置210的組件。
[0062]雖然未展示,但在一些實施方案中,計算裝置210的組件及/或存儲系統(tǒng)250的組件可經(jīng)配置以在(舉例來說)數(shù)據(jù)中心(例如,云計算環(huán)境)、計算機系統(tǒng)、一或多個服務(wù)器/主機裝置及/或等等內(nèi)操作。在一些實施方案中,計算裝置210的組件及/或存儲系統(tǒng)250的組件可經(jīng)配置以在網(wǎng)絡(luò)內(nèi)操作。因此,計算裝置210的組件及/或存儲系統(tǒng)250的組件可經(jīng)配置以在可包含一或多個裝置及/或一或多個服務(wù)器裝置的各種類型的網(wǎng)絡(luò)環(huán)境內(nèi)起作用。舉例來說,所述網(wǎng)絡(luò)可為或可包含局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)及/或等等。所述網(wǎng)絡(luò)可為或可包含無線網(wǎng)絡(luò)及/或使用(舉例來說)網(wǎng)關(guān)裝置、橋接器、交換器及/或等等實施的無線網(wǎng)絡(luò)。所述網(wǎng)絡(luò)可包含一或多個分段及/或可具有基于例如因特網(wǎng)協(xié)議(IP)及/或?qū)S袇f(xié)議等各種協(xié)議的部分。所述網(wǎng)絡(luò)可包含因特網(wǎng)的至少一部分。
[0063]圖3是圖解說明可由文件管理器提供到計算裝置的用戶接口 300的圖式。用戶接口 300可由圖1中所展示的文件管理器155及/或圖2中所展示的文件管理器255提供。用戶接口 300可由圖1中所展示的計算裝置110、120中的一或多者及/或圖2中所展示的計算裝置210接收(例如,在其處控制)。
[0064]如圖3中所展示,在用戶接口 300內(nèi)表示文件列表320。文件列表320包含由名稱(列321中所展示)文件A到文件L表示的文件。文件列表320包含關(guān)于文件中的每一者的多種信息,包含大小(列322中所展示)、日期(列323中所展示)、類型(列324中所展示)及離線可用性(列325中所展示)??蓪⒃谖募斜?20內(nèi)表示的文件指定到若干類別中,例如,web文件、客戶端文件、遠程源文件及/或等等。
[0065]如圖3中所展示,即使文件列表320可包含指定在多種類別中的文件,也在單個用戶接口 300內(nèi)且在標示為“驅(qū)動器”的單個窗中表示所述文件。在一些實施方案中,可在驅(qū)動器窗中列示其它類型的文件,包含存儲于外部存儲裝置(例如通用串行總線(USB)裝置)上的文件、經(jīng)下載文件及/或等等。
[0066]在此實施方案中,將在文件列表320內(nèi)表示的文件中的數(shù)者展示為被指定為離線可用。在列325中以已被完全填充的實心框圖標(與可雙態(tài)切換到實心框圖標的開口框圖標形成對比)展示指定為離線可用的文件。在一些實施方案中,文件中的一或多者的離線可用性可由用戶經(jīng)由計算裝置(例如,圖1中所展示的計算裝置110)指定。在此類實施方案中,指定了離線可用性的文件可存儲于計算裝置的本地存儲器中。在一些實施方案中,如果計算裝置的本地存儲器不具有充足空間,那么可不指定額外文件的離線可用性。
[0067]在此實施方案中,在文件列表320內(nèi)表示的文件可處于數(shù)個狀態(tài)中的一者中。在一些實施方案中,可基于文件的類別而指定所述狀態(tài)中的一或多者。在一些實施方案中,可基于最近(或當前)已將文件高速緩存還是未高速緩存于計算裝置的本地存儲器中而指定所述狀態(tài)中的一或多者。在一些實施方案中,文件的狀態(tài)可由用戶指定(經(jīng)由來自用戶的計算裝置的指令)。在一些實施方案中,可默認地指定文件的狀態(tài)(在無來自用戶的計算裝置的明確指令的情況下)。在一些實施方案中,可基于與文件相關(guān)聯(lián)的元數(shù)據(jù)而指定文件的狀態(tài)。換句話說,文件的狀態(tài)可基于類別指定、來自用戶的指令、默認、最近已如何在本地高速緩存文件或是否未高速緩存文件(未在本地高速緩存)及/或等等的任何組合。在一些實施方案中,可在用戶接口 300內(nèi)以圖標、色彩方案、子體及/或另一指定來表不在文件列表320內(nèi)表示的處于特定狀態(tài)中的文件,以使得用戶可容易地識別文件的狀態(tài)。
[0068]舉例來說,由于文件A被指定為(例如,釘選為)離線可用性文件,因此其可處于離線可用狀態(tài)中。在此實施方案中,可通過實心框圖標容易地將文件A識別為可用于離線處理。作為另一實例,由于文件H的離線可用性未被指定,因此其可處于在線可用狀態(tài)中。因此,文件H可僅用于在計算裝置(例如,計算裝置110)與存儲系統(tǒng)(例如,存儲系統(tǒng)150)通信時由所述計算裝置在所述存儲系統(tǒng)上存取。在此實施方案中,與開口圓圈圖標相關(guān)聯(lián)的文件為web文件。舉例來說,文件G與開口圓圈相關(guān)聯(lián)且為web文件。即使未由用戶明確地指定離線可用性,web文件也可處于在線可用狀態(tài)中。在一些實施方案中,web文件的默認狀態(tài)可為在線可用狀態(tài)。在一些實施方案中,可使用離線可用的web應(yīng)用程序的擴展來存取web文件。在一些實施方案中,也可使得高速緩存于本地存儲器中(但并非web文件或未指定離線可用性)的文件成為離線可用的(直到其被從高速緩沖存儲器移除為止),例如下文關(guān)于圖4進一步詳細地論述。
[0069]在一些實施方案中,高速緩存于本地存儲器中的文件可為已在閾值時間周期內(nèi)存取的經(jīng)最近經(jīng)存取文件。因此,明確釘選的至少一些文件可為已在所述閾值時間周期之外存取且未經(jīng)高速緩存(當前未高速緩存于計算裝置的本地存儲器中,因為最近文件尚未被存取)的文件。當明確釘選時,可將未經(jīng)高速緩存文件移動到本地存儲裝置且對其進行高速緩存。
[0070]圖3中所展示的用戶接口 300或其衍生物可由計算裝置(例如,圖1中所展示的計算裝置110)處的一或多個應(yīng)用程序(例如,Web應(yīng)用程序、本機應(yīng)用程序)使用。舉例來說,可選擇在用戶接口 300中所展示的文件列表320內(nèi)表示的文件中的一或多者并經(jīng)由電子郵件應(yīng)用程序?qū)⑵涓郊拥较?。在一些實施方案中,可使用相片編輯?yīng)用程序或字處理應(yīng)用程序來存取在用戶接口 300中所展示的文件列表320內(nèi)表示的文件中的一或多者。
[0071]圖4是圖解說明實施用于從基于云的存儲系統(tǒng)450 (例如,圖1中所展示的存儲系統(tǒng)150)取出(高速緩存)文件以供存儲于本地存儲器412 (例如,圖1中所展示的本地存儲器112)中以及從本地存儲器412驅(qū)除經(jīng)高速緩存文件的實例性方法的文件系統(tǒng)400的圖式。圖4中所展示且下文所描述的方法是以實例方式給出的。在各種實施方案中,取出及/或驅(qū)除文件的次序可為不同的。在以下論述中,將描述用于取出(高速緩存)文件的實例性方法,且接著將描述用于(從本地存儲器)驅(qū)除經(jīng)高速緩存文件的對應(yīng)方法。
[0072]可使用上文關(guān)于圖1到3所論述的技術(shù)及/或設(shè)備來實施圖4中所展示的方法。另外,可以動態(tài)方式實施圖4中所圖解說明的方法。例如,可基于若干個因素(例如修改文件、刪除文件、打開文件、關(guān)閉文件、將文件指定為離線可用(釘選)、將文件取消指定為離線可用(取消釘選)及/或等等)而動態(tài)地(在正進行的基礎(chǔ)上)取出(高速緩存)及/或驅(qū)除(移除)文件。因此,可基于若干因素(例如,剛剛描述的因素)而不斷地改變高速緩存(存儲)于本地存儲器412中(例如,離線可用)的特定文件。而且,從本地存儲器412中所包含的文件高速緩沖存儲器高速緩存及/或驅(qū)除文件可基于有多少本地存儲器用于經(jīng)高速緩存的文件及/或執(zhí)行所請求操作(例如,用戶的請求)所需的本地存儲器412的量。在一些實施方案中,可基于可用于包含本地存儲器412的本地計算裝置的數(shù)據(jù)網(wǎng)絡(luò)接入類型而執(zhí)行或不執(zhí)行文件高速緩存。例如,如果僅蜂窩式數(shù)據(jù)網(wǎng)絡(luò)接入為可用的,那么作為一實例,可暫停文件高速緩存直到有線或WiFi網(wǎng)絡(luò)接入可用為止。
[0073]如圖4中所展示,可根據(jù)優(yōu)先級層次高速緩存(取出、預(yù)取)文件。例如,在文件系統(tǒng)400中,由用戶打開的文件(打開的文件)420可以最高優(yōu)先級高速緩存于本地存儲器412中。因此,當用戶登錄到包含本地存儲器412的計算系統(tǒng)中且提供將打開云存儲系統(tǒng)450上的特定文件的指示(例如,將在字處理器中打開文檔文件的指示)時,將從云存儲系統(tǒng)450取出所述特定文件并將其高速緩存于本地存儲器412中。然而,在一些實施方案中,甚至在用戶打開時,某些文件類型也可不高速緩存于本地存儲器412中。例如,在文件系統(tǒng)400中,Web文件(例如Web文件10)可不高速緩存于本地存儲器412中,因為此類文件的處理可由云環(huán)境內(nèi)的Web應(yīng)用程序處置,且在本地高速緩存此類文件可能不存在任何優(yōu)點。
[0074]還如圖4中所展示,經(jīng)釘選文件420可以第二最高優(yōu)先級(在打開的文件之后)高速緩存于本地存儲器412中。在實例性實施方案中,在打開的文件(用戶打開的文件)420的高速緩存完成之后,文件系統(tǒng)400可進行到高速緩存經(jīng)釘選文件430 (由用戶指定為離線可用的文件,例如關(guān)于圖3所論述)。在一些實施例中,如果達到(或超過)可用于文件高速緩存的本地存儲器412的閾值量,例如在高速緩存打開的文件420或經(jīng)釘選文件430時,文件系統(tǒng)400 (例如,包含本地存儲器412的計算裝置)可執(zhí)行驅(qū)除過程(例如下文所描述)以釋放本地存儲器412中的存儲空間以使文件預(yù)取(高速緩存)繼續(xù)。或者,文件系統(tǒng)400可中斷(至少臨時地)文件高速緩存。在其它實施例中,如果達到(或超過)可用于文件高速緩存的本地存儲器412的閾值量,那么可向用戶提供指示應(yīng)(需要)關(guān)閉一或多個打開的文件及/或應(yīng)(需要)將一或多個文件取消釘選(取消指定為離線可用)以便允許文件高速緩存繼續(xù)的通知。
[0075]在圖4中所展示的實例中,如果接收到將文件指定為被釘選的指示且所述文件先前高速緩存于本地存儲器412中,那么可不重新高速緩存(重新取出)所述文件。同樣地,如果接收到打開文件的指示且所述文件先前高速緩存于本地存儲器412中,那么可不重新高速緩存(重新取出)所述文件。
[0076]在對打開的文件420及經(jīng)釘選文件430的高速緩存完成之后,文件系統(tǒng)400可接著基于與給定(登錄的)用戶相關(guān)聯(lián)的文件的各種屬性而從云存儲系統(tǒng)450預(yù)取(高速緩存)額外文件440 (以供存儲于本地存儲器412中)。在文件系統(tǒng)400中,云存儲系統(tǒng)450可針對給定用戶遍歷目錄結(jié)構(gòu)以便建構(gòu)相關(guān)文件屬性的列表。此遍歷可響應(yīng)于用戶存取他或她在云存儲系統(tǒng)450上的文件中的任一者而執(zhí)行或可作為用戶的登錄過程的部分而執(zhí)行。
[0077]在實例性實施方案中,在高速緩存打開的文件420及經(jīng)釘選文件430之后,文件系統(tǒng)400可高速緩存最近已由用戶存取(例如,由用戶檢視及/或由用戶修改)且與用戶相關(guān)聯(lián)(由用戶擁有)的預(yù)定數(shù)目個文件(例如,50個文件、100個文件或200個文件),例如,最近經(jīng)檢視/經(jīng)修改(經(jīng)存取)文件442。將高速緩存(取出)哪些最近經(jīng)存取文件442的確定可基于用戶的所存儲文件中包含于云存儲系統(tǒng)450中的每一者的一或多個相應(yīng)文件屬性(例如,在上文所論述的文件目錄遍歷期間收集)。例如,經(jīng)檢查以確定將高速緩存哪些文件的文件屬性可包含“ lastViewedByMeDate”屬性或“modifiedByMeDate”屬性。
[0078]舉例來說,如果將高速緩存的最近經(jīng)存取文件442的預(yù)定數(shù)目為50個文件,那么存儲器系統(tǒng)400可高速緩存25個最近經(jīng)修改文件及25個最近經(jīng)檢視(但未經(jīng)修改)文件??墒紫雀咚倬彺婊蚩梢耘c25個最近經(jīng)檢視文件交替的方式高速緩存25個最近經(jīng)修改文件。在另一實施方案中,存儲器系統(tǒng)400可高速緩存可或可不包含最近經(jīng)修改文件的50個最近經(jīng)檢視文件。在又一實施例中,存儲器系統(tǒng)400可高速緩存50個最近經(jīng)修改文件且不高速緩存僅最近經(jīng)檢視(且未經(jīng)修改)的文件。如先前所論述,如果達到(或超過)可用于文件高速緩存的本地存儲器412的閾值量,那么文件系統(tǒng)400可執(zhí)行驅(qū)除過程(例如下文所描述)以釋放本地存儲器412中的存儲空間以允許文件預(yù)取(高速緩存)繼續(xù),或替代地,文件系統(tǒng)400可停止將文件高速緩存于本地存儲器412中。存儲閾值量可作為本地存儲器412中的總存儲空間的百分比來計算或可規(guī)定為本地存儲器412中的固定存儲空間量。而且,如果經(jīng)高速緩存文件的總數(shù)目達到指示所允許的經(jīng)高速緩存文件的上限的閾值(例如,500、1,000,5, 000等),那么文件系統(tǒng)400可停止高速緩存文件。
[0079]在高速緩存最近經(jīng)存取文件442之后,例如上文所描述,文件系統(tǒng)400可接著高速緩存最近已與給定(登錄的)用戶共享的預(yù)定數(shù)目個文件(例如通過使用與給定(登錄的)用戶相關(guān)聯(lián)(由用戶擁有)的文件的相應(yīng)“SharedWithMeDate”文件屬性),例如,最近經(jīng)共享文件444。舉例來說,如果將高速緩存的最近經(jīng)共享文件444的預(yù)定數(shù)目為25,那么文件系統(tǒng)400可高速緩存最近已與給定用戶共享(且先前由于文件打開、被釘選或最近被存取而未高速緩存)的25個文件。在實例性實施方案中,文件系統(tǒng)400可以此方式高速緩存最近經(jīng)共享文件444直到已高速緩存預(yù)定數(shù)目個最近經(jīng)共享文件(例如,25個文件)為止。在其它實施例中,如圖4中所展示,對最近經(jīng)共享文件444的高速緩存可與對最近經(jīng)存取文件442的高速緩存合并。舉例來說,如果將高速緩存預(yù)定數(shù)目50個文件,那么文件系統(tǒng)400可針對給定用戶在最近經(jīng)修改文件、最近經(jīng)檢視文件及/或最近經(jīng)共享文件之間進行交替直到已高速緩存預(yù)定數(shù)目個文件(50個文件)為止?;蛘撸绻_到(或超過)可用于經(jīng)高速緩存文件的存儲空間的閾值量,那么文件系統(tǒng)400可停止高速緩存文件。
[0080]在對預(yù)定數(shù)目個最近經(jīng)共享文件444的高速緩存完成之后,例如剛剛所描述,文件系統(tǒng)400可接著高速緩存“相關(guān)”文件446。相關(guān)文件446可為與一或多個先前經(jīng)高速緩存文件(例如,打開的文件420、經(jīng)釘選文件430、最近經(jīng)存取文件442及/或最近經(jīng)共享文件444)相關(guān)的文件。舉例來說,相關(guān)文件446可為在與先前經(jīng)高速緩存文件相同的目錄中的文件。在其它實施方案中,相關(guān)文件446可為與先前經(jīng)高速緩存文件相同的文件類型的文件。在再一些實施方案中,可使用其它準則來確定先前經(jīng)高速緩存文件的一或多個相關(guān)文件。
[0081]在文件系統(tǒng)400中,用于高速緩存相關(guān)文件446的若干種方法為可能的。在一個實施方案中,可確定每一先前經(jīng)高速緩存文件的所有相關(guān)文件446 (以與高速緩存那些文件相同的次序),且給定先前經(jīng)高速緩存文件的所有相關(guān)文件446可在高速緩存下一先前經(jīng)高速緩存文件的相關(guān)文件446之前被高速緩存。舉例來說,如果先前高速緩存了三個文件:第一個是文件A、第二個是文件B且第三個是文件C,那么在此實施方案中,文件A的所有相關(guān)文件將在高速緩存文件B或文件C的任何相關(guān)文件446之前被高速緩存。同樣地,文件B的所有相關(guān)文件446將在高速緩存文件C的任何相關(guān)文件之前被高速緩存。因此,文件C的相關(guān)文件446將最后被高速緩存,即,在高速緩存文件A的相關(guān)文件446、后續(xù)接著文件B的相關(guān)文件446之后。
[0082]在另一實施方案中,可通過在先前經(jīng)高速緩存文件中的每一者的相關(guān)文件446之間進行交替而高速緩存相關(guān)文件446,例如通過輪流高速緩存每一先前經(jīng)高速緩存文件的一個相關(guān)文件。再次使用先前經(jīng)高速緩存文件文件A、文件B及文件C的圖解說明,在此實例中,可高速緩存文件A的一個相關(guān)文件、后續(xù)接著文件B的一個相關(guān)文件、后續(xù)接著文件C的一個相關(guān)文件,接著重復(fù)所述序列。在此方法中,可例如以與上文所描述的類似的方式使用若干準則(例如“l(fā)astViewedByMeDate”屬性、“modifiedByMeDate”屬性及/或“ sharedWithMeDate”屬性)來確定高速緩存(例如,在每一反復(fù)處)給定先前經(jīng)高速緩存文件的相關(guān)文件446的次序。
[0083]當高速緩存相關(guān)文件446時,所述過程可繼續(xù)直到高速緩存所有相關(guān)文件446,經(jīng)高速緩存文件的數(shù)目達到經(jīng)高速緩存文件閾值數(shù)目或經(jīng)高速緩存文件(打開的文件420、經(jīng)釘選文件430、最近經(jīng)存取文件442、最近經(jīng)共享文件444及相關(guān)文件446)使用了閾值量的數(shù)據(jù)存儲(本地存儲器412中)為止。而且,如果以所描述的交替方式高速緩存相關(guān)文件446,那么一旦也高速緩存了給定先前經(jīng)高速緩存文件的所有相關(guān)文件446,便可跳過給定先前經(jīng)高速緩存文件的相關(guān)文件高速緩存以進行后續(xù)反復(fù)。
[0084]在一些實施例中,相關(guān)文件446的集合可為極大的(例如,與本地存儲器412中的可用高速緩沖存儲器存儲空間相比)。在其它實施例中,可難以(或不可能)確定真正與先前經(jīng)高速緩存文件相關(guān)的相關(guān)文件446的集合,因為未良好定義給定用戶的文件目錄結(jié)構(gòu)(例如,所有用戶的文件存儲于單個目錄或小數(shù)目的目錄中)。在此類例子中,文件系統(tǒng)400可經(jīng)配置以放棄高速緩存相關(guān)文件。
[0085]在其它實施例中,可以其它方式確定相關(guān)文件446。例如,給定先前經(jīng)高速緩存文件的相關(guān)文件446可包含在所述先前經(jīng)高速緩存文件位于其中的目錄的子目錄或父目錄(例如,其并非根目錄)中包含的文件。在其它實施方案中,可以再一些方式確定相關(guān)文件446。例如,相關(guān)文件446可包含位于由用戶(登錄的用戶)瀏覽的目錄中的文件。取決于特定實施方案,可使用若干種其它方法來確定相關(guān)文件446。
[0086]如上文所指示,高速緩存到本地存儲器412的文件可遭受一或多個限制。例如,本地存儲器412中可用于文件高速緩存的存儲空間的量可受限。在一些實施方案中,可將本地存儲器412中可用于文件高速緩存的存儲空間量定義為固定存儲空間量。在其它實施例中,可將本地存儲器412中可用于文件高速緩存的存儲空間量定義為本地存儲器412中的總存儲空間的百分比。在再一些實施例中,可存儲于本地存儲器412中的經(jīng)高速緩存文件的數(shù)目可限制于經(jīng)高速緩存文件的閾值數(shù)目。不管用以確定本地存儲器412中可用于文件高速緩存的空間的量的準則如何,都將發(fā)生其中將高速緩沖存儲器確定為“滿”從而指示無法高速緩存額外文件的情形。在此類情形中,可例如以下文所描述的方式在文件系統(tǒng)400中執(zhí)行驅(qū)除過程(由圖4中的箭頭460指示)。
[0087]在實例性實施方案中,當確定本地存儲器412中所包含的文件高速緩沖存儲器為滿時,可使用實質(zhì)上為曾用以高速緩存在文件高速緩沖存儲器中所包含的文件的優(yōu)先級層次的逆層次的優(yōu)先級層次來驅(qū)除文件。所驅(qū)除的文件的數(shù)目將取決于特定實施方案。舉例來說,可驅(qū)除文件直到釋放可用于文件高速緩存的給定存儲量為止。在其它實施例中,可驅(qū)除文件直到釋放總文件高速緩沖存儲器存儲空間的某一百分比為止。在再一些實施例中,可驅(qū)除文件直到釋放高速緩存特定文件所需的文件高速緩沖存儲器存儲空間量為止。在再一些實施例中,可驅(qū)除文件直到經(jīng)高速緩存文件的數(shù)目低于驅(qū)除閾值為止??墒褂萌舾煞N其它方法來確定要驅(qū)除的文件的數(shù)目(數(shù)據(jù)量)。
[0088]可通過文件的相應(yīng)最近時間戳來進一步確定從高速緩沖存儲器驅(qū)除所述文件的次序。例如,當首先高速緩存文件時,可賦予其指示其何時被高速緩存的時間戳(日期/時間戳)。在一些實施例中,每次存取經(jīng)高速緩存文件時,可更新其時間戳以反映相應(yīng)經(jīng)高速緩存文件的最后存取(檢視及/或修改)的時間。因此,驅(qū)除過程460可不以經(jīng)高速緩存文件被高速緩存的確切相反次序來驅(qū)除所述經(jīng)高速緩存文件,因為驅(qū)除過程可基于最近時間戳(來自高速緩存的時間的時間戳或來自最近存取的時間戳)。
[0089]在實例性實施例中,驅(qū)除過程460可按以下方式從本地存儲器412中的文件高速緩沖存儲器驅(qū)除文件。可首先驅(qū)除相關(guān)文件446,其中具有最舊時間戳的相關(guān)文件446首先被驅(qū)除且具有最新時間戳的相關(guān)文件最后被驅(qū)除。如上文所指示,一旦釋放預(yù)定量的文件高速緩沖存儲器存儲空間,便可中斷文件驅(qū)除過程460。在此實例中,一旦驅(qū)除所有經(jīng)高速緩存相關(guān)文件446,便可以最舊時間戳開始驅(qū)除最近經(jīng)共享文件444,按相反次序進行到具有最新時間戳的最近經(jīng)共享文件444。再次,一旦釋放預(yù)定量的文件高速緩沖存儲器存儲空間,便可中斷文件驅(qū)除過程460。一旦驅(qū)除所有經(jīng)高速緩存的最近經(jīng)共享文件444,便可以最舊時間戳開始驅(qū)除最近經(jīng)存取文件442,按相反次序進行到具有最新時間戳的最近經(jīng)存取文件442。再次,一旦釋放預(yù)定量的文件高速緩沖存儲器存儲空間,便可中斷文件驅(qū)除過程460。在其它實施方案中,可合并經(jīng)高速緩存的最近經(jīng)共享文件444與經(jīng)高速緩存的最近經(jīng)存取文件442的驅(qū)除,其中這兩個經(jīng)高速緩存文件集合是基于其時間戳而從最舊時間戳到最新時間戳作為一群組被驅(qū)除。以與上文所論述的相似的方式,一旦釋放預(yù)定量的文件高速緩沖存儲器存儲空間,便可中斷文件驅(qū)除。當然,可使用若干種其它方法來從文件高速緩沖存儲器驅(qū)除文件。
[0090]在從本地存儲器412的文件高速緩沖存儲器驅(qū)除所有文件440且仍未釋放所需文件高速緩沖存儲器存儲空間的量的情況下,可向用戶(例如,登錄的用戶)提供請求用戶將文件取消釘選及/或關(guān)閉文件以便允許文件高速緩存繼續(xù)進行的通知。在其它實施方案中,可由文件系統(tǒng)400自動地將文件取消釘選,例如通過使用與用于從文件高速緩沖存儲器驅(qū)除文件440的準則類似的準則。舉例來說,可基于文件的時間戳(最舊到最新)而自動地將其取消釘選。
[0091]圖5是圖解說明與文件處置相關(guān)的方法的流程圖。如圖5中所展示,建立計算裝置與在云環(huán)境內(nèi)操作的存儲系統(tǒng)之間的通信鏈路的至少一部分(框500)。
[0092]如圖5中所展示,存儲表示多個文件的文件列表,其中所述多個文件的至少第一部分存儲于所述計算裝置的本地存儲器中且所述多個文件的第二部分存儲于所述存儲系統(tǒng)中(框510)。在一些實施例中,所述文件列表可存儲于所述云環(huán)境處且從所述云環(huán)境存取。在一些實施例中,所述文件列表可存儲于所述計算裝置處且從所述計算裝置存取。
[0093]基于與來自所述文件列表的文件相關(guān)聯(lián)的文件類別而指定來自所述文件列表的所述文件的離線可用性(框520)。在一些實施例中,可基于與所述文件相關(guān)聯(lián)的類別而指定所述文件。在一些實施例中,可基于由用戶經(jīng)由所述計算裝置觸發(fā)的指令而指定所述文件。在一些實施例中,可默認地或基于所述文件的高速緩存狀態(tài)而指定所述文件。
[0094]圖6A到6C是圖解說明與文件高速緩存相關(guān)的方法的流程圖。圖6A到6C中所展示的方法可使用(舉例來說)本文中所描述的文件處置方法連同彼此一起實施。如圖6A中所展示,建立計算裝置與在云環(huán)境內(nèi)操作的存儲系統(tǒng)之間的通信鏈路的至少一部分(框
600)。
[0095]如圖6A中所展示,接收打開存儲于所述存儲系統(tǒng)上的第一文件的請求(框605)。響應(yīng)于打開所述第一文件的所述請求,將所述第一文件高速緩存于所述計算裝置的本地存儲器中,所述第一文件是以第一優(yōu)先級高速緩存的(框610)。在一些實施例中,所述第一文件可為以所述第一優(yōu)先級高速緩存的多個文件中的一者。所述多個文件(具有所述第一優(yōu)先級)可響應(yīng)于打開所述多個文件中的每一者的相應(yīng)請求而高速緩存于所述計算裝置的所述本地存儲器中。
[0096]還如圖6A中所展示,接收使存儲于所述存儲系統(tǒng)上的第二文件成為離線可用的請求(框615)。響應(yīng)于使所述第二文件成為離線可用的所述請求,將所述第二文件高速緩存于所述計算裝置的所述本地存儲器中(框620),所述第二文件是以低于所述第一優(yōu)先級的第二優(yōu)先級高速緩存的。在一些實施例中,所述第二文件可為以所述第二優(yōu)先級高速緩存的多個文件中的一者。所述多個文件(具有所述第二優(yōu)先級)是響應(yīng)于使所述多個文件中的每一者成為離線可用的相應(yīng)請求而高速緩存于所述計算裝置的所述本地存儲器中。
[0097]如圖6A中所進一步展示,預(yù)測性地將存儲于所述存儲系統(tǒng)中的第三文件高速緩存于所述計算裝置的所述本地存儲器中(框625)。所述第三文件可基于所述第三文件的一或多個屬性而選擇,且所述第三文件可以低于所述第二優(yōu)先級的第三優(yōu)先級而高速緩存。
[0098]所述第三文件(框625處)可為以所述第三優(yōu)先級高速緩存的多個文件中的一者。在一些實施例中,以所述第三優(yōu)先級高速緩存所述多個文件可包含:基于相應(yīng)最后修改日期而高速緩存第一預(yù)定數(shù)目個文件;基于相應(yīng)最后檢視日期而高速緩存第二預(yù)定數(shù)目個文件;基于相應(yīng)共享日期而高速緩存第三預(yù)定數(shù)目個文件,及/或基于其在所述存儲系統(tǒng)中與一或多個先前經(jīng)高速緩存文件的關(guān)系而高速緩存第四預(yù)定數(shù)目個文件。在其它實施例中,以所述第三優(yōu)先級高速緩存所述多個文件可包含通過在基于存儲于所述存儲系統(tǒng)中的文件的相應(yīng)最后修改日期高速緩存文件與基于所述文件的相應(yīng)最后檢視日期高速緩存文件之間進行反復(fù)而高速緩存預(yù)定數(shù)目個文件。
[0099]在某些實施例中,(圖6A的)所述第一文件、所述第二文件及所述第三文件可基于其相應(yīng)優(yōu)先級且基于所述計算裝置的所述本地存儲器中的可用文件高速緩沖存儲器存儲容量的量而高速緩存于所述計算裝置的所述本地存儲器中。例如,可以優(yōu)先級的次序(例如,針對相同高速緩存優(yōu)先級的文件也使用日期戳)高速緩存文件,直到滿足或超過文件高速緩存閾值(例如,文件數(shù)目、數(shù)據(jù)量及/或等等)為止,例如本文中所論述。
[0100]如上文所指示,圖6B中所圖解說明的方法可連同圖6A的方法一起來實施,且出于圖解說明的目的,將如此進行描述。如圖6B中所展示,接收打開存儲于所述存儲系統(tǒng)上的第四文件的請求(框630)。響應(yīng)于接收到所述打開所述第四文件的所述請求,如果將所述第四文件高速緩存于所述計算裝置的所述本地存儲器中將超過文件高速緩存閾值,那么從所述計算裝置的所述本地存儲器驅(qū)除(移除)所述第三文件(框635)。以所述第一優(yōu)先級將所述第四文件高速緩存于所述計算裝置的所述本地存儲器中(框640)。
[0101]如上文所指示,圖6C中所圖解說明的方法可(以與圖6B中所圖解說明的方法相似的方式)連同圖6A的方法一起來實施,且出于圖解說明的目的,將如此進行描述。如圖6C中所展示,接收從所述計算裝置的所述本地存儲器打開所述第三文件的請求(框645)。響應(yīng)于框645的請求,將所述第三文件的所述高速緩存優(yōu)先級從所述第三優(yōu)先級改變?yōu)樗龅谝粌?yōu)先級(框650),及改變所述第三文件的最后檢視日期¢55)。
[0102]圖7是圖解說明與經(jīng)高速緩存文件的驅(qū)除相關(guān)的方法的流程圖。如圖7中所展示,建立計算裝置與在云環(huán)境內(nèi)操作的存儲系統(tǒng)之間的通信鏈路的至少一部分(框700)。所述計算裝置可包含經(jīng)配置以從所述存儲系統(tǒng)高速緩存文件的本地存儲器。接收已滿足或超過所述計算裝置的所述本地存儲器的文件高速緩存閾值的指示(框710)。響應(yīng)于框710處的指示,從所述計算裝置的所述本地存儲器驅(qū)除一組經(jīng)高速緩存文件的至少一部分(例如)直到滿足驅(qū)除閾值為止。所述組經(jīng)高速緩存文件的所述至少一部分可是從最低高速緩存優(yōu)先級到最高高速緩存優(yōu)先級而驅(qū)除且基于所述組經(jīng)高速緩存文件中的每一文件的相應(yīng)時間戳而驅(qū)除的。如圖7中所展示,在驅(qū)除具有所述第一高速緩存優(yōu)先級或所述第二高速緩存優(yōu)先級的文件之前請求來自用戶的確認。在一些實施例中,可不在驅(qū)除具有第一高速緩存優(yōu)先級的文件(打開的文件)或具有第二高速緩存優(yōu)先級的文件(經(jīng)釘選文件)之前請求此確認。
[0103]在一些實施例中,所述組經(jīng)高速緩存文件可包含具有第一高速緩存優(yōu)先級的第一文件,所述第一文件已響應(yīng)于打開所述第一文件的請求而高速緩存。所述組經(jīng)高速緩存文件還可包含具有第二高速緩存優(yōu)先級的第二文件,所述第二文件已響應(yīng)于使所述第二文件成為離線可用的請求而高速緩存,所述第二優(yōu)先級低于所述第一優(yōu)先級。所述組經(jīng)高速緩存文件可進一步包含具有第三高速緩存優(yōu)先級的第三文件,所述第三文件已基于最后修改日期及最后檢視日期中的至少一者而高速緩存,所述第三高速緩存優(yōu)先級低于所述第二高速緩存優(yōu)先級。所述經(jīng)高速緩存文件可仍進一步包含具有第四高速緩存優(yōu)先級的第四文件,所述第四文件已基于共享所述文件的日期而高速緩存,所述第四高速緩存優(yōu)先級低于所述第三高速緩存優(yōu)先級。所述組經(jīng)高速緩存文件還可進一步包含具有第五高速緩存優(yōu)先級的第五文件,所述第五高速緩存優(yōu)先級低于所述第四高速緩存優(yōu)先級,所述第五文件已基于其在所述存儲系統(tǒng)中與所述第一文件、所述第二文件、所述第三文件及/或所述第四文件中的至少一者的關(guān)系而高速緩存。
[0104]以與上文關(guān)于圖6C所論述的類似的方式,可接收存取框720的所述組經(jīng)高速緩存文件中的文件的請求,其中請求存取的所述文件具有低于所述最高高速緩存優(yōu)先級的高速緩存優(yōu)先級。響應(yīng)于此請求,可將請求存取的所述文件的所述高速緩存優(yōu)先級改變?yōu)樗鲎罡吒咚倬彺鎯?yōu)先級(例如,第一高速緩存優(yōu)先級)。
[0105]在一般方面中,一種計算機可讀存儲媒體可經(jīng)配置以存儲在執(zhí)行時致使一或多個處理器執(zhí)行一過程的指令。所述過程可包含建立計算裝置與在云環(huán)境內(nèi)操作的存儲系統(tǒng)之間的通信鏈路的至少一部分。所述過程可包含存取包含存儲表示多個文件的文件列表的用戶接口,其中所述多個文件的至少第一部分存儲于所述計算裝置的本地存儲器中且所述多個文件的第二部分存儲于所述存儲系統(tǒng)中。
[0106]在另一一般方面中,一種計算機可讀存儲媒體可經(jīng)配置以存儲在執(zhí)行時致使一或多個處理器執(zhí)行一過程的指令。所述過程可包含建立計算裝置與在云環(huán)境內(nèi)操作的存儲系統(tǒng)之間的通信鏈路的至少一部分。所述過程可包含存儲表示多個文件的文件列表,其中所述多個文件的至少第一部分存儲于所述計算裝置的本地存儲器中且所述多個文件的第二部分存儲于所述存儲系統(tǒng)中,且可包含響應(yīng)于從所述計算裝置接收的指令中的至少一者或基于與所述文件列表的至少一部分相關(guān)聯(lián)的文件類別而指定所述文件列表的所述部分的離線可用性。
[0107]在又一方面中,一種設(shè)備可包含經(jīng)配置以在云環(huán)境內(nèi)操作且經(jīng)配置以存儲多個文件的存儲系統(tǒng)。所述多個文件的至少第一部分存儲于所述存儲系統(tǒng)中,且所述多個文件的第二部分在計算裝置的本地存儲器中同步。在一些實施方案中,所述存儲系統(tǒng)包含文件管理器,所述文件管理器經(jīng)配置以向所述計算裝置提供包含表示所述多個文件的列表的用戶接口。
[0108]在又一一般方面中,一種計算機可讀存儲媒體可經(jīng)配置以存儲在執(zhí)行時致使一或多個處理器執(zhí)行一過程的指令。所述過程可包含建立計算裝置與在云環(huán)境內(nèi)操作的存儲系統(tǒng)之間的通信鏈路的至少一部分。所述過程可包含存儲多個文件且響應(yīng)于來自第一計算裝置的下載請求而從存儲系統(tǒng)向第一計算裝置發(fā)送所述多個文件的一部分以用于高速緩存于所述第一計算裝置處。向第二計算裝置發(fā)送包含表示所述多個文件的文件列表且包含所述多個文件的高速緩存于第一計算裝置處的所述部分的用戶接口。
[0109]本文中所描述的各種技術(shù)的實施方案可以數(shù)字電子電路或者以計算機硬件、固件、軟件或以其組合來實施。實施方案可實施為計算機程序產(chǎn)品,即,有形地體現(xiàn)于信息載體中(例如,體現(xiàn)于機器可讀存儲裝置(計算機可讀媒體)中)以由數(shù)據(jù)處理設(shè)備(例如,可編程處理器、一計算機或多個計算機)執(zhí)行或控制所述數(shù)據(jù)處理設(shè)備的操作的計算機程序。因此,計算機可讀存儲媒體可經(jīng)配置以存儲在執(zhí)行時致使處理器(例如,主機裝置處的處理器、計算裝置處的處理器)執(zhí)行一過程的指令。可以任何形式的程序設(shè)計語言(包含編譯語言或解譯語言)來編寫計算機程序(例如,上文所描述的計算機程序),且可以任何形式來部署所述計算機程序,包括部署為獨立程序或部署為模塊、組件、子例程或適合在計算環(huán)境中使用的其它單元。計算機程序可經(jīng)部署以在一個計算機上或在位于一個位點處或跨越多個位點分布且由通信網(wǎng)絡(luò)互連的多個計算機上處理。
[0110]方法步驟可由執(zhí)行計算機程序的一或多個可編程處理器執(zhí)行,以通過對輸入數(shù)據(jù)進行操作并產(chǎn)生輸出來執(zhí)行功能。方法過程還可由專用邏輯電路(例如,F(xiàn)PGA(現(xiàn)場可編程門陣列)或ASIC(專用集成電路))執(zhí)行,且設(shè)備可實施為所述專用邏輯電路。
[0111]舉例來說,適合于處理計算機程序的處理器包含通用微處理器及專用微處理器兩者,以及任何種類的數(shù)字計算機的任何一或多個處理器。一般來說,處理器將從只讀存儲器或隨機存取存儲器或兩者接收指令及數(shù)據(jù)。計算機的元件可包括用于執(zhí)行指令的至少一個處理器及用于存儲指令及數(shù)據(jù)的一或多個存儲器裝置。一般來說,計算機還可包含用于存儲數(shù)據(jù)的一或多個大容量存儲裝置(例如,磁盤、磁光盤或光盤)或經(jīng)操作地耦合以從所述一或多個大容量存儲裝置接收數(shù)據(jù)或向其傳送數(shù)據(jù)或既接收數(shù)據(jù)又傳送數(shù)據(jù)。適合于體現(xiàn)計算機程序指令及數(shù)據(jù)的信息載體包含所有形式的非易失性存儲器,舉例來說,包含:半導(dǎo)體存儲器裝置,例如EPROM、EEPROM及快閃存儲器裝置;磁盤,例如內(nèi)部硬磁盤或可裝卸磁盤;磁光盤;以及CD-ROM及DVD-ROM光盤。所述處理器及存儲器可由專用邏輯電路補充或并入于專用邏輯電路中。
[0112]為提供與用戶的交互,實施方案可實施于計算機上,所述計算機具有用于向用戶顯示信息的顯示裝置(例如,陰極射線管(CRT)、發(fā)光二極管(LED)或液晶顯示器(LCD)監(jiān)視器)及所述用戶可借以向計算機提供輸入的鍵盤及指向裝置(例如,鼠標或軌跡球)。也可使用其它種類的裝置來提供與用戶的交互;舉例來說,提供給所述用戶的反饋可為任何形式的感觀反饋,例如,視覺反饋、聽覺反饋或觸覺反饋;且來自所述用戶的輸入可以任何形式來接收,包含聲音、語音或觸覺輸入。
[0113]實施方案可實施于計算系統(tǒng)(包含后端組件,例如,作為數(shù)據(jù)服務(wù)器;或包含中間件組件,例如,應(yīng)用程序服務(wù)器;或包含前端組件,例如,具有用戶可經(jīng)由其來與實施方案交互的圖形用戶接口或Web瀏覽器的客戶端計算機;或此類后端、中間件或前端組件的任何組合)中。組件可由任何數(shù)字數(shù)據(jù)通信形式或媒體(例如,通信網(wǎng)絡(luò))互連。通信網(wǎng)絡(luò)的實例包含局域網(wǎng)(LAN)及廣域網(wǎng)(WAN),例如因特網(wǎng)。
[0114]在本說明書通篇中對“一個實施方案”或“一實施方案”的提及意指結(jié)合所述實施方案所描述的特定特征、結(jié)構(gòu)或特性包含于至少一個實施方案中。因此,在本說明書通篇的各個地方中短語“在一個實施方案中”或“在一實施方案中”的出現(xiàn)未必全部指代同一實施方案。另外,術(shù)語“或”打算意指包含性“或”而非互斥性“或”。
[0115]盡管本文已圖解說明及描述了所描述實施方案的某些特征,但所屬領(lǐng)域的技術(shù)人員現(xiàn)在將能想出許多修改、替代、改變及等效形式。因此,應(yīng)理解,所附權(quán)利要求書打算涵蓋歸屬于所述實施方案的范圍內(nèi)的所有此類修改及改變。應(yīng)理解,已僅以舉例而非限制的方式呈現(xiàn)所述實施方案,且可做出形式及細節(jié)上的各種改變。本文中所描述的設(shè)備及/或方法的任何部分可以任何組合形式來組合,互斥的組合除外。本文中所描述的實施方案可包含所描述的不同實施方案的功能、組件及/或特征的各種組合及/或子組合。
【權(quán)利要求】
1.一種非暫時性計算機可讀存儲媒體,其經(jīng)配置以存儲在執(zhí)行時致使一或多個處理器執(zhí)行一過程的指令,所述過程包括: 建立計算裝置與在云環(huán)境內(nèi)操作的存儲系統(tǒng)之間的通信鏈路的至少一部分; 存儲表示多個文件的文件列表,其中所述多個文件的至少第一部分存儲于所述計算裝置的本地存儲器中且所述多個文件的第二部分存儲于所述存儲系統(tǒng)中;以及 基于與來自所述文件列表的文件相關(guān)聯(lián)的文件類別而指定來自所述文件列表的所述文件的離線可用性。
2.根據(jù)權(quán)利要求1所述的非暫時性計算機可讀存儲媒體,其中所述存儲系統(tǒng)作為所述計算裝置的主要存儲系統(tǒng)而操作,且所述計算裝置的所述本地存儲器作為所述存儲系統(tǒng)的高速緩沖存儲器而操作。
3.根據(jù)權(quán)利要求1或權(quán)利要求2所述的非暫時性計算機可讀存儲媒體,其中所述文件列表包含: 對使用web應(yīng)用程序產(chǎn)生并存儲于所述存儲系統(tǒng)中的web文件的參考, 對使用安裝于所述計算裝置處的本地應(yīng)用程序產(chǎn)生的客戶端文件的參考,及 對來自在所述云環(huán)境外部操作的遠程源的遠程源文件的參考。
4.根據(jù)前述權(quán)利要求中任一權(quán)利要求所述的非暫時性計算機可讀存儲媒體,其中來自所述文件列表的所述文件為來自所述文件列表的第一文件,所述文件類別為web文件類別, 所述過程進一步包括: 響應(yīng)于從所述計算裝置接收的第一指令而指定來自所述文件列表的至少第二文件的離線可用性,所述第二文件為未經(jīng)高速緩存文件;以及 指定來自所述文件列表的高速緩存于所述本地存儲器中的至少第三文件的離線可用性。
5.根據(jù)前述權(quán)利要求中任一權(quán)利要求所述的非暫時性計算機可讀存儲媒體,其中所述文件列表為橫跨所述計算裝置的所述本地存儲器及所述存儲系統(tǒng)的分配給所述計算裝置的一部分的單一文件列表。
6.根據(jù)前述權(quán)利要求中任一權(quán)利要求所述的非暫時性計算機可讀存儲媒體,其中所述計算裝置為遠程連接到所述云環(huán)境的第一計算裝置, 所述過程進一步包括: 在遠程連接到所述云環(huán)境的第二計算裝置處存取所述文件列表,在于所述第二計算裝置處存取時的所述文件列表和在于所述第一計算裝置處存取時的所述文件列表相同。
7.根據(jù)前述權(quán)利要求中任一權(quán)利要求所述的非暫時性計算機可讀存儲媒體,其中所述指定所述文件包含在未從所述計算裝置接收到明確指令的情況下基于所述文件類別而指定來自所述文件列表的所述文件的離線可用性。
8.根據(jù)權(quán)利要求1、2、3、5、6或7中任一權(quán)利要求所述的非暫時性計算機可讀存儲媒體,其中來自所述文件列表的所述文件為基于所述文件類別而被指定為處于離線可用狀態(tài)中的第一文件,所述文件列表包含第二文件,所述第二文件基于所述第二文件最近在所述計算裝置的所述本地存儲器處被存取而被指定為處于所述離線可用狀態(tài)中,所述文件列表包含響應(yīng)于來自所述計算裝置的指令而被指定為處于所述離線可用狀態(tài)中的第三文件,且所述文件列表包含被指定為處于在線可用狀態(tài)中的第四文件。
9.一種非暫時性計算機可讀存儲媒體,其經(jīng)配置以存儲在執(zhí)行時致使一或多個處理器執(zhí)行一過程的指令,所述過程包括: 建立計算裝置與在云環(huán)境內(nèi)操作的存儲系統(tǒng)之間的通信鏈路的至少一部分; 接收打開存儲于所述存儲系統(tǒng)上的第一文件的請求; 響應(yīng)于打開所述第一文件的所述請求,將所述第一文件高速緩存于所述計算裝置的本地存儲器中,所述第一文件是以第一優(yōu)先級高速緩存的; 接收使存儲于所述存儲系統(tǒng)上的第二文件離線可用的請求; 響應(yīng)于使所述第二文件離線可用的所述請求,將所述第二文件高速緩存于所述計算裝置的所述本地存儲器中,所述第二文件是以低于所述第一優(yōu)先級的第二優(yōu)先級高速緩存的;以及 預(yù)測性地將存儲于所述存儲系統(tǒng)中的第三文件高速緩存于所述計算裝置的所述本地存儲器中,所述第三文件是基于所述第三文件的一或多個屬性而選擇的,所述第三文件是以低于所述第二優(yōu)先級的第三優(yōu)先級高速緩存的。
10.根據(jù)權(quán)利要求9所述的非暫時性計算機可讀存儲媒體,其中所述第一文件、所述第二文件及所述第三文件是基于其相應(yīng)優(yōu)先級且基于所述計算裝置的所述本地存儲器中的可用文件高速緩沖存儲器存儲容量的量而高速緩存于所述計算裝置的所述本地存儲器中。
11.根據(jù)權(quán)利要求9或權(quán)利要求10所述的非暫時性計算機可讀存儲媒體,所述過程進一步包括: 接收打開存儲于所述存儲系統(tǒng)上的第四文件的請求;以及 響應(yīng)于接收到所述打開所述第四文件的所述請求: 如果將所述第四文件高速緩存于所述計算裝置的所述本地存儲器中將超過文件高速緩存閾值,那么從所述計算裝置的所述本地存儲器驅(qū)除所述第三文件;以及 以所述第一優(yōu)先級將所述第四文件高速緩存于所述計算裝置的所述本地存儲器中。
12.根據(jù)權(quán)利要求9到11中任一權(quán)利要求所述的非暫時性計算機可讀存儲媒體,其中所述第一文件為以所述第一優(yōu)先級高速緩存的多個文件中的一者,所述多個文件是響應(yīng)于打開所述多個文件中的每一者的相應(yīng)請求而高速緩存于所述計算裝置的所述本地存儲器中。
13.根據(jù)權(quán)利要求9到12中任一權(quán)利要求所述的非暫時性計算機可讀存儲媒體,其中所述第二文件為以所述第二優(yōu)先級高速緩存的多個文件中的一者,所述多個文件是響應(yīng)于使所述多個文件中的每一者離線可用的相應(yīng)請求而高速緩存于所述計算裝置的所述本地存儲器中。
14.根據(jù)權(quán)利要求9到13中任一權(quán)利要求所述的非暫時性計算機可讀存儲媒體,其中: 所述第三文件為以所述第三優(yōu)先級高速緩存的多個文件中的一者;且 以所述第三優(yōu)先級高速緩存所述多個文件包含: 基于相應(yīng)最后修改日期而高速緩存第一預(yù)定數(shù)目個文件; 基于相應(yīng)最后檢視日期而高速緩存第二預(yù)定數(shù)目個文件;以及 基于相應(yīng)共享日期而高速緩存第三預(yù)定數(shù)目個文件。
15.根據(jù)權(quán)利要求14所述的非暫時性計算機可讀存儲媒體,其中以所述第三優(yōu)先級高速緩存所述多個文件進一步包含基于其在所述存儲系統(tǒng)中與一或多個先前經(jīng)高速緩存文件的關(guān)系而高速緩存第四預(yù)定數(shù)目個文件。
16.根據(jù)權(quán)利要求9到13中任一權(quán)利要求所述的非暫時性計算機可讀存儲媒體,其中: 所述第三文件為以所述第三優(yōu)先級高速緩存的多個文件中的一者;且以所述第三優(yōu)先級高速緩存所述多個文件包含通過在基于相應(yīng)最后修改日期高速緩存文件與基于相應(yīng)最后檢視日期高速緩存文件之間進行反復(fù)而高速緩存預(yù)定數(shù)目個文件。
17.根據(jù)權(quán)利要求9到16中任一權(quán)利要求所述的非暫時性計算機可讀存儲媒體,所述過程進一步包括: 接收從所述計算裝置的所述本地存儲器打開所述第三文件的請求; 將所述第三文件從所述第三優(yōu)先級改變?yōu)樗龅谝粌?yōu)先級;以及 改變所述第三文件的最后檢視日期。
18.一種非暫時性計算機可讀存儲媒體,其經(jīng)配置以存儲在執(zhí)行時致使一或多個處理器執(zhí)行一過程的指令,所述過程包括: 建立計算裝置與在云環(huán)境內(nèi)操作的存儲系統(tǒng)之間的通信鏈路的至少一部分,所述計算裝置包含經(jīng)配置以從所述存儲系統(tǒng)高速緩存文件的本地存儲器;接收已滿足或超過所述計算裝置的所述本地存儲器的文件高速緩存閾值的指示;以及響應(yīng)于所述指示,從所述計算裝置的所述本地存儲器驅(qū)除一組經(jīng)高速緩存文件的至少一部分直到滿足驅(qū)除閾值為止,所述組經(jīng)高速緩存文件的所述至少一部分是從最低高速緩存優(yōu)先級到最高高速緩存優(yōu)先級且基于所述組經(jīng)高速緩存文件中的每一文件的相應(yīng)時間戳而驅(qū)除的。
19.根據(jù)權(quán)利要求18所述的非暫時性計算機可讀存儲媒體,其中所述組經(jīng)高速緩存文件包含: 具有第一高速緩存優(yōu)先級的第一文件,所述第一文件已響應(yīng)于打開所述第一文件的請求而高速緩存; 具有第二高速緩存優(yōu)先級的第二文件,所述第二文件已響應(yīng)于使所述第二文件離線可用的請求而高速緩存,所述第二優(yōu)先級低于所述第一優(yōu)先級; 具有第三高速緩存優(yōu)先級的第三文件,所述第三文件已基于最后修改日期及最后檢視日期中的至少一者而高速緩存,所述第三高速緩存優(yōu)先級低于所述第二高速緩存優(yōu)先級;具有第四高速緩存優(yōu)先級的第四文件,所述第四文件已基于共享所述文件的日期而高速緩存,所述第四高速緩存優(yōu)先級低于所述第三高速緩存優(yōu)先級;以及 具有第五高速緩存優(yōu)先級的第五文件,所述第五高速緩存優(yōu)先級低于所述第四高速緩存優(yōu)先級,所述第五文件已基于其在所述存儲系統(tǒng)中與所述第一文件、所述第二文件、所述第三文件及所述第四文件中的至少一者的關(guān)系而高速緩存。
20.根據(jù)權(quán)利要求19所述的非暫時性計算機可讀存儲媒體,所述過程進一步包括在驅(qū)除具有所述第一高速緩存優(yōu)先級或所述第二高速緩存優(yōu)先級的文件之前請求來自用戶的確認。
21.根據(jù)權(quán)利要求18到20中任一權(quán)利要求所述的非暫時性計算機可讀存儲媒體,所述過程進一步包括: 接收存取所述組經(jīng)高速緩存文件中的文件的請求,請求存取的所述文件具有低于所述最高高速緩存優(yōu)先級的高速緩存優(yōu)先級;以及 響應(yīng)于所述請求,將請求存取的所述文件的所述高速緩存優(yōu)先級改變?yōu)樗鲎罡吒咚倬彺鎯?yōu)先級。
【文檔編號】G06F15/16GK104412249SQ201380023770
【公開日】2015年3月11日 申請日期:2013年5月3日 優(yōu)先權(quán)日:2012年5月5日
【發(fā)明者】J·伍德沃德, 稻葉和弘, K·B·穆爾, K·譚, A·班達卡 申請人:谷歌公司