欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于web應(yīng)用和本地代碼模塊的文件系統(tǒng)訪問(wèn)的制作方法

文檔序號(hào):6595780閱讀:237來(lái)源:國(guó)知局
專利名稱:用于web應(yīng)用和本地代碼模塊的文件系統(tǒng)訪問(wèn)的制作方法
技術(shù)領(lǐng)域
本發(fā)明的實(shí)施方式涉及用于執(zhí)行web應(yīng)用的技術(shù)。更具體地,本發(fā)明的實(shí)施方式涉及一種用于向web應(yīng)用和本地代碼模塊提供文件系統(tǒng)訪問(wèn)的方法和系統(tǒng)。
背景技術(shù)
計(jì)算機(jī)系統(tǒng)可以包括為用戶執(zhí)行各種任務(wù)的多個(gè)本地應(yīng)用。這種本地應(yīng)用可以包括文字處理器、電子郵件客戶端、媒體播放器、圖像或信號(hào)處理模塊和/或web瀏覽器。為了高效運(yùn)行,本地應(yīng)用通常利用通用編程語(yǔ)言(諸如,C或C++)和低級(jí)語(yǔ)言(諸如,匯編語(yǔ)言)的組合進(jìn)行編寫(xiě)。此外,本地應(yīng)用有權(quán)訪問(wèn)諸如圖形硬件、聲卡、文件系統(tǒng)和/或網(wǎng)絡(luò)資源的系統(tǒng)資源。因此,本地應(yīng)用可以向該本地應(yīng)用安裝于其上的計(jì)算機(jī)系統(tǒng)的用戶提供計(jì)算密集型和/或資源特定的特征。然而,本地應(yīng)用的低層特質(zhì)可能將應(yīng)用限制于特定平臺(tái)、引發(fā)較長(zhǎng)的安裝過(guò)程,和/或造成安全風(fēng)險(xiǎn)。另一方面,近年來(lái)愈發(fā)流行的web應(yīng)用通常以更加安全且不需要安裝的腳本語(yǔ)言進(jìn)行編寫(xiě)。然而,web應(yīng)用可能缺乏本地應(yīng)用的性能能力。具體地,較之于本地應(yīng)用,web應(yīng)用的運(yùn)行速度可能慢上一至兩個(gè)量級(jí)。此外,web應(yīng)用通常不能訪問(wèn)本地應(yīng)用可用的低層系統(tǒng)資源。結(jié)果,web應(yīng)用可能不能實(shí)現(xiàn)在本地應(yīng)用中可用的某些特征。因此,需要這樣的技術(shù),其支持web應(yīng)用中的本地性能和功能,而又不會(huì)損失web 應(yīng)用的安全性。

發(fā)明內(nèi)容
一個(gè)實(shí)施方式提供了一種用于促進(jìn)web應(yīng)用執(zhí)行的系統(tǒng)。在操作期間,該系統(tǒng)分配位于一個(gè)或多個(gè)存儲(chǔ)設(shè)備上的存儲(chǔ)空間以供該web應(yīng)用使用。接著,該系統(tǒng)為web應(yīng)用創(chuàng)建位于存儲(chǔ)空間內(nèi)包括私有根目錄的私有文件系統(tǒng)。最后,該系統(tǒng)支持web應(yīng)用以這樣的方式來(lái)通過(guò)私有根目錄訪問(wèn)私有文件系統(tǒng),即,不允許從web應(yīng)用訪問(wèn)與一個(gè)或多個(gè)存儲(chǔ)設(shè)備關(guān)聯(lián)的主機(jī)文件系統(tǒng)。在某些實(shí)施方式中,該系統(tǒng)還限制從web應(yīng)用以外的源對(duì)私有文件系統(tǒng)的訪問(wèn)。在某些實(shí)施方式中,限制從源對(duì)私有文件系統(tǒng)的訪問(wèn)包括阻止在與web應(yīng)用關(guān)聯(lián)的域之外對(duì)私有文件系統(tǒng)的訪問(wèn),以及管理從域內(nèi)的一個(gè)或多個(gè)本地代碼模塊對(duì)私有文件系統(tǒng)的訪問(wèn)。在某些實(shí)施方式中,管理從一個(gè)或多個(gè)本地代碼模塊對(duì)私有文件系統(tǒng)的訪問(wèn)包括強(qiáng)制實(shí)施本地代碼模塊中的每一個(gè)本地代碼模塊對(duì)私有文件系統(tǒng)的訪問(wèn)權(quán)限集合。在某些實(shí)施方式中,訪問(wèn)權(quán)限中的一個(gè)或多個(gè)訪問(wèn)權(quán)限在本地代碼模塊之間傳遞。在某些實(shí)施方式中,該系統(tǒng)還強(qiáng)制實(shí)施針對(duì)私有文件系統(tǒng)的大小限制。在某些實(shí)施方式中,強(qiáng)制實(shí)施針對(duì)私有文件系統(tǒng)的大小限制包括在由web應(yīng)用訪問(wèn)私有文件系統(tǒng)期間,周期性地監(jiān)控存儲(chǔ)空間的大小,以及如果存儲(chǔ)空間的大小超過(guò)大小限制,則執(zhí)行修正動(dòng)作。在某些實(shí)施方式中,執(zhí)行修正動(dòng)作包括以下至少一個(gè)更新大小限制;限制web應(yīng)用對(duì)私有文件系統(tǒng)的寫(xiě)入特權(quán);通知web應(yīng)用的用戶;以及終止web應(yīng)用。在某些實(shí)施方式中,私有文件系統(tǒng)使用與web應(yīng)用關(guān)聯(lián)的關(guān)系型數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)。


圖1示出了系統(tǒng)的示意圖。圖2示出了示例性私有文件系統(tǒng)。圖3給出了示出促進(jìn)web應(yīng)用執(zhí)行的過(guò)程的流程圖。在附圖中,相似的附圖標(biāo)記指代相同的附圖元素。
具體實(shí)施例方式呈現(xiàn)以下描述是為了使本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)并使用實(shí)施方式,并且以下描述提供在特定應(yīng)用及其需求的上下文中。對(duì)所公開(kāi)實(shí)施方式的各種修改易于被本領(lǐng)域技術(shù)人員所理解,并且此處限定的總體思想可以在不脫離本公開(kāi)精神和范圍的前提下應(yīng)用于其他實(shí)施方式和應(yīng)用。由此,本發(fā)明的實(shí)施方式不限于示出的實(shí)施方式,而是遵從此處公開(kāi)的特征和原理一致的最寬廣范圍。在此具體描述中進(jìn)行描述的數(shù)據(jù)結(jié)構(gòu)和代碼通常存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上, 其可以是能存儲(chǔ)供計(jì)算機(jī)系統(tǒng)使用的代碼和/或數(shù)據(jù)的任何設(shè)備或介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括但不限于易失性存儲(chǔ)器、非易失性存儲(chǔ)器、磁和光存儲(chǔ)設(shè)備,諸如,盤(pán)驅(qū)動(dòng)、磁帶、 CD (壓縮盤(pán))、DVD (數(shù)字通用盤(pán)或數(shù)字視頻盤(pán))或者能夠存儲(chǔ)計(jì)算機(jī)可讀介質(zhì)的現(xiàn)在已知或日后研發(fā)的其他介質(zhì)。在此具體描述中進(jìn)行描述的方法和過(guò)程可以實(shí)現(xiàn)為代碼和/或數(shù)據(jù),其可以存儲(chǔ)在如上所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。當(dāng)計(jì)算機(jī)系統(tǒng)讀取并且執(zhí)行存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的代碼和/或數(shù)據(jù)時(shí),計(jì)算機(jī)系統(tǒng)執(zhí)行體現(xiàn)為數(shù)據(jù)結(jié)構(gòu)和代碼并且存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中的方法和過(guò)程。此外,此處描述的方法和過(guò)程可以包括在硬件模塊或裝置中。這些模塊或裝置可以包括但不限于專用集成電路(ASIC)芯片、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)、在特定時(shí)間執(zhí)行特定軟件模塊或代碼塊的專用或共享處理器,和/或現(xiàn)在已知或?qū)?lái)開(kāi)發(fā)的其他可編程邏輯設(shè)備。當(dāng)這些硬件模塊或裝置被激活時(shí),它們將執(zhí)行包括于其中的方法和過(guò)程。實(shí)施方式提供了用于促進(jìn)web應(yīng)用執(zhí)行的方法和系統(tǒng)。該web應(yīng)用可以加載至 web瀏覽器并在計(jì)算系統(tǒng)上執(zhí)行,其中計(jì)算系統(tǒng)諸如是個(gè)人計(jì)算機(jī)(PC)、移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、繪圖計(jì)算器、便攜式媒體播放器、全球定位系統(tǒng)(GPQ接收機(jī)和/或另一電子計(jì)算設(shè)備。該web應(yīng)用可以由計(jì)算系統(tǒng)使用連至服務(wù)器的網(wǎng)絡(luò)連接而從該服務(wù)器獲得。例如,web應(yīng)用可以通過(guò)因特網(wǎng)從網(wǎng)站下載。更具體地,實(shí)施方式提供了一種用于向web應(yīng)用提供文件系統(tǒng)服務(wù)的方法和系統(tǒng)。該文件系統(tǒng)服務(wù)可以通過(guò)分配位于一個(gè)或多個(gè)存儲(chǔ)設(shè)備上的存儲(chǔ)空間以供該web應(yīng)用使用以及創(chuàng)建位于該存儲(chǔ)空間中的私有文件系統(tǒng)而得以提供。繼而,可以支持web應(yīng)用通過(guò)該私有文件系統(tǒng)中的私有根目錄來(lái)訪問(wèn)私有文件系統(tǒng),而無(wú)需允許該web應(yīng)用訪問(wèn)與一個(gè)或多個(gè)存儲(chǔ)設(shè)備關(guān)聯(lián)的主機(jī)文件系統(tǒng)。另外,可以針對(duì)私有文件系統(tǒng)強(qiáng)制實(shí)施大小限制, 同時(shí)可以限制在該web應(yīng)用以外的資源對(duì)私有文件系統(tǒng)的訪問(wèn)。圖1示出了系統(tǒng)的示意圖。該系統(tǒng)包括計(jì)算系統(tǒng)102和服務(wù)器集合(例如,服務(wù)器1104、服務(wù)器χ 106)。計(jì)算系統(tǒng)102包括在web瀏覽器110內(nèi)運(yùn)行的web應(yīng)用116、插件108、文件系統(tǒng)管理器120、存儲(chǔ)設(shè)備的集合124-126,和主機(jī)文件系統(tǒng)128。這些部件中的每一個(gè)將在下文進(jìn)一步詳細(xì)描述。計(jì)算系統(tǒng)102可以對(duì)應(yīng)于向用戶提供一個(gè)或多個(gè)服務(wù)或功能的電子設(shè)備。例如, 計(jì)算系統(tǒng)102可以操作為移動(dòng)電話、個(gè)人計(jì)算機(jī)(PC)、全球定位系統(tǒng)(GPQ接收機(jī)、便攜式媒體播放器、個(gè)人數(shù)字助理(PDA)和/或繪圖計(jì)算器。另外,計(jì)算系統(tǒng)102可以包括操作系統(tǒng)(未示出),其對(duì)計(jì)算系統(tǒng)102上的硬件和軟件資源的使用以及執(zhí)行針對(duì)用戶的專門(mén)任務(wù)的一個(gè)或多個(gè)應(yīng)用(例如,web瀏覽器110、web應(yīng)用116)進(jìn)行協(xié)調(diào)。例如,計(jì)算系統(tǒng)102可以包括諸如電子郵件客戶端、地址簿、文檔編輯器、web瀏覽器110和/或媒體播放器之類的應(yīng)用。為了執(zhí)行用戶的任務(wù),應(yīng)用可以從操作系統(tǒng)獲得計(jì)算系統(tǒng)102上硬件資源(例如,處理器、存儲(chǔ)器、I/O部件、網(wǎng)絡(luò)接口卡、圖形處理單元(GPU)、存儲(chǔ)設(shè)備等)的使用, 以及通過(guò)該操作系統(tǒng)提供的硬件和/或軟件框架而與用戶進(jìn)行交互,以下對(duì)此進(jìn)行描述。在一個(gè)或多個(gè)實(shí)施方式中,計(jì)算系統(tǒng)102包括用于使用網(wǎng)絡(luò)連接來(lái)獲得和/或執(zhí)行應(yīng)用的功能。具體地,計(jì)算系統(tǒng)102可以使用連至服務(wù)器的網(wǎng)絡(luò)連接從一個(gè)或多個(gè)服務(wù)器(例如,服務(wù)器1104,服務(wù)器χ 106)獲得web應(yīng)用116,并且在web瀏覽器110中加載 web應(yīng)用116。例如,可以由web瀏覽器110通過(guò)因特網(wǎng)從應(yīng)用服務(wù)器下載web應(yīng)用116。一經(jīng)加載,web應(yīng)用116可以提供能夠與計(jì)算系統(tǒng)102上的本地應(yīng)用相匹敵的特征和用戶交互性。例如,web應(yīng)用116可以作為電子郵件客戶端、文檔編輯器、媒體播放器、 計(jì)算機(jī)輔助設(shè)計(jì)(CAD)系統(tǒng)和/或計(jì)算機(jī)游戲起作用。Web應(yīng)用116還可以包括動(dòng)態(tài)用戶接口元素,諸如菜單、按鈕、窗口、子窗口、圖標(biāo)、動(dòng)畫(huà)和/或模擬本地應(yīng)用中類似的用戶接口元素的其他圖形對(duì)象。換言之,web應(yīng)用116可以對(duì)應(yīng)于富因特網(wǎng)應(yīng)用(RIA)。此外,web應(yīng)用116可以在計(jì)算系統(tǒng)102上執(zhí)行,無(wú)論與該計(jì)算系統(tǒng)102關(guān)聯(lián)的平臺(tái)類型(例如,操作系統(tǒng)、驅(qū)動(dòng)器等)是什么。盡管獨(dú)立于平臺(tái)的應(yīng)用(諸如web應(yīng)用116) 較之于本地應(yīng)用能夠更加便攜和安全,但是這種交叉平臺(tái)應(yīng)用可能缺乏本地應(yīng)用的某些性能能力。更具體地,非本地應(yīng)用(諸如,web應(yīng)用116)可以使用能被解釋而非編譯的腳本語(yǔ)言(諸如 JavaScript (JavaScriptTM 是 Sun Microsystems Inc.的注冊(cè)商標(biāo)))進(jìn)行編寫(xiě)。web應(yīng)用116和/或其他非本地應(yīng)用的解釋特質(zhì)可能使非本地應(yīng)用的執(zhí)行時(shí)間比經(jīng)編譯的本地應(yīng)用的執(zhí)行時(shí)間慢很多。而且,非本地應(yīng)用可能不能利用可供本地應(yīng)用使用的低層庫(kù)和/或應(yīng)用編程接口(API)。因此,非本地應(yīng)用在某些任務(wù)上能提供的功能有限。為了支持web應(yīng)用的本地性能,計(jì)算系統(tǒng)102可以獲得并執(zhí)行插件108內(nèi)的本地代碼模塊118。與web應(yīng)用116 —樣,本地代碼模塊118可以由web瀏覽器110從一個(gè)或多個(gè)服務(wù)器(例如,服務(wù)器1 104,服務(wù)器χ 106)獲得。例如,web應(yīng)用116可以提供到因特網(wǎng)上本地代碼模塊118的超鏈接。Web瀏覽器110繼而可以從在該超鏈接中指定的統(tǒng)一資源定位符(URL)下載本地代碼模塊118。備選地,本地代碼模塊118可以由用戶或外部資源 (諸如另一 web應(yīng)用和/或本地應(yīng)用)指定。
更具體地,本地代碼模塊118可以對(duì)應(yīng)于包含在計(jì)算系統(tǒng)102提供的硬件(諸如 CPU)上直接運(yùn)行的本地代碼的軟件模塊。結(jié)果,本地代碼模塊118可以用于執(zhí)行需要大量訪問(wèn)計(jì)算系統(tǒng)102上的CPU資源的任務(wù)。例如,本地代碼模塊118可以由web應(yīng)用116使用以提供與物理仿真、信號(hào)處理、人工智能、建模和/或分析關(guān)聯(lián)的計(jì)算密集型特征。在一個(gè)或多個(gè)實(shí)施方式中,插件108包括用于確保本地代碼模塊118安全執(zhí)行的各種機(jī)制。具體地,本地代碼模塊118可以在執(zhí)行之前由插件108提供的驗(yàn)證器112進(jìn)行驗(yàn)證。本地代碼模塊驗(yàn)證在以下共同未決非臨時(shí)申請(qǐng)中進(jìn)行了描述2008年5月8日提交、題目為"Method for Validating an Untrusted Native Code Module,,、序列號(hào)為 12/117,634、胃明入為 J. Bradley Chen, Matthew T. Harren, Matthew Papakipos, David C. Sehr和Bennet S. Yee的申請(qǐng),通過(guò)參考將其在此并入。一旦本地代碼模塊118經(jīng)過(guò)驗(yàn)證,則本地代碼模塊118可以加載至由插件108提供的安全運(yùn)行時(shí)環(huán)境114中。在安全運(yùn)行時(shí)環(huán)境中執(zhí)行本地代碼在共同未決非臨時(shí)申請(qǐng)中進(jìn)行了描述2008年 5 月 8 日提交、題目為"Method for Safely Executing an Untrusted Native Code Module on a Computing Device”、序列號(hào)為 12/117,650、發(fā)明人為 J. Bradley Chen, Matthew T. Harren, Matthew Papakipos, David C. Sehr, Bennet S. Yee 禾口 Gregory Dardyk的申請(qǐng),通過(guò)參考將其在此并入。安全運(yùn)行時(shí)環(huán)境114也可以由針對(duì)web瀏覽器110 的web瀏覽器擴(kuò)展提供,和/或安全運(yùn)行時(shí)環(huán)境114可以構(gòu)建在web瀏覽器110中。此外,由于本地代碼模塊118可以包括直接在硬件上運(yùn)行的二進(jìn)制代碼,所以本地代碼模塊118關(guān)于計(jì)算系統(tǒng)102的操作系統(tǒng)、web瀏覽器110和/或計(jì)算系統(tǒng)102上的其他軟件組件而言可以是平臺(tái)獨(dú)立的。如在以上參考的申請(qǐng)中所描述的,插件108和/或本地代碼模塊118還可以包括用于在各種指令集架構(gòu)上執(zhí)行的機(jī)制,包括“胖二進(jìn)制”和二進(jìn)制轉(zhuǎn)譯器的使用。本領(lǐng)域技術(shù)人員將理解,用于執(zhí)行web應(yīng)用116和本地代碼模塊118的安全機(jī)制可以排除web應(yīng)用116和本地代碼模塊118對(duì)計(jì)算系統(tǒng)102上系統(tǒng)服務(wù)的訪問(wèn)。具體地, web應(yīng)用116和本地代碼模塊118的受限執(zhí)行可以抑制從web應(yīng)用116或本地代碼模塊118 對(duì)文件系統(tǒng)服務(wù)的訪問(wèn)。例如,安全限制可以阻止web應(yīng)用116和本地代碼模塊118訪問(wèn)計(jì)算系統(tǒng)102上的主機(jī)文件系統(tǒng)128。結(jié)果,web應(yīng)用116和/或本地代碼模塊118在存儲(chǔ)、讀取、寫(xiě)入以及傳送大量二進(jìn)制數(shù)據(jù)時(shí)存在問(wèn)題。例如,web應(yīng)用116和/或本地代碼模塊118可能在存儲(chǔ)和處理文件(諸如,較大圖像、媒體(例如,音頻、視頻等)和/或游戲資產(chǎn))時(shí)受到容量限制。在一個(gè)或多個(gè)實(shí)施方式中,用于web應(yīng)用116和本地代碼模塊118的文件系統(tǒng)服務(wù)由文件系統(tǒng)管理器120支持。文件系統(tǒng)管理器120可以實(shí)現(xiàn)為針對(duì)web瀏覽器110的插件、針對(duì)web瀏覽器110的web瀏覽器擴(kuò)展和/或web瀏覽器110的部分。如圖1所示,文件系統(tǒng)管理器120可以創(chuàng)建供web應(yīng)用116和本地代碼模塊118使用的私有文件系統(tǒng)122。 私有文件系統(tǒng)122可以駐留在計(jì)算系統(tǒng)102內(nèi)的或者附接至計(jì)算系統(tǒng)102的一個(gè)或多個(gè)存儲(chǔ)設(shè)備上,諸如一個(gè)或多個(gè)硬盤(pán)驅(qū)動(dòng)、光盤(pán)、易失性存儲(chǔ)器(例如,隨機(jī)訪問(wèn)存儲(chǔ)器 (RAM))和/或閃存儲(chǔ)器設(shè)備。而且,如下所述,文件系統(tǒng)管理器120可以通過(guò)將私有文件系統(tǒng)122與主機(jī)文件系統(tǒng)128隔離以及限制在web應(yīng)用116的域之外對(duì)私有文件系統(tǒng)122的訪問(wèn)來(lái)促進(jìn)web應(yīng)用116和本地代碼模塊118的安全執(zhí)行。
為了向web應(yīng)用116提供文件系統(tǒng)服務(wù),文件系統(tǒng)管理器120可以分配位于一個(gè)或多個(gè)存儲(chǔ)設(shè)備124-1 上的存儲(chǔ)空間以供web應(yīng)用116使用。存儲(chǔ)設(shè)備124-1 可以包括計(jì)算系統(tǒng)102內(nèi)的、附接至計(jì)算系統(tǒng)102的和/或通過(guò)網(wǎng)絡(luò)連接從計(jì)算系統(tǒng)102可訪問(wèn)的存儲(chǔ)設(shè)備。例如,存儲(chǔ)空間中的某些可以分配在服務(wù)器(例如,服務(wù)器1104,服務(wù)器 χ 106)上的硬盤(pán)驅(qū)動(dòng)中。文件系統(tǒng)管理器120繼而可以創(chuàng)建位于存儲(chǔ)空間內(nèi)的私有文件系統(tǒng)122。文件系統(tǒng)管理器120還可以支持web應(yīng)用116通過(guò)私有文件系統(tǒng)122中的私有根目錄對(duì)私有文件系統(tǒng)122的訪問(wèn)。例如,web應(yīng)用116可以使用私有根目錄以及與文件系統(tǒng)管理器120的插件接口來(lái)執(zhí)行文件系統(tǒng)命令,諸如“open (打開(kāi))”、“seek(查找)”、 “close (關(guān)閉)”、“read(讀取)”、“write (寫(xiě)入)”、“truncate (截取)”、“mkdir (創(chuàng)建目錄)”、“unlink(解鏈)”、“rmdir (刪除目錄)”、“opendir (打開(kāi)目錄)”、“readdir (讀取目錄)”、“closedir (關(guān)閉目錄)”、“mv (移動(dòng))”和“_即(存儲(chǔ)器映射)”。此外,文件系統(tǒng)管理器120可以支持web應(yīng)用116對(duì)私有文件系統(tǒng)的訪問(wèn),而無(wú)需允許web應(yīng)用116訪問(wèn)主機(jī)文件系統(tǒng)128。換言之,文件系統(tǒng)管理器120可以通過(guò)阻止web 應(yīng)用116訪問(wèn)私有文件系統(tǒng)122之外的文件和目錄(包括主機(jī)文件系統(tǒng)中的本地應(yīng)用可訪問(wèn)的文件和目錄和/或用于計(jì)算系統(tǒng)102中其他web應(yīng)用的私有文件系統(tǒng))來(lái)實(shí)現(xiàn)文件系統(tǒng)安全性。文件系統(tǒng)管理器120還限制從web應(yīng)用116以外的源對(duì)私有文件系統(tǒng)122的訪問(wèn)。 更具體地,文件系統(tǒng)管理器120可以阻止在與web應(yīng)用116關(guān)聯(lián)的域之外對(duì)私有文件系統(tǒng) 122的訪問(wèn)。例如,文件系統(tǒng)管理器可以將web應(yīng)用116的域限定為由web應(yīng)用116使用的網(wǎng)頁(yè)和/或模塊(例如,本地代碼模塊118)的集合。該域之外的網(wǎng)頁(yè)、模塊和/或應(yīng)用由此不能訪問(wèn)私有文件系統(tǒng)122,并且可以轉(zhuǎn)而訪問(wèn)由文件系統(tǒng)管理器120和/或計(jì)算系統(tǒng) 102上的其他文件系統(tǒng)機(jī)制所提供給的自己的私有文件系統(tǒng)。此外,文件系統(tǒng)管理器120可以管理web應(yīng)用116域內(nèi)的本地代碼模塊118和/或其他模塊(例如,本地代碼模塊、插件等)對(duì)私有文件系統(tǒng)122的訪問(wèn)。具體地,對(duì)私有文件系統(tǒng)122的基于模塊的訪問(wèn)可以通過(guò)強(qiáng)制實(shí)施每個(gè)模塊對(duì)私有文件系統(tǒng)122的訪問(wèn)權(quán)限集合來(lái)進(jìn)行管理。例如,文件系統(tǒng)管理器120可以將私有文件系統(tǒng)122分割成三個(gè)區(qū)域,每個(gè)區(qū)域可僅由web應(yīng)用116域內(nèi)的三個(gè)模塊中的一個(gè)進(jìn)行訪問(wèn)。為了將私有文件系統(tǒng)122 分割成區(qū)域,文件系統(tǒng)管理器120可以使用私有根目錄內(nèi)的單獨(dú)目錄來(lái)定義每個(gè)區(qū)域。為了強(qiáng)制實(shí)施模塊對(duì)區(qū)域的訪問(wèn)權(quán)限,文件系統(tǒng)120可以通過(guò)將每個(gè)目錄設(shè)置為用于模塊之一的表見(jiàn)(apparent)根目錄來(lái)實(shí)現(xiàn)“chroot (改變根目錄)”功能。結(jié)果,每個(gè)模塊可僅具有針對(duì)在私有文件系統(tǒng)122內(nèi)指派給該模塊的表見(jiàn)根目錄以及該表見(jiàn)根目錄內(nèi)的任何子目錄和文件的訪問(wèn)權(quán)。文件系統(tǒng)管理器120可以進(jìn)一步允許在模塊之間傳遞訪問(wèn)權(quán)限。例如,一個(gè)模塊可以通過(guò)向其他模塊傳遞用于目錄和/或文件的文件描述符來(lái)授予其他模塊對(duì)該文件和/ 或目錄的訪問(wèn)權(quán)。備選地,文件系統(tǒng)管理器120可以允許每個(gè)模塊顯式指定其他模塊對(duì)該模塊表見(jiàn)根目錄內(nèi)的文件和目錄的訪問(wèn)權(quán)限。例如,模塊可以支持通過(guò)文件系統(tǒng)管理器120 對(duì)用于一個(gè)或多個(gè)其他模塊的目錄的讀取和/或?qū)懭朐L問(wèn)。私有文件系統(tǒng)122中的表見(jiàn)根目錄、目錄、文件和權(quán)限在下文關(guān)于圖2做出進(jìn)一步描述。文件系統(tǒng)管理器120還可以提供針對(duì)私有文件系統(tǒng)122的配額管理。換言之,文件系統(tǒng)管理器120可以強(qiáng)制實(shí)行針對(duì)私有文件系統(tǒng)122的大小限制。該大小限制可以由web 應(yīng)用116請(qǐng)求、由用戶設(shè)置、和/或由文件系統(tǒng)管理器120基于用于web應(yīng)用的缺省大小限制值進(jìn)行自動(dòng)設(shè)置。此外,大小限制可以通過(guò)在web應(yīng)用116訪問(wèn)私有文件系統(tǒng)122期間周期性地監(jiān)控私有文件系統(tǒng)122占據(jù)的存儲(chǔ)空間大小來(lái)強(qiáng)制實(shí)施。如果存儲(chǔ)空間的大小超過(guò)了大小限制,則可以由文件系統(tǒng)管理器120執(zhí)行修正動(dòng)作。例如,文件系統(tǒng)管理器120可以更新(例如,增大)大小限制,限制web應(yīng)用116對(duì)私有文件系統(tǒng)122的寫(xiě)入特權(quán),通知 web應(yīng)用116的用戶,和/或終止web應(yīng)用116以及移除存儲(chǔ)在私有文件系統(tǒng)122中的數(shù)據(jù)。換言之,文件系統(tǒng)管理器120可以在強(qiáng)制實(shí)施針對(duì)私有文件系統(tǒng)122的大小限制時(shí)利用事后更正模型(eventual correctness model),以保存與檢查或改變存儲(chǔ)空間大小關(guān)聯(lián)的開(kāi)銷(xiāo)。然而,文件系統(tǒng)管理器120也可以實(shí)現(xiàn)實(shí)時(shí)配額管理系統(tǒng),其持續(xù)地監(jiān)控存儲(chǔ)空間的大小和/或針對(duì)大小限制的嚴(yán)格一致性(如果保證這種嚴(yán)格一致性的話)來(lái)驗(yàn)證相關(guān)文件系統(tǒng)調(diào)用(例如,配額分配調(diào)用)。例如,如果針對(duì)web應(yīng)用116和/或私有文件系統(tǒng) 122的安全策略需要嚴(yán)格遵守私有文件系統(tǒng)122的大小限制的話,可以針對(duì)私有文件系統(tǒng) 122啟用實(shí)時(shí)配額管理。在一個(gè)或多個(gè)實(shí)施方式中,文件系統(tǒng)管理器120包括用于對(duì)在單獨(dú)過(guò)程中執(zhí)行的多個(gè)模塊(例如,web應(yīng)用116、本地代碼模塊118、其他模塊等)對(duì)私有文件系統(tǒng)122的并發(fā)訪問(wèn)進(jìn)行管理的協(xié)調(diào)機(jī)制。協(xié)調(diào)機(jī)制也可以作為單獨(dú)過(guò)程而執(zhí)行,并且執(zhí)行諸如對(duì)來(lái)自多個(gè)過(guò)程的文件系統(tǒng)命令的串行化、文件鎖定、配額分配和原子文件創(chuàng)建之類的任務(wù)。換言之,協(xié)調(diào)機(jī)制可以管理模塊與私有文件系統(tǒng)122之間的交互,如果這種交互影響到其他模塊的動(dòng)作或者受到其他模塊的動(dòng)作影響的話。例如,希望寫(xiě)入新文件的模塊可以首先從協(xié)調(diào)機(jī)制獲得用于該新文件的空間,并繼而將該數(shù)據(jù)直接流式傳輸至私有文件系統(tǒng)122。此外,模塊與協(xié)調(diào)機(jī)制之間的通信可以由在模塊與協(xié)調(diào)機(jī)制之間建立模塊間通信(IMC)通道的IMC運(yùn)行時(shí)來(lái)促進(jìn)。本領(lǐng)域技術(shù)人員可以理解,私有文件系統(tǒng)122可以由文件系統(tǒng)管理器120以多種方式創(chuàng)建。例如,私有文件系統(tǒng)122可以被創(chuàng)建為主機(jī)文件系統(tǒng)128的隔離子集。文件系統(tǒng)管理器120可以由此向web應(yīng)用116和關(guān)聯(lián)模塊提供文件系統(tǒng)命令,這些命令作為用以訪問(wèn)主機(jī)文件系統(tǒng)128的類似文件系統(tǒng)命令的經(jīng)轉(zhuǎn)譯、防護(hù)通過(guò)(guarded pass-through) 版本。另一方面,文件系統(tǒng)管理器120可以使用與web應(yīng)用116關(guān)聯(lián)的關(guān)系型數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)私有文件系統(tǒng)122。例如,文件系統(tǒng)管理器120可以在關(guān)系型數(shù)據(jù)庫(kù)查詢之上實(shí)現(xiàn)文件系統(tǒng)命令,用于訪問(wèn)計(jì)算系統(tǒng)102上為web應(yīng)用116提供局部關(guān)系型數(shù)據(jù)存儲(chǔ)的關(guān)系型數(shù)據(jù)庫(kù)。圖2示出了示例性私有文件系統(tǒng)。如上所述,該私有文件系統(tǒng)可以由文件系統(tǒng)管理器(例如,圖1的文件系統(tǒng)管理器120)創(chuàng)建以供web應(yīng)用(例如,圖1的web應(yīng)用116) 和/或該web應(yīng)用的域內(nèi)的其他模塊(諸如本地代碼模塊或插件)使用。如圖2所示,私有文件系統(tǒng)包括以樹(shù)結(jié)構(gòu)組織的私有根目錄200、表見(jiàn)根目錄202-206的集合、目錄208-216 的集合和文件218-2M的集合。私有根目錄200可以用作該樹(shù)結(jié)構(gòu)的根。結(jié)果,表見(jiàn)根目錄202-206、目錄208-216 和文件218-2M都可以位于私有根目錄200之下。此外,私有根目錄200可以用作web應(yīng)用去往私有文件系統(tǒng)的接入點(diǎn)。換言之,web應(yīng)用可以通過(guò)指定自私有根目錄200開(kāi)始的路徑來(lái)調(diào)用私有文件系統(tǒng)。例如,web應(yīng)用可以通過(guò)將路徑諸如“mydirect0ry/file218. txt”指定為由文件系統(tǒng)管理器提供的“open”文件系統(tǒng)命令的參數(shù)。在此路徑內(nèi),私有根目錄200可以由第一正斜線(例如,“/”)代表,目錄208可以使用“mydirectory/”來(lái)指定, 以及文件218可以使用“file218.txt”來(lái)指定。web應(yīng)用繼而可以使用由“open”命令返回的文件描述符來(lái)從文件218讀取或向其寫(xiě)入。如前所述,私有文件系統(tǒng)也可以由web應(yīng)用的域內(nèi)的模塊進(jìn)行訪問(wèn)。每個(gè)模塊可以進(jìn)一步與針對(duì)私有文件系統(tǒng)的訪問(wèn)權(quán)限集合關(guān)聯(lián)。具體地,每個(gè)模塊可以僅有權(quán)按照web 應(yīng)用的規(guī)定訪問(wèn)該私有文件系統(tǒng)的特定區(qū)域。另外,特定模塊可訪問(wèn)的區(qū)域可以由指派給該模塊的表見(jiàn)根目錄202-206來(lái)代表。例如,表見(jiàn)根目錄204可被指派給與該web應(yīng)用關(guān)聯(lián)的本地代碼模塊。該本地代碼模塊可以訪問(wèn)目錄212-214和文件222,其中表見(jiàn)根目錄 204作為去往目錄212-214和文件222的路徑中的最頂層目錄(例如,“/”)。此外,本地代碼模塊可能不能訪問(wèn)表見(jiàn)根目錄204之外的目錄和文件。結(jié)果,在私有文件系統(tǒng)中使用多個(gè)表見(jiàn)根目錄202-206可以允許與針對(duì)與該web應(yīng)用關(guān)聯(lián)的模塊的“chroot”操作類似的功能。類似地,針對(duì)一個(gè)模塊的訪問(wèn)權(quán)限可以整個(gè)包含在用于另一模塊的可訪問(wèn)區(qū)域內(nèi)。例如,表見(jiàn)根目錄202可以被指派給與該web應(yīng)用關(guān)聯(lián)的插件。該插件由此可以訪問(wèn)目錄210、表見(jiàn)根目錄206、目錄216和文件224。該插件還可以通過(guò)文件系統(tǒng)管理器提供的文件系統(tǒng)命令來(lái)創(chuàng)建和移除表見(jiàn)根目錄202內(nèi)的目錄和文件。然而,表見(jiàn)根目錄206可以被指派給與該web應(yīng)用關(guān)聯(lián)的本地代碼模塊。結(jié)果,該本地代碼模塊僅有權(quán)訪問(wèn)位于或者低于表見(jiàn)根目錄206的目錄和文件(諸如目錄216和文件224)。此外,對(duì)目錄210和/ 或表見(jiàn)根目錄206的改變可能影響本地代碼模塊對(duì)私有文件系統(tǒng)的訪問(wèn)。例如,如果目錄 210或表見(jiàn)根目錄206從私有文件系統(tǒng)被移除的話,本地代碼模塊可能不能訪問(wèn)私有文件系統(tǒng)。模塊的訪問(wèn)權(quán)限也可以通過(guò)在模塊之間傳遞而得以更新。如上所述,模塊可以通過(guò)向另一模塊傳遞目錄或文件的文件描述符來(lái)共享對(duì)文件或目錄的訪問(wèn)。例如,被指派以表見(jiàn)根目錄204的本地代碼模塊可以通過(guò)打開(kāi)文件222以及向被指派以表見(jiàn)根目錄202的本地代碼模塊傳遞返回的文件描述符來(lái)共享文件222。對(duì)訪問(wèn)權(quán)限的改變也可以由web應(yīng)用和/或模塊顯式地做出。例如,web應(yīng)用可以改變模塊的表見(jiàn)根目錄,以允許該模塊訪問(wèn)私有文件系統(tǒng)的不同區(qū)域。模塊也可以有權(quán)訪問(wèn)私有文件系統(tǒng)內(nèi)的多個(gè)表見(jiàn)根目錄。例如,如通過(guò)web應(yīng)用和/或其他模塊指定來(lái)改變模塊訪問(wèn)權(quán)限,模塊可能有權(quán)同時(shí)訪問(wèn)兩個(gè)表見(jiàn)根目錄 204-206。在獲得了對(duì)根目錄204-206兩者的訪問(wèn)權(quán)后,可以要求模塊在指定私有文件系統(tǒng)內(nèi)的路徑時(shí)區(qū)分表見(jiàn)根目錄204和表見(jiàn)根目錄206。例如,該模塊可以為表見(jiàn)根目錄204和表見(jiàn)根目錄206使用不同的名稱,而不使用針對(duì)一個(gè)表見(jiàn)根目錄的正斜線(例如,“/”)。圖3給出了示出促進(jìn)web應(yīng)用執(zhí)行的過(guò)程的流程圖。在一個(gè)或多個(gè)實(shí)施方式中, 一個(gè)或多個(gè)步驟可以被省略、重復(fù)和/或以不同順序執(zhí)行。因此,圖3中所示步驟的特定安排不應(yīng)理解為限制技術(shù)的范圍。最初,分配供web應(yīng)用使用的存儲(chǔ)空間(操作302)。該存儲(chǔ)空間可以分配在一個(gè)或多個(gè)存儲(chǔ)設(shè)備(諸如,硬盤(pán)驅(qū)動(dòng)、光盤(pán)和/或閃存)上。另外,存儲(chǔ)設(shè)備可以分布在多個(gè)計(jì)算系統(tǒng)上。例如,一個(gè)或多個(gè)存儲(chǔ)設(shè)備可以經(jīng)由網(wǎng)絡(luò)連接而作為網(wǎng)絡(luò)驅(qū)動(dòng)進(jìn)行訪問(wèn)。接著,在存儲(chǔ)空間內(nèi)創(chuàng)建用于該web應(yīng)用的私有文件系統(tǒng)(操作304)。該私有文件系統(tǒng)可以包括從該web應(yīng)用可訪問(wèn)的私有根目錄。換言之,web應(yīng)用對(duì)私有文件系統(tǒng)的訪問(wèn)可以通過(guò)私有根目錄得到支持(操作306)。此外,由于僅允許web應(yīng)用通過(guò)私有根目錄進(jìn)行文件系統(tǒng)調(diào)用,所以web應(yīng)用可能不能訪問(wèn)與私有文件系統(tǒng)駐留其上的存儲(chǔ)設(shè)備關(guān)聯(lián)的主機(jī)文件系統(tǒng)。私有文件系統(tǒng)與主機(jī)文件系統(tǒng)的這種隔離可以減輕針對(duì)主機(jī)文件系統(tǒng)和私有文件系統(tǒng)二者出現(xiàn)安全利用(exploit)。另外,基于文件系統(tǒng)的安全性可以通過(guò)阻止在與web應(yīng)用關(guān)聯(lián)的域之外對(duì)文件系統(tǒng)的訪問(wèn)(操作308)。如上所述,web應(yīng)用的域可以與由該web應(yīng)用使用的模塊和網(wǎng)頁(yè)的集合相對(duì)應(yīng)。例如,該web應(yīng)用的域可以使用包括與該web應(yīng)用關(guān)聯(lián)的主機(jī)、端口和協(xié)議的元組進(jìn)行定義。在主機(jī)、端口和協(xié)議中包括的網(wǎng)頁(yè)以及該網(wǎng)頁(yè)加載的模塊由此可以位于該 web應(yīng)用的域內(nèi)。還可以管理該web應(yīng)用的域內(nèi)的一個(gè)或多個(gè)本地代碼模塊對(duì)私有文件系統(tǒng)的訪問(wèn)(操作310)。具體地,針對(duì)私有文件系統(tǒng)的基于模塊的訪問(wèn)可以通過(guò)強(qiáng)制實(shí)施每個(gè)本地代碼模塊對(duì)私有文件系統(tǒng)的訪問(wèn)權(quán)限來(lái)進(jìn)行管理。訪問(wèn)權(quán)限可以通過(guò)提供類似于“chroot” 的功能以及向每個(gè)本地代碼模塊指派位于私有文件系統(tǒng)內(nèi)表見(jiàn)根目錄處來(lái)指定。由此,可以允許本地代碼模塊訪問(wèn)相應(yīng)表見(jiàn)根目錄內(nèi)的所有子目錄和文件,但是可能不能訪問(wèn)私有文件系統(tǒng)的其他區(qū)。然而,訪問(wèn)權(quán)限可以通過(guò)例如下述操作而在本地代碼模塊之間進(jìn)行傳遞傳遞文件描述符、針對(duì)本地代碼模塊添加或移除表見(jiàn)根目錄,和/或顯式地改變針對(duì)特定目錄或文件的訪問(wèn)權(quán)限。web應(yīng)用對(duì)私有文件系統(tǒng)的使用也可以受到私有文件系統(tǒng)大小的限制。換言之,可以向私有文件系統(tǒng)提供配額管理,以確保針不會(huì)超過(guò)對(duì)該私有文件系統(tǒng)的大小限制(操作 312)。該大小限制可以由web應(yīng)用請(qǐng)求、由用戶設(shè)置、和/或基于針對(duì)web應(yīng)用的缺省大小限制。為了強(qiáng)制實(shí)施大小限制,可以在web應(yīng)用訪問(wèn)私有文件系統(tǒng)期間,周期性地監(jiān)控存儲(chǔ)空間。如果未超過(guò)大小限制,則不需要?jiǎng)幼?。然而,如果存?chǔ)空間的大小超過(guò)了大小限制,則執(zhí)行修正動(dòng)作以強(qiáng)制實(shí)施大小限制(操作314)。修正動(dòng)作可以包括更新大小限制,限制web應(yīng)用及關(guān)聯(lián)的本地代碼模塊對(duì)私有文件系統(tǒng)的寫(xiě)入特權(quán),通知web應(yīng)用的用戶和/或終止web應(yīng)用。例如,如果超過(guò)了大小限制,則可以通知該web應(yīng)用的用戶,并向其提示待采取的修正動(dòng)作(例如,終止該web 應(yīng)用,在臨時(shí)或永久基礎(chǔ)上調(diào)整大小限制,暫停該web應(yīng)用等)。結(jié)果,該大小限制可以基于事后更正模型來(lái)強(qiáng)制實(shí)施。備選地,可以通過(guò)針對(duì)與大小限制的一致性而連續(xù)地監(jiān)控存儲(chǔ)空間的大小,通過(guò)在相關(guān)文件系統(tǒng)調(diào)用(例如,配額分配調(diào)用)之前或之后檢查存儲(chǔ)空間的大小,和/或通過(guò)驗(yàn)證相關(guān)文件系統(tǒng)調(diào)用的參量,來(lái)實(shí)現(xiàn)實(shí)時(shí)配額管理。可以繼續(xù)向該web應(yīng)用提供文件系統(tǒng)服務(wù)(操作316)。例如,只要該私有文件系統(tǒng)位于大小限制之內(nèi)并且符合與該私有文件系統(tǒng)關(guān)聯(lián)的安全約束,該私有文件系統(tǒng)便可用于該web應(yīng)用。私有文件系統(tǒng)也可以在web應(yīng)用的啟用之間持續(xù)。如果將提供文件系統(tǒng)服務(wù),則支持web應(yīng)用訪問(wèn)私有文件系統(tǒng)(操作306),而限制該web應(yīng)用之外的源訪問(wèn)私有文件系統(tǒng)(操作308-310)。在web應(yīng)用使用私有文件系統(tǒng)期間,也可以強(qiáng)制實(shí)施針對(duì)私有文件系統(tǒng)的大小限制(操作312-314)??梢岳^續(xù)提供文件系統(tǒng)服務(wù),直到web應(yīng)用不再使用該私有文件系統(tǒng)和/或該web應(yīng)用已違反了與該私有文件系統(tǒng)關(guān)聯(lián)的大小限制或安全約束。例如,如果web應(yīng)用試圖使用針對(duì)私有文件系統(tǒng)的偽造文件系統(tǒng)調(diào)用來(lái)侵蝕主機(jī)文件系統(tǒng)、操作系統(tǒng)和/或底層硬件,則可以終止該web應(yīng)用對(duì)私有文件系統(tǒng)的訪問(wèn)。
僅出于說(shuō)明和描述目的呈現(xiàn)了各種實(shí)施方式的前述描述。其并不意欲窮舉或?qū)⒈景l(fā)明的實(shí)施方式限于所公開(kāi)的形式。因此,很多修改和變形對(duì)于本領(lǐng)域技術(shù)人員而言是顯然的。因此,上述公開(kāi)并不旨在限制本發(fā)明實(shí)施方式。
權(quán)利要求
1.一種用于促進(jìn)web應(yīng)用執(zhí)行的計(jì)算機(jī)實(shí)現(xiàn)方法,包括分配位于一個(gè)或多個(gè)存儲(chǔ)設(shè)備上的存儲(chǔ)空間以供所述web應(yīng)用使用; 為所述web應(yīng)用創(chuàng)建位于所述存儲(chǔ)空間內(nèi)包括私有根目錄的私有文件系統(tǒng); 提供用于所述web應(yīng)用的接口,所述接口支持所述web應(yīng)用通過(guò)所述私有根目錄來(lái)訪問(wèn)所述私有文件系統(tǒng),其中所述接口不允許所述web應(yīng)用訪問(wèn)與所述一個(gè)或多個(gè)存儲(chǔ)設(shè)備關(guān)聯(lián)的主機(jī)文件系統(tǒng)。
2.如權(quán)利要求1的計(jì)算機(jī)實(shí)現(xiàn)方法,進(jìn)一步包括限制位于所述web應(yīng)用以外的源對(duì)所述私有文件系統(tǒng)的訪問(wèn)。
3.如權(quán)利要求2的計(jì)算機(jī)實(shí)現(xiàn)方法,其中限制所述源對(duì)所述私有文件系統(tǒng)的訪問(wèn)包括阻止在與所述web應(yīng)用關(guān)聯(lián)的域之外對(duì)所述私有文件系統(tǒng)的訪問(wèn);以及管理所述域內(nèi)的一個(gè)或多個(gè)本地代碼模塊對(duì)所述私有文件系統(tǒng)的訪問(wèn)。
4.如權(quán)利要求3的計(jì)算機(jī)實(shí)現(xiàn)方法,其中管理所述一個(gè)或多個(gè)本地代碼模塊對(duì)所述私有文件系統(tǒng)的訪問(wèn)包括強(qiáng)制實(shí)施所述本地代碼模塊中的每一個(gè)本地代碼模塊對(duì)所述私有文件系統(tǒng)的訪問(wèn)權(quán)限集合。
5.如權(quán)利要求4的計(jì)算機(jī)實(shí)現(xiàn)方法,其中所述訪問(wèn)權(quán)限中的一個(gè)或多個(gè)訪問(wèn)權(quán)限在所述本地代碼模塊之間傳遞。
6.如權(quán)利要求1的計(jì)算機(jī)實(shí)現(xiàn)方法,進(jìn)一步包括 強(qiáng)制實(shí)施針對(duì)所述私有文件系統(tǒng)的大小限制。
7.如權(quán)利要求6的計(jì)算機(jī)實(shí)現(xiàn)方法,其中強(qiáng)制實(shí)施針對(duì)所述私有文件系統(tǒng)的大小限制包括在所述web應(yīng)用訪問(wèn)所述私有文件系統(tǒng)期間,周期性地監(jiān)控所述存儲(chǔ)空間的大小以及如果所述存儲(chǔ)空間的大小超過(guò)所述大小限制,則執(zhí)行修正動(dòng)作。
8.如權(quán)利要求7的計(jì)算機(jī)實(shí)現(xiàn)方法,其中執(zhí)行所述修正動(dòng)作包括以下至少一個(gè) 更新所述大小限制;限制所述web應(yīng)用對(duì)所述私有文件系統(tǒng)的寫(xiě)入特權(quán); 通知所述web應(yīng)用的用戶;以及終止所述web應(yīng)用。
9.如權(quán)利要求1的計(jì)算機(jī)實(shí)現(xiàn)方法,其中所述私有文件系統(tǒng)使用與所述web應(yīng)用關(guān)聯(lián)的關(guān)系型數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)。
10.一種用于促進(jìn)web應(yīng)用執(zhí)行的系統(tǒng),包括 處理器;耦合至所述處理器的一個(gè)或多個(gè)存儲(chǔ)設(shè)備;位于所述一個(gè)或多個(gè)存儲(chǔ)設(shè)備上被配置用于供所述web應(yīng)用使用的存儲(chǔ)空間,其中所述存儲(chǔ)空間包含私有文件系統(tǒng),所述私有文件系統(tǒng)包括私有根目錄;以及由所述處理器執(zhí)行的文件系統(tǒng)管理器,其中所述文件系統(tǒng)管理器配置用于 分配位于所述一個(gè)或多個(gè)存儲(chǔ)設(shè)備上的所述存儲(chǔ)空間;在所述存儲(chǔ)空間內(nèi)創(chuàng)建所述私有文件系統(tǒng);以及提供用于所述web應(yīng)用的接口,所示接口支持所述web應(yīng)用通過(guò)所述私有根目錄來(lái)訪問(wèn)所述私有文件系統(tǒng),其中所述接口不允許所述web應(yīng)用訪問(wèn)與所述一個(gè)或多個(gè)存儲(chǔ)設(shè)備關(guān)聯(lián)的主機(jī)文件系統(tǒng)。
11.如權(quán)利要求10的系統(tǒng),其中所述文件系統(tǒng)管理器進(jìn)一步配置用于 限制位于所述web應(yīng)用以外的源對(duì)所述私有文件系統(tǒng)的訪問(wèn)。
12.如權(quán)利要求11的系統(tǒng),其中限制所述源對(duì)所述私有文件系統(tǒng)的訪問(wèn)包括 阻止在與所述web應(yīng)用關(guān)聯(lián)的域之外對(duì)所述私有文件系統(tǒng)的訪問(wèn);以及管理所述域內(nèi)的一個(gè)或多個(gè)本地代碼模塊對(duì)所述私有文件系統(tǒng)的訪問(wèn)。
13.如權(quán)利要求12的系統(tǒng),其中所述文件系統(tǒng)管理器配置用于通過(guò)強(qiáng)制實(shí)施所述本地代碼模塊中的每一個(gè)本地代碼模塊對(duì)所述私有文件系統(tǒng)的訪問(wèn)權(quán)限集合,管理所述一個(gè)或多個(gè)本地代碼模塊對(duì)所述私有文件系統(tǒng)的訪問(wèn)。
14.如權(quán)利要求13的系統(tǒng),其中所述訪問(wèn)權(quán)限中的一個(gè)或多個(gè)訪問(wèn)權(quán)限在所述本地代碼模塊之間傳遞。
15.如權(quán)利要求10的系統(tǒng),其中所述文件管理器進(jìn)一步配置用于 強(qiáng)制實(shí)施針對(duì)所述私有文件系統(tǒng)的大小限制。
16.如權(quán)利要求15的系統(tǒng),其中強(qiáng)制實(shí)施針對(duì)所述私有文件系統(tǒng)的大小限制包括 在所述web應(yīng)用訪問(wèn)所述私有文件系統(tǒng)期間,周期性地監(jiān)控所述存儲(chǔ)空間的大??;以及如果所述存儲(chǔ)空間的大小超過(guò)所述大小限制,則執(zhí)行修正動(dòng)作。
17.如權(quán)利要求16的系統(tǒng),其中執(zhí)行所述修正動(dòng)作包括以下至少一個(gè) 更新所述大小限制;限制所述web應(yīng)用對(duì)所述私有文件系統(tǒng)的寫(xiě)入特權(quán); 通知所述web應(yīng)用的用戶;以及終止所述web應(yīng)用。
18.如權(quán)利要求10的系統(tǒng),其中所述私有文件系統(tǒng)使用與所述web應(yīng)用關(guān)聯(lián)的關(guān)系型數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)。
19.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其存儲(chǔ)有在由計(jì)算機(jī)執(zhí)行時(shí)會(huì)引起所述計(jì)算機(jī)執(zhí)行用于促進(jìn)web應(yīng)用執(zhí)行的方法的指令,所述方法包括分配位于一個(gè)或多個(gè)存儲(chǔ)設(shè)備上的存儲(chǔ)空間以供所述web應(yīng)用使用; 為所述web應(yīng)用創(chuàng)建位于所述存儲(chǔ)空間內(nèi)包括私有根目錄的私有文件系統(tǒng);以及提供用于所述web應(yīng)用的接口,其支持所述web應(yīng)用通過(guò)所述私有根目錄來(lái)訪問(wèn)所述私有文件系統(tǒng),其中所述接口不允許所述web應(yīng)用訪問(wèn)與所述一個(gè)或多個(gè)存儲(chǔ)設(shè)備關(guān)聯(lián)的主機(jī)文件系統(tǒng)。
20.如權(quán)利要求19的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述方法進(jìn)一步包括 限制位于所述web應(yīng)用以外的源對(duì)所述私有文件系統(tǒng)的訪問(wèn)。
21.如權(quán)利要求20的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中限制所述源對(duì)所述私有文件系統(tǒng)的訪問(wèn)包括阻止在與所述web應(yīng)用關(guān)聯(lián)的域之外對(duì)所述私有文件系統(tǒng)的訪問(wèn);以及管理所述域內(nèi)的一個(gè)或多個(gè)本地代碼模塊對(duì)所述私有文件系統(tǒng)的訪問(wèn)。
22.如權(quán)利要求21的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中管理所述一個(gè)或多個(gè)本地代碼模塊對(duì)所述私有文件系統(tǒng)的訪問(wèn)包括強(qiáng)制實(shí)施所述本地代碼模塊中的每一個(gè)本地代碼模塊對(duì)所述私有文件系統(tǒng)的訪問(wèn)權(quán)限集合。
23.如權(quán)利要求19的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述方法進(jìn)一步包括 強(qiáng)制實(shí)施針對(duì)所述私有文件系統(tǒng)的大小限制。
24.如權(quán)利要求23的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中強(qiáng)制實(shí)施針對(duì)所述私有文件系統(tǒng)的大小限制包括在所述web應(yīng)用訪問(wèn)所述私有文件系統(tǒng)期間,周期性地監(jiān)控所述存儲(chǔ)空間的大小以及如果所述存儲(chǔ)空間的大小超過(guò)所述大小限制,則執(zhí)行修正動(dòng)作。
25.如權(quán)利要求19的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述私有文件系統(tǒng)使用與所述web應(yīng)用關(guān)聯(lián)的關(guān)系型數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)。
全文摘要
一個(gè)實(shí)施方式提供了一種用于促進(jìn)web應(yīng)用執(zhí)行的系統(tǒng)。在操作期間,該系統(tǒng)分配位于一個(gè)或多個(gè)存儲(chǔ)設(shè)備上的存儲(chǔ)空間以供該web應(yīng)用使用。接著,該系統(tǒng)為web應(yīng)用創(chuàng)建位于存儲(chǔ)空間內(nèi)包括私有根目錄的私有文件系統(tǒng)。最后,該系統(tǒng)支持web應(yīng)用以這樣的方式來(lái)通過(guò)私有根目錄訪問(wèn)私有文件系統(tǒng),即不允許web應(yīng)用訪問(wèn)與一個(gè)或多個(gè)存儲(chǔ)設(shè)備關(guān)聯(lián)的主機(jī)文件系統(tǒng)。
文檔編號(hào)G06F17/30GK102246168SQ200980150260
公開(kāi)日2011年11月16日 申請(qǐng)日期2009年11月10日 優(yōu)先權(quán)日2008年11月10日
發(fā)明者E·J·尤爾漢, M·帕帕基波斯 申請(qǐng)人:谷歌公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
筠连县| 浦北县| 宜兰县| 九江县| 扎兰屯市| 阿拉善右旗| 贵溪市| 友谊县| 镇赉县| 昭平县| 曲松县| 鄂州市| 湾仔区| 湘阴县| 抚宁县| 景宁| 呼玛县| 梓潼县| 涪陵区| 鄂州市| 广元市| 育儿| 大理市| 冷水江市| 凤凰县| 平南县| 曲水县| 海伦市| 全州县| 遵义县| 嘉义市| 秀山| 合作市| 鄂温| 吐鲁番市| 宾川县| 凤山县| 内黄县| 清新县| 德化县| 措美县|