投影存儲網(wǎng)關(guān)的制作方法
【專利摘要】本發(fā)明公開了用于將存儲在本地存儲器上的數(shù)據(jù)投影到由服務(wù)提供商提供的遠(yuǎn)程存儲器的方法、設(shè)備以及計算機(jī)可訪問存儲介質(zhì)。網(wǎng)關(guān)可以被配置為用于將存儲在本地存儲器上的數(shù)據(jù)投影到由服務(wù)提供商提供的遠(yuǎn)程存儲器的方法、設(shè)備以及計算機(jī)可訪問存儲介質(zhì)。響應(yīng)于接收配置信息,可以將網(wǎng)關(guān)配置為客戶網(wǎng)絡(luò)上的投影網(wǎng)關(guān)。所述投影網(wǎng)關(guān)可以接收對所述本地存儲器的讀取和寫入。所述網(wǎng)關(guān)將請求傳遞到所述本地存儲器,并且還將由所述寫入指示的寫數(shù)據(jù)上傳到所述服務(wù)提供商,以便更新所述本地存儲器的由所述服務(wù)提供商在所述遠(yuǎn)程存儲器上進(jìn)行維護(hù)的快照。寫數(shù)據(jù)可被緩沖到寫日志用于上傳,并且可以根據(jù)由所述服務(wù)提供商使用的塊存儲格式將其作為塊進(jìn)行上傳。投影過程對于所述客戶網(wǎng)絡(luò)上的進(jìn)程可以是透明的。所投影的數(shù)據(jù)可以用于恢復(fù)所述本地存儲器上的數(shù)據(jù)。
【專利說明】投影存儲網(wǎng)關(guān)
[0001]發(fā)明背景
[0002]許多公司和其它組織操作互連眾多計算系統(tǒng)的計算機(jī)網(wǎng)絡(luò)以支持其運(yùn)營,例如其中所述計算系統(tǒng)位于同一位置(例如,作為本地網(wǎng)絡(luò)的一部分)或者位于多個不同的地理位置中(例如,經(jīng)由一個或多個私有或公共中間網(wǎng)絡(luò)連接)。例如,包括顯著數(shù)量的互連的數(shù)字計算系統(tǒng)的數(shù)據(jù)中心已變得司空見慣,如由單一組織操作的私有數(shù)據(jù)中心和由實體進(jìn)行商業(yè)運(yùn)營來為客戶提供計算資源的公共數(shù)據(jù)中心。一些公共數(shù)據(jù)中心運(yùn)營商為由各種客戶所擁有的硬件提供網(wǎng)絡(luò)接入、電源以及安全安裝設(shè)施,而其它公共數(shù)據(jù)中心運(yùn)營商提供還包括可供其客戶使用的硬件資源的“全方位服務(wù)”設(shè)施。然而,隨著典型的數(shù)據(jù)中心的規(guī)模和范圍不斷增加,供應(yīng)、管理以及支配物理計算資源的任務(wù)已變得日益復(fù)雜。
[0003]用于商用硬件的虛擬化技術(shù)的出現(xiàn)已為具有多樣化需求的眾多客戶提供關(guān)于管理大規(guī)模計算資源的益處,從而允許各種計算資源高效且安全地由多個客戶共享。例如,虛擬化技術(shù)可以通過為每個用戶提供由單一物理計算機(jī)托管的一個或多個虛擬機(jī)而允許所述單一物理計算機(jī)在多個用戶之間共享,其中每個這樣的虛擬機(jī)是充當(dāng)不同邏輯計算系統(tǒng)的軟件模擬,所述軟件模擬為用戶提供了以為自己是給定硬件計算資源的唯一操作者和管理員的錯覺,同時還提供了各種虛擬機(jī)之間的應(yīng)用程序隔離和安全性。此外,一些虛擬化技術(shù)能夠提供跨越兩個或更多個物理資源的虛擬資源,如具有跨越多個不同的物理計算系統(tǒng)的多個虛擬處理器的單一虛擬機(jī)。
[0004]作為另一實例,虛擬化技術(shù)可以通過為每個用戶提供虛擬化的數(shù)據(jù)存儲器而允許數(shù)據(jù)存儲硬件在多個用戶之間共享,所述虛擬化的數(shù)據(jù)存儲器可以跨多個數(shù)據(jù)存儲裝置分布,其中每個這樣的虛擬化的數(shù)據(jù)存儲器充當(dāng)不同的邏輯數(shù)據(jù)存儲器,所述邏輯數(shù)據(jù)存儲器為用戶提供了以為自己是數(shù)據(jù)存儲資源的唯一操作者和管理員的錯覺。
[0005]Web 服備
[0006]常規(guī)的Web模型允許客戶端經(jīng)由HTTP客戶端程序(如Web瀏覽器)訪問Web資源(例如,應(yīng)用程序、服務(wù)和數(shù)據(jù))。已開發(fā)了被稱為Web服務(wù)的技術(shù)以提供對Web資源的編程訪問。Web服務(wù)可以用來提供經(jīng)由Web服務(wù)接口對Web資源的編程訪問,所述Web資源包括托管在Web連接的計算機(jī)(如Web服務(wù)器系統(tǒng))上的技術(shù)平臺(如應(yīng)用程序和服務(wù))和數(shù)據(jù)(例如,產(chǎn)品目錄和其它數(shù)據(jù)庫)。一般來說,Web服務(wù)接口可以被配置來提供標(biāo)準(zhǔn)的、跨平臺的API (應(yīng)用編程接口)用于請求待執(zhí)行一些服務(wù)的客戶端與服務(wù)提供商之間的通信。在一些實施方式中,Web服務(wù)接口可以被配置成支持文檔或消息的交換,所述文檔或消息包括描述服務(wù)請求和對此請求的響應(yīng)的信息。這類文檔或消息可以使用標(biāo)準(zhǔn)化的Web協(xié)議(例如超文本傳輸協(xié)議(HTTP))進(jìn)行交換并且可以以與平臺無關(guān)的數(shù)據(jù)格式(例如可擴(kuò)展標(biāo)記語言(XML))進(jìn)行格式化。
【專利附圖】
【附圖說明】
[0007]圖1是根據(jù)至少一些實施方案的示例網(wǎng)絡(luò)環(huán)境的概要框圖,所述網(wǎng)絡(luò)環(huán)境包括示例服務(wù)提供商和示例服務(wù)客戶。[0008]圖2示出根據(jù)至少一些實施方案的用于存儲網(wǎng)關(guān)的示例體系結(jié)構(gòu)和所述存儲網(wǎng)關(guān)的部件。
[0009]圖3是其中可以實施存儲網(wǎng)關(guān)的實施方案的示例網(wǎng)絡(luò)環(huán)境的概要框圖。
[0010]圖4是根據(jù)至少一些實施方案的示例網(wǎng)絡(luò)環(huán)境的框圖,所述網(wǎng)絡(luò)環(huán)境包括在位于服務(wù)客戶網(wǎng)絡(luò)處的站點上的存儲網(wǎng)關(guān),所述存儲網(wǎng)關(guān)用作服務(wù)客戶網(wǎng)絡(luò)與服務(wù)提供商網(wǎng)絡(luò)上的存儲服務(wù)之間的接口。
[0011]圖5是根據(jù)至少一些實施方案的示例服務(wù)提供商的框圖,所述服務(wù)提供商為其客戶提供存儲服務(wù)和硬件虛擬化服務(wù)。
[0012]圖6是寬泛地示出示例網(wǎng)絡(luò)環(huán)境的體系結(jié)構(gòu)和所述網(wǎng)絡(luò)環(huán)境中的數(shù)據(jù)流的概要框圖,在所述網(wǎng)絡(luò)環(huán)境中存儲網(wǎng)關(guān)的實施方案被配置為高速緩存網(wǎng)關(guān)。
[0013]圖7是寬泛地示出示例網(wǎng)絡(luò)環(huán)境的體系結(jié)構(gòu)和所述網(wǎng)絡(luò)環(huán)境中的數(shù)據(jù)流的概要框圖,在所述網(wǎng)絡(luò)環(huán)境中存儲網(wǎng)關(guān)的實施方案被配置為投影(shadowing)網(wǎng)關(guān)。
[0014]圖8是根據(jù)至少一些實施方案的寬泛地示出在示例網(wǎng)絡(luò)環(huán)境中自舉投影網(wǎng)關(guān)的概要框圖。
[0015]圖9是根據(jù)至少一些實施方案的用于投影網(wǎng)關(guān)的自舉過程的流程圖。
[0016]圖10是根據(jù)至少一些實施方案的投影網(wǎng)關(guān)進(jìn)入直通模式并從其中恢復(fù)的流程圖。
[0017]圖11是根據(jù)至少一些實施方案的用于從網(wǎng)關(guān)上傳、更新并跟蹤塊到遠(yuǎn)程數(shù)據(jù)存儲器的方法的流程圖。
[0018]圖12是根據(jù)至少一些實施方案的用于投影網(wǎng)關(guān)的優(yōu)化的自舉過程的流程圖。
[0019]圖13示出根據(jù)至少一些實施方案的存儲網(wǎng)關(guān)安全模型的方面。
[0020]圖14是根據(jù)至少一些實施方案的示出網(wǎng)關(guān)安全模型在存儲網(wǎng)關(guān)的激活、配置以及操作過程中的至少一些方面的流程圖。
[0021]圖15是根據(jù)至少一些實施方案的示例網(wǎng)絡(luò)環(huán)境的概要框圖,其示出參與網(wǎng)關(guān)激活過程的服務(wù)客戶和服務(wù)提供商部件或?qū)嶓w。
[0022]圖16A和圖16B是根據(jù)至少一些實施方案的示出在網(wǎng)關(guān)激活過程中圖15中所示的部件之間的相互作用的過程流程圖。
[0023]圖17A和圖17B是根據(jù)至少一些實施方案的從存儲網(wǎng)關(guān)的角度來看的激活過程的流程圖。
[0024]圖18是示出可以在至少一些實施方案中采用的示例網(wǎng)關(guān)控制體系結(jié)構(gòu)的概要框圖。
[0025]圖19是根據(jù)至少一些實施方案的用于使用網(wǎng)關(guān)發(fā)起連接和長輪詢技術(shù)的遠(yuǎn)程網(wǎng)關(guān)管理的方法的流程圖。
[0026]圖20是根據(jù)一些實施方案的用于網(wǎng)關(guān)控制服務(wù)器向其對等服務(wù)器廣播網(wǎng)關(guān)請求的方法的流程圖。
[0027]圖21是根據(jù)一些實施方案的用于將網(wǎng)關(guān)請求發(fā)送到適當(dāng)?shù)木W(wǎng)關(guān)控制服務(wù)器的替代性方法的流程圖。
[0028]圖22是根據(jù)至少一些實施方案的用于建立、監(jiān)測并維護(hù)網(wǎng)關(guān)發(fā)起的連接的方法的流程圖。[0029]圖23A是根據(jù)至少一些實施方案的寬泛地示出用于包括網(wǎng)關(guān)代理平面的服務(wù)提供商網(wǎng)絡(luò)的體系結(jié)構(gòu)的框圖。
[0030]圖23B示出根據(jù)至少一些實施方案的通過網(wǎng)關(guān)代理平面向網(wǎng)關(guān)發(fā)送消息的網(wǎng)關(guān)控制服務(wù)器。
[0031]圖23C示出根據(jù)至少一些實施方案的通過所述網(wǎng)關(guān)代理平面響應(yīng)網(wǎng)關(guān)控制服務(wù)器請求的網(wǎng)關(guān)。
[0032]圖23D示出根據(jù)至少一些實施方案的用于網(wǎng)關(guān)代理平面的ping消息交換。
[0033]圖24示出根據(jù)至少一些實施方案的用于高速緩存網(wǎng)關(guān)的通用體系結(jié)構(gòu)和所述高速緩存網(wǎng)關(guān)的數(shù)據(jù)I/O操作。
[0034]圖25示出根據(jù)至少一些實施方案的用于投影網(wǎng)關(guān)的通用體系結(jié)構(gòu)和所述投影網(wǎng)關(guān)的數(shù)據(jù)I/o操作。
[0035]圖26是根據(jù)至少一些實施方案的用于向塊數(shù)據(jù)存儲器上的寫日志進(jìn)行寫入的方法的流程圖。
[0036]圖27是根據(jù)高速緩存網(wǎng)關(guān)的至少一些實施方案的用于滿足讀請求的方法的流程圖。
[0037]圖28是示出可以在一些實施方案中使用的示例計算機(jī)系統(tǒng)的框圖。
[0038]雖然在本文中通過列舉若干實施方案和示意性附圖的實例的方式描述了實施方案,本領(lǐng)域的技術(shù)人員應(yīng)認(rèn)識到,實施方案并不限于所描述的實施方案或附圖。應(yīng)理解,附圖和對附圖的詳細(xì)描述并非旨在將實施方案限制為所公開的特定形式,而是相反,其意圖在于涵蓋落入由所附權(quán)利要求書所限定的精神和范圍內(nèi)的所有修改、等同物以及替代物。本文中所用的標(biāo)題僅用于組織目的,并且并不意在用來限制說明書或權(quán)利要求書的范圍。如貫穿本申請所用,詞語“可以”是以寬松意義(即,意味著有可能)而不是強(qiáng)制意義(即,意味著必須)使用。類似地,詞語“包括(include/including/includes)”意味著包括但不限于。
【具體實施方式】
[0039]本文中描述了用于為遠(yuǎn)程存儲器提供本地網(wǎng)關(guān)的方法、設(shè)備以及計算機(jī)可存取存儲介質(zhì)的各種實施方案。本文在服務(wù)提供商的上下文中描述了存儲網(wǎng)關(guān)的實施方案,所述服務(wù)提供商通過中間網(wǎng)絡(luò)(如互聯(lián)網(wǎng))向服務(wù)提供商的一個或多個客戶提供存儲服務(wù)。所述存儲網(wǎng)關(guān)可以實施為內(nèi)置安裝在客戶的數(shù)據(jù)中心處并充當(dāng)所述客戶的數(shù)據(jù)中心與所述存儲服務(wù)之間的網(wǎng)關(guān)的虛擬或物理設(shè)備。存儲網(wǎng)關(guān)可以被配置為至經(jīng)由存儲服務(wù)遠(yuǎn)程提供的主存儲的接口和用于所述主存儲的本地高速緩存,和/或被配置為將在客戶網(wǎng)絡(luò)上實施的主存儲投影到由存儲服務(wù)提供的遠(yuǎn)程存儲的接口。存儲網(wǎng)關(guān)可以在設(shè)備的前端向客戶的應(yīng)用程序呈現(xiàn)標(biāo)準(zhǔn)的數(shù)據(jù)存取接口,在所述設(shè)備的后端將數(shù)據(jù)存取轉(zhuǎn)換為存儲服務(wù)請求,并根據(jù)存儲服務(wù)接口通過網(wǎng)絡(luò)將數(shù)據(jù)傳輸?shù)酱鎯Ψ?wù)。在至少一些實施方案中,所述存儲服務(wù)接口可以實施為Web服務(wù)接口。
[0040]存儲網(wǎng)關(guān)的實施方案可以提供到經(jīng)由存儲服務(wù)提供的幾乎無限的、靈活的、可擴(kuò)展的遠(yuǎn)程存儲的內(nèi)置接口。存儲網(wǎng)關(guān)可以提供常規(guī)內(nèi)置存儲解決方案的具有成本效益、靈活且更易擴(kuò)展的替代物。雖然存儲裝置的成本可能減少,但常規(guī)的內(nèi)置存儲解決方案的管理成本和其它硬件成本以及軟件成本保持相對恒定或者在一些情況下增加。存儲網(wǎng)關(guān)的實施方案可以允許服務(wù)提供商的客戶降低總體存儲擁有成本,從而將至少一些管理成本和其它成本轉(zhuǎn)嫁給所述服務(wù)提供商。
[0041]在至少一些實施方案中,存儲服務(wù)可以根據(jù)塊存儲技術(shù)將客戶的數(shù)據(jù)存儲在遠(yuǎn)程數(shù)據(jù)存儲器中。在至少一些實施方案中,存儲網(wǎng)關(guān)可以在前端處將塊存儲協(xié)議(例如,iSCSI,GNBD (全局網(wǎng)絡(luò)塊裝置)等)、文件存儲協(xié)議(例如,NFS (網(wǎng)絡(luò)文件存儲)、CIFS (通用互聯(lián)網(wǎng)文件系統(tǒng))等)和/或?qū)ο蟠鎯f(xié)議(如REST (代表性狀態(tài)傳輸))公開給客戶的應(yīng)用程序。塊存儲協(xié)議(如iSCSI)使得能夠直接訪問遠(yuǎn)程數(shù)據(jù)存儲器的底層數(shù)據(jù)塊。
[0042]通過應(yīng)用程序經(jīng)由文件存儲協(xié)議(如由存儲網(wǎng)關(guān)公開的NFS或CIFS)寫入到遠(yuǎn)程數(shù)據(jù)存儲器的文件可以根據(jù)塊存儲技術(shù)存儲到所述遠(yuǎn)程數(shù)據(jù)存儲器。通過所公開的文件存儲協(xié)議(如NFS和CIFS),在通過客戶網(wǎng)絡(luò)將客戶的數(shù)據(jù)發(fā)送到客戶的應(yīng)用程序之前,存儲網(wǎng)關(guān)將根據(jù)塊存儲技術(shù)存儲在遠(yuǎn)程數(shù)據(jù)存儲器中的客戶的數(shù)據(jù)作為文件呈現(xiàn)給客戶的應(yīng)用程序。所述所公開的塊存儲協(xié)議(例如,iSCSI)將塊傳輸給客戶的應(yīng)用程序,因此要求所述應(yīng)用程序處理以下操作:將數(shù)據(jù)塊解釋成所述應(yīng)用程序所期望的任何格式。
[0043]塊存儲協(xié)議(如iSCSI)是底層塊存儲協(xié)議,并且因此可以使得用例范圍能夠比文件存儲協(xié)議(如NFS和CIFS)更為廣泛。塊存儲協(xié)議可以使得能夠支持通常寫入到塊存儲器
(如Microsoft'^SharePoini+1*和Oracle*""數(shù)據(jù)庫)的應(yīng)用程序,并且還可以配被直來為ClFS
或NFS文件服務(wù)器提供底層存儲 。因此,在存儲網(wǎng)關(guān)的至少一些實施方案中,可以采用塊存儲協(xié)議(如iSCSI)作為到客戶應(yīng)用程序的公開的接口。
[0044]圖1是根據(jù)至少一些實施方案的示例網(wǎng)絡(luò)環(huán)境的概要框圖,所述網(wǎng)絡(luò)環(huán)境包括示例服務(wù)提供商和示例服務(wù)客戶。存儲網(wǎng)關(guān)84可以被安裝、激活并被配置為服務(wù)客戶本地網(wǎng)絡(luò)或數(shù)據(jù)中心(例如,客戶端網(wǎng)絡(luò)80)中的虛擬或物理設(shè)備,以便為客戶端網(wǎng)絡(luò)80上的客戶進(jìn)程88提供若干遠(yuǎn)程數(shù)據(jù)存儲功能中的一個或多個??蛻暨M(jìn)程88可以是存在于客戶端網(wǎng)絡(luò)80上并可以經(jīng)由網(wǎng)關(guān)84的數(shù)據(jù)端口的數(shù)據(jù)協(xié)議(例如,iSCSI協(xié)議)連接到存儲網(wǎng)關(guān)84并與其通信的的任何硬件、軟件和/或其組合。存儲網(wǎng)關(guān)84可以(例如)用作內(nèi)置存儲裝置和/或用作客戶端網(wǎng)絡(luò)80上的客戶進(jìn)程88與由服務(wù)提供商60提供的存儲服務(wù)64之間的接口。應(yīng)注意,除了存儲服務(wù)64之外,服務(wù)提供商60還可以為服務(wù)提供商60的客戶提供其它服務(wù),包括但不限于硬件虛擬化服務(wù)。
[0045]服務(wù)提供商60的客戶在本文中可以被稱為服務(wù)客戶或簡單地稱為客戶,并且可以是實施計算機(jī)網(wǎng)絡(luò)或網(wǎng)絡(luò)的任何實體,所述計算機(jī)網(wǎng)絡(luò)或網(wǎng)絡(luò)被耦接到中間網(wǎng)絡(luò)50 (如互聯(lián)網(wǎng))以便為本地網(wǎng)絡(luò)或網(wǎng)絡(luò)上的一個或多個用戶提供網(wǎng)絡(luò)化計算服務(wù),包括由服務(wù)提供商60遠(yuǎn)程提供的一種或多種服務(wù)。服務(wù)客戶可以是商業(yè)企業(yè)、教育實體、政府實體或一般來說實施向用戶提供網(wǎng)絡(luò)化計算服務(wù)的計算機(jī)網(wǎng)絡(luò)或網(wǎng)絡(luò)的任何實體。雖然圖1示出單一客戶端網(wǎng)絡(luò)80,但可能有多個客戶端網(wǎng)絡(luò)80。每個客戶端網(wǎng)絡(luò)80可以對應(yīng)于不同服務(wù)客戶,或者兩個或更多個客戶端網(wǎng)絡(luò)80可以對應(yīng)于同一個服務(wù)客戶的不同數(shù)據(jù)中心或位置,例如商業(yè)企業(yè)的不同地區(qū)辦事處或?qū)W校系統(tǒng)的不同校區(qū)。在至少一些實施方案中,服務(wù)提供商60的每個客戶可以擁有服務(wù)提供商60的帳戶,并且可以被提供有安全憑證(例如,帳戶名和/或標(biāo)識符、密碼等),經(jīng)由所述安全憑證一個或多個客戶代表(例如,客戶端網(wǎng)絡(luò)管理員)可以登錄至到服務(wù)提供商60的接口(例如,Web頁面)中以管理由一個或多個服務(wù)提供的客戶的資源,所述客戶的資源包括但不限于由服務(wù)提供商60提供的存儲服務(wù)。
[0046]存儲網(wǎng)關(guān)84的實施方案可以在硬件、軟件或其組合中實施。在至少一些實施方案中,存儲網(wǎng)關(guān)84可以實施為可以(例如)在在主機(jī)系統(tǒng)上實例化的虛擬機(jī)內(nèi)執(zhí)行的虛擬設(shè)備。在至少一些實施方案中,存儲網(wǎng)關(guān)84可以實施為虛擬設(shè)備,所述虛擬設(shè)備可以被下載或以其它方式被安裝、激活并配置在耦接到服務(wù)客戶的數(shù)據(jù)中心處的本地網(wǎng)絡(luò)基礎(chǔ)設(shè)施(例如,客戶端網(wǎng)絡(luò)80)的一個或多個計算裝置(如服務(wù)器系統(tǒng))上??商娲兀鎯W(wǎng)關(guān)84可以實施為可以耦接到服務(wù)客戶的數(shù)據(jù)中心處的本地網(wǎng)絡(luò)基礎(chǔ)設(shè)施(例如,客戶端網(wǎng)絡(luò)80)的專用裝置或設(shè)備;所述專用裝置或設(shè)備可以包括實施存儲網(wǎng)關(guān)84的功能的軟件和/或硬件。圖26示出在其上可以實施存儲網(wǎng)關(guān)84的實施方案的示例計算機(jī)系統(tǒng)。在至少一些實施方式中,存儲網(wǎng)關(guān)84經(jīng)由中間網(wǎng)絡(luò)50 (例如,互聯(lián)網(wǎng))通過防火墻82技術(shù)與服務(wù)提供商60網(wǎng)絡(luò)進(jìn)行通信。應(yīng)注意,服務(wù)提供商60網(wǎng)絡(luò)還可以包括前端62技術(shù)(例如,防火墻技術(shù)、邊界路由器技術(shù)、負(fù)載均衡器技術(shù)等),來自和流向中間網(wǎng)絡(luò)50的網(wǎng)絡(luò)流量通過所述前端62技術(shù)。[0047]存儲網(wǎng)關(guān)84的至少一些實施方案可以根據(jù)安全模型進(jìn)行實施,所述安全模型為客戶提供了數(shù)據(jù)保護(hù)并且提供了對網(wǎng)關(guān)84的保護(hù)防止其被客戶或第三方濫用和未經(jīng)授權(quán)而使用(如盜版)。可以保護(hù)并加密存儲網(wǎng)關(guān)84與存儲服務(wù)64之間的通信。在本文檔中稍后描述了激活過程,在所述激活過程中新安裝的存儲網(wǎng)關(guān)84發(fā)起與服務(wù)提供商60網(wǎng)絡(luò)的連接并被其標(biāo)識以獲取安全憑證。在至少一些實施方案中,在激活過程中,客戶登錄到由服務(wù)提供商60提供的客戶的帳戶中并向服務(wù)提供商60提供在注冊網(wǎng)關(guān)84中所使用的信息。然而,客戶并沒有登錄到存儲網(wǎng)關(guān)84中,并且因此客戶的安全憑證和其它帳戶信息沒有暴露在網(wǎng)關(guān)84上。這可以最小化客戶的安全風(fēng)險。
[0048]在至少一些實施方案中,安全模型的方面是存儲網(wǎng)關(guān)84只接受從外部向公開給客戶端網(wǎng)絡(luò)80上的客戶進(jìn)程88的一個或多個數(shù)據(jù)端口(例如,iSCSI端口)發(fā)起的連接。存儲網(wǎng)關(guān)向外部進(jìn)程發(fā)起所有其它連接;外部進(jìn)程無法向所述網(wǎng)關(guān)發(fā)起任何其它連接。例如,在至少一些實施方案中,存儲網(wǎng)關(guān)84向服務(wù)提供商60發(fā)起網(wǎng)關(guān)管理和其它連接;服務(wù)提供商60不向網(wǎng)關(guān)84發(fā)起連接。作為另一個例子,客戶端網(wǎng)絡(luò)80的網(wǎng)絡(luò)管理員進(jìn)程90無法直接連接到存儲網(wǎng)關(guān)84來配置和管理網(wǎng)關(guān)84。而是,由網(wǎng)絡(luò)管理員進(jìn)程90對存儲網(wǎng)關(guān)84的配置和管理可以通過服務(wù)提供商60 (例如)經(jīng)由服務(wù)提供商60網(wǎng)絡(luò)上的控制臺進(jìn)程68來執(zhí)行。因此,在至少一些實施方案中,客戶端網(wǎng)絡(luò)80上的用戶、網(wǎng)絡(luò)管理者或進(jìn)程(例如,網(wǎng)絡(luò)管理員進(jìn)程90或客戶進(jìn)程88)無法直接“登錄”到存儲網(wǎng)關(guān)84中,服務(wù)提供商60網(wǎng)絡(luò)上或一些其它外部網(wǎng)絡(luò)上的用戶、管理者或進(jìn)程(例如,控制臺進(jìn)程68和存儲服務(wù)64)也無法向存儲網(wǎng)關(guān)84發(fā)起連接。這有助于保護(hù)存儲網(wǎng)關(guān)84上的安全憑證和其它操作信息不受客戶端網(wǎng)絡(luò)80上的個人或進(jìn)程或不受外部個人或進(jìn)程有意或無意地危害。
[0049]存儲網(wǎng)關(guān)84的實施方案可以被安裝、激活并配置用于存儲服務(wù)64,以便提供若干數(shù)據(jù)存儲器66功能中一種或多種。例如,存儲網(wǎng)關(guān)84可以被安裝、激活、配置并用于存儲服務(wù)64以用作:
[0050]?文件系統(tǒng)網(wǎng)關(guān)。在此配置中,存儲網(wǎng)關(guān)用作到存儲服務(wù)64 (例如,使用CIFS或NFS協(xié)議)的NAS存儲接口。遠(yuǎn)程數(shù)據(jù)存儲器66可以由網(wǎng)關(guān)84作為對象存儲器(例如,REST)呈現(xiàn)給客戶,而數(shù)據(jù)存儲器66是根據(jù)塊存儲技術(shù)來實施。在此配置中,遠(yuǎn)程數(shù)據(jù)存儲器66可以作為虛擬化的文件系統(tǒng)呈現(xiàn)給客戶,客戶可以向所述虛擬文件系統(tǒng)寫入文件并且客戶可以從所述虛擬文件系統(tǒng)讀取文件。
[0051]?云卷網(wǎng)關(guān)(cloud volume gateway)。在此配置中,存儲網(wǎng)關(guān)84用作經(jīng)由存儲服務(wù)64到在遠(yuǎn)程數(shù)據(jù)存儲器66上實施的卷的接口。遠(yuǎn)程數(shù)據(jù)存儲器66可以使用塊存儲技術(shù)來實施。網(wǎng)關(guān)84提供本地網(wǎng)絡(luò)接入點,其中遠(yuǎn)程數(shù)據(jù)存儲器66上的卷(其也可以被稱為云卷)用作提供靈活且基本上無限的主存儲容量的后端存儲。在此配置中,遠(yuǎn)程數(shù)據(jù)存儲器66可以作為云卷系統(tǒng)呈現(xiàn)給客戶,從所述云卷系統(tǒng)客戶可以在本地掛載卷以用于讀取和寫入數(shù)據(jù)。
[0052].投影網(wǎng)關(guān)。在此配置中,存儲網(wǎng)關(guān)84充當(dāng)客戶的應(yīng)用程序(例如,客戶進(jìn)程88)與客戶的本地數(shù)據(jù)存儲器86之間的“線纜中的塊”,以便提供經(jīng)由存儲服務(wù)84將客戶的寫數(shù)據(jù)(例如,iSCSI寫入)投影到遠(yuǎn)程數(shù)據(jù)存儲器66。遠(yuǎn)程數(shù)據(jù)存儲器66可以使用塊存儲技術(shù)來實施。在此配置中,存儲網(wǎng)關(guān)84可以用作將客戶的本地數(shù)據(jù)存儲器投影到遠(yuǎn)程數(shù)據(jù)存儲器66上的快照的投影設(shè)備。從本地網(wǎng)絡(luò)上的用戶的角度來看,這種投影可以透明地執(zhí)行。當(dāng)必要或需要時,客戶可以請求或訪問遠(yuǎn)程數(shù)據(jù)存儲器66上的客戶的數(shù)據(jù)的快照,(例如)以便從所述快照還原、恢復(fù)或復(fù)制所述客戶的數(shù)據(jù)中的部分或全部到本地存儲器86。
[0053]應(yīng)注意,所述文件系統(tǒng)網(wǎng)關(guān)和所述云卷網(wǎng)關(guān)是相似的,因為兩者都用作到遠(yuǎn)程數(shù)據(jù)存儲器的網(wǎng)關(guān),并且兩者都可以在本地緩存數(shù)據(jù),例如,頻繁和/或最近使用的數(shù)據(jù)。在文件系統(tǒng)網(wǎng)關(guān)和云卷網(wǎng)關(guān)兩者中,如果可能的話,那么來自客戶進(jìn)程的數(shù)據(jù)讀取可以從本地高速緩存提供服務(wù),或者如果不可能的話,可以從所述遠(yuǎn)程數(shù)據(jù)存儲器提供服務(wù)。相反,在所述投影網(wǎng)關(guān)中,數(shù)據(jù)讀 取通過所述網(wǎng)關(guān)傳遞到客戶的本地數(shù)據(jù)存儲器。為了本文檔的目的,文件系統(tǒng)網(wǎng)關(guān)和云卷網(wǎng)關(guān)可以統(tǒng)稱為高速緩存網(wǎng)關(guān)以將這些實施方式與投影網(wǎng)關(guān)進(jìn)行區(qū)分。
[0054]示例存儲網(wǎng)關(guān)設(shè)備體系結(jié)構(gòu)
[0055]圖2示出根據(jù)至少一些實施方案的用于存儲網(wǎng)關(guān)的示例體系結(jié)構(gòu)和所述存儲網(wǎng)關(guān)的部件。應(yīng)注意,與高速緩存網(wǎng)關(guān)實施方式相比,在投影網(wǎng)關(guān)實施方式中可以不使用圖2中所示的部件中的一些,或者可以不同的方式使用或?qū)嵤?br>
[0056]塊驅(qū)動器10將客戶進(jìn)程88與存儲網(wǎng)關(guān)84連接。一般來說,塊驅(qū)動器10允許客戶進(jìn)程88 (例如,經(jīng)由讀/寫請求)與存儲網(wǎng)關(guān)84進(jìn)行交互。由于存儲網(wǎng)關(guān)84是與客戶進(jìn)程88同地的,因此從進(jìn)程88的角度來看,數(shù)據(jù)似乎是被存儲在本地。然而,存儲網(wǎng)關(guān)84與存儲服務(wù)64連接以將數(shù)據(jù)存儲到由存儲服務(wù)64提供的遠(yuǎn)程數(shù)據(jù)存儲器66。對于高速緩存網(wǎng)關(guān)來說,主數(shù)據(jù)存儲器是遠(yuǎn)程數(shù)據(jù)存儲器66,而頻繁存取的數(shù)據(jù)可以通過網(wǎng)關(guān)84在本地進(jìn)行高速緩存。讀取可以從本地高速緩存或者從虛擬數(shù)據(jù)存儲66得到滿足;對寫入進(jìn)行處理以便適當(dāng)?shù)馗卤镜馗咚倬彺嬷泻?或虛擬數(shù)據(jù)存儲66中的數(shù)據(jù)塊。對于投影網(wǎng)關(guān)來說,主數(shù)據(jù)存儲器是本地數(shù)據(jù)存儲器86 ;讀取被傳遞到本地數(shù)據(jù)存儲器86,并且寫入被投影到虛擬數(shù)據(jù)存儲66,同時還被發(fā)送到本地數(shù)據(jù)存儲器86。
[0057]塊驅(qū)動器10攔截來自客戶進(jìn)程88的讀/寫請求并將所述請求傳遞到存儲控制器
12。在至少一些實施方案中,塊驅(qū)動器10可以提供塊存儲協(xié)議(如iSCSI或GMBD)作為到客戶進(jìn)程88的接口。在一些實施方案中,代替塊存儲協(xié)議接口或作為其可替代物,塊驅(qū)動器10可以提供文件存儲協(xié)議接口(例如,NFS或CIFS),并且可以使用文件系統(tǒng)語義作為到存儲控制器12的接口。應(yīng)注意,雖然圖2示出一個塊驅(qū)動器10,可能有一個以上塊驅(qū)動器。
[0058]存儲控制器12經(jīng)由高速緩存管理器14充當(dāng)塊驅(qū)動器10與存儲之間的中介器。存儲控制器12的職責(zé)可以包括將來自塊驅(qū)動器10的讀請求和寫請求轉(zhuǎn)發(fā)到存儲并且當(dāng)存儲用數(shù)據(jù)響應(yīng)時轉(zhuǎn)發(fā)回調(diào)到塊驅(qū)動器10。塊驅(qū)動器10還可以維護(hù)統(tǒng)計數(shù)據(jù),如正在進(jìn)行中的請求數(shù)目。
[0059]在至少一些實施方案中,一個存儲網(wǎng)關(guān)84上的存儲控制器12可以與另一存儲網(wǎng)關(guān)84上的高速緩存管理器14進(jìn)行通信。在至少一些實施方案中,每個存儲網(wǎng)關(guān)84可以發(fā)送心跳消息用于發(fā)現(xiàn)和檢測故障。一致性哈希函數(shù)(hashing)可以用來標(biāo)識負(fù)責(zé)給定對象的存儲網(wǎng)關(guān)84,并且獲取數(shù)據(jù)的請求可以轉(zhuǎn)發(fā)到目標(biāo)存儲網(wǎng)關(guān)84上的高速緩存管理器14。高速緩存管理器14可以通過調(diào)用由存儲控制器12提供的回調(diào)來響應(yīng)。
[0060]在高速緩存網(wǎng)關(guān)實施方案中,高速緩存管理器14可以管理(例如)提供用于頻繁存取數(shù)據(jù)的存儲的本地高速緩存28。本地高速緩存28可以在存儲網(wǎng)關(guān)84的內(nèi)部易失性和/或非易失性存儲器上實施,或者可替代地,可以至少部分地在由客戶提供的外部本地數(shù)據(jù)存儲器86上實施。在至少一些實施方案中,本地高速緩存28表示存儲在虛擬化的數(shù)據(jù)存儲66中的數(shù)據(jù);來自客戶進(jìn)程88的寫入可能不直接影響本地高速緩存28。[0061]在至少一些采用多個網(wǎng)關(guān)84的實施方案中,可以使用分布式本地高速緩存,并且可以使用關(guān)于密鑰的一致性哈希函數(shù)來標(biāo)識負(fù)責(zé)持有給定密鑰的高速緩存。在至少一些實施方案中,位置感知請求分布可以用于減少網(wǎng)關(guān)84之間的可能要求額外的負(fù)載平衡的通?目。
[0062]對遠(yuǎn)程數(shù)據(jù)存儲器66中的給定卷的所有寫請求可以轉(zhuǎn)到特定的網(wǎng)關(guān)84節(jié)點。由于對于卷的所有寫請求都被轉(zhuǎn)發(fā)到特定的網(wǎng)關(guān)84節(jié)點,因此網(wǎng)絡(luò)分區(qū)可能不是問題。
[0063]staging)
[0064]在至少一些實施方案中,高速緩存管理器14可以包括暫存16部件或可以與其連接。暫存16可以包括或可以訪問寫日志18。在至少一些實施方案中,可以在寫日志18上建立數(shù)據(jù)結(jié)構(gòu)并將其用作元數(shù)據(jù)存儲器26。元數(shù)據(jù)存儲器26可以允許快速訪問到特定塊的所有寫入。元數(shù)據(jù)存儲器26可以(例如)用于將變化應(yīng)用到所述塊內(nèi)的不同片段。當(dāng)從客戶進(jìn)程88接收到寫數(shù)據(jù)時,所述數(shù)據(jù)被追加到寫日志18。用于與塊有關(guān)的寫數(shù)據(jù)的元數(shù)據(jù)(如偏移和長度)可以存儲到元數(shù)據(jù)存儲器26。在至少一些實施方案中,寫日志18可以被實施為實現(xiàn)為線性隊列或循環(huán)隊列的一維數(shù)據(jù)緩沖器。在至少一些實施方案中,元數(shù)據(jù)存儲器26可以是鍵/值存儲器,例如實施為Berkeley數(shù)據(jù)庫。在一些實施方案中可以使用寫日志18和元數(shù)據(jù)存儲器26兩者的其它實施方式。
[0065]在高速緩存網(wǎng)關(guān)實施方式中,當(dāng)執(zhí)行讀取時,原始塊可以從本地高速緩存28或者從遠(yuǎn)程數(shù)據(jù)存儲器66獲取,并且由寫日志18指示的任何掛起的變化都可以在將數(shù)據(jù)返回給相應(yīng)的客戶進(jìn)程88之前被應(yīng)用。
[0066]在一些實施方案中,如果網(wǎng)關(guān)84發(fā)生故障(例如,當(dāng)機(jī)),那么存儲器中的寫數(shù)據(jù)可能丟失,除非所述數(shù)據(jù)已被寫入到本地數(shù)據(jù)存儲器86。在一些實施方案中,如果在客戶站點處存在多個網(wǎng)關(guān)84,那么另一網(wǎng)關(guān)84可以承擔(dān)由當(dāng)機(jī)網(wǎng)關(guān)84擁有的密鑰的職責(zé),從本地數(shù)據(jù)存儲器86上的快照(如果存在的話)還原寫入,并開始接受定向到相應(yīng)卷的請求。在一些實施方案中,寫日志18和/或元數(shù)據(jù)存儲器26可以被復(fù)制在兩個或更多個網(wǎng)關(guān)84上以提供冗余和更好的耐久性。在網(wǎng)關(guān)84發(fā)生故障的情況下,其它網(wǎng)關(guān)84中的一個可以接管發(fā)生故障的網(wǎng)關(guān)的寫日志18和元數(shù)據(jù)存儲器26。然而,在至少一些實施方案中,元數(shù)據(jù)存儲器26可以僅在所有者網(wǎng)關(guān)84上進(jìn)行維護(hù)。在這些實施方案中,在網(wǎng)關(guān)84發(fā)生故障的情況下,其它網(wǎng)關(guān)84中的一個可以接管并解析主要寫日志18來重建元數(shù)據(jù)存儲器26。
[0067]在高速緩存網(wǎng)關(guān)實施方式中,塊擷取器22經(jīng)由存儲服務(wù)64從遠(yuǎn)程數(shù)據(jù)存儲器66取出所需的塊片段。在至少一些實施方案中,塊擷取器22可以采用延遲獲取技術(shù)來取出完整的塊用于高速緩存。對于高速緩存網(wǎng)關(guān)和投影網(wǎng)關(guān)兩者來說,塊存儲器24經(jīng)由存儲服務(wù)64將數(shù)據(jù)從暫存16推送到遠(yuǎn)程數(shù)據(jù)存儲器66。在至少一些實施方案中,塊存儲器24可以采用延遲推送技術(shù)來推送塊。
[0068]在至少一些實施方案中,在用于高速緩存網(wǎng)關(guān)的讀操作期間,塊驅(qū)動器10將包括卷ID、起始偏移以及長度的讀請求發(fā)送到存儲控制器12。在至少一些實施方案中,存儲控制器12可以將所述卷ID和所述偏移轉(zhuǎn)譯成目標(biāo)密鑰。存儲控制器12可以將所述讀請求信息傳遞到高速緩存控制器14,所述高速緩存控制器14可以嘗試滿足來自適當(dāng)?shù)谋镜馗咚倬彌_存儲器28的讀請求。如果數(shù)據(jù)不存在于本地高速緩沖存儲器28,那么請求被轉(zhuǎn)發(fā)到塊擷取器22,所述塊擷取器22經(jīng)由存儲服務(wù)64從遠(yuǎn)程數(shù)據(jù)存儲器66上的適當(dāng)卷取出數(shù)據(jù)。一旦獲得數(shù)據(jù),本地高速緩存28就被更新,來自寫日志18的變化被應(yīng)用并且讀響應(yīng)被返回到客戶進(jìn)程88。在至少一些實施方案中,如果多個塊被請求,那么可以返回多個讀響應(yīng),每個讀響應(yīng)指示用于相應(yīng)塊的相對偏移。在至少一些實施方案中,如果檢測到順序讀取,那么可以預(yù)取出順序塊。
[0069]在至少一些實施方案中,在寫操作期間,塊驅(qū)動器10將包括卷ID和寫數(shù)據(jù)的寫請求發(fā)送到負(fù)責(zé)卷的存儲控制器12。所述寫數(shù)據(jù)被寫入到寫日志18,并且元數(shù)據(jù)存儲器26被更新以包括對緩沖池20中的變化的數(shù)據(jù)的引用。
[0070]緩沖池
[0071]在至少一些實施方案中,緩沖池20駐留在存儲控制器12與本地數(shù)據(jù)存儲器86之間。緩沖池20也可以執(zhí)行(但不限于)以下任務(wù)中的一個或多個。應(yīng)注意,一些任務(wù)可能只適用于高速緩存網(wǎng)關(guān):
[0072]?為寫日志18和本地高速緩存28高速緩存用于從其本地數(shù)據(jù)存儲器裝置上的物理位置的邏輯偏移的數(shù)據(jù)。
[0073].在讀和寫操作期間維護(hù)緩沖器上的鎖。
[0074]?在物理存儲上對本地高速緩存28應(yīng)用逐出技術(shù)(eviction technique),例如基于最近最少使用(LRU)的逐出技術(shù)。應(yīng)注意,這對于投影網(wǎng)關(guān)來說不需要。
[0075].對于高速緩存網(wǎng)關(guān)中的讀取,如果在本地高速緩存28中沒有找到所請求的數(shù)據(jù),那么緩沖池20可以與塊擷取器22通信,以便從遠(yuǎn)程數(shù)據(jù)存儲器66取出塊??商娲?,在一些實施方案中,塊擷取器22可以直接與存儲服務(wù)64通信來取出塊。
[0076]在至少一些實施方案中,緩沖池20可以采用數(shù)據(jù)庫(例如Berkeley數(shù)據(jù)庫(BDB)作為其元數(shù)據(jù)存儲器26。下面所示的表1示出根據(jù)至少一些實施方案可以被存儲在元數(shù)據(jù)存儲器26中的信息。應(yīng)注意,表1中的條目不旨在根據(jù)內(nèi)容或布置進(jìn)行限制。
[0077]表1-示例元數(shù)據(jù)存儲信息
【權(quán)利要求】
1.一種裝置,其包括: 至少一個處理器;以及 包括程序指令的存儲器,其中所述程序指令可由所述至少一個處理器執(zhí)行來實施網(wǎng)關(guān)進(jìn)程,所述網(wǎng)關(guān)進(jìn)程可操作以: 從客戶網(wǎng)絡(luò)上的一個或多個進(jìn)程接收定向到所述客戶網(wǎng)絡(luò)上的本地數(shù)據(jù)存儲器的讀請求和寫請求; 將所述讀請求和所述寫請求傳遞到所述本地數(shù)據(jù)存儲器;以及 將由所述寫請求指示的寫數(shù)據(jù)發(fā)送到服務(wù)提供商,以便用所述寫數(shù)據(jù)更新所述本地數(shù)據(jù)存儲器的由所述服務(wù)提供商在所述遠(yuǎn)程數(shù)據(jù)存儲器上進(jìn)行維護(hù)的快照。
2.如權(quán)利要求1所述的裝置,其中所述網(wǎng)關(guān)進(jìn)程可操作來將存儲在所述本地數(shù)據(jù)存儲器上的數(shù)據(jù)的至少一部分上傳到所述服務(wù)提供商,以便使得所述本地數(shù)據(jù)存儲器的所述快照與所述本地數(shù)據(jù)存儲器相一致。
3.如權(quán)利要求1所述的裝置,其中所述客戶網(wǎng)絡(luò)上的所述一個或多個進(jìn)程向由所述存儲網(wǎng)關(guān)在所述客戶網(wǎng)絡(luò)上公開的一個或多個數(shù)據(jù)端口發(fā)起所述讀請求和所述寫請求。
4.如權(quán)利要求1所述的裝置,其中所述網(wǎng)關(guān)進(jìn)程可操作來異步地執(zhí)行以下操作:所述將所述寫數(shù)據(jù)發(fā)送到所述服務(wù)提供商,和所述將所述讀請求和所述寫請求傳遞到所述本地數(shù)據(jù)存儲器,以及將對所述讀請求和所述寫請求的響應(yīng)從所述本地數(shù)據(jù)存儲器返回給所述發(fā)起進(jìn)程。
5.如權(quán)利要求1所述的裝置,其中所述網(wǎng)關(guān)進(jìn)程進(jìn)一步可操作以從所述本地數(shù)據(jù)存儲器的所述快照恢復(fù)所述本地數(shù)據(jù)存儲器中的至少一些數(shù)據(jù)。
6.如權(quán)利要求1所述的裝置,其中為了將由所述寫請求指示的寫數(shù)據(jù)發(fā)送到服務(wù)提供商,所述網(wǎng)關(guān)進(jìn)程進(jìn)一步可操作以: 將所述寫數(shù)據(jù)緩沖到寫日志;以及 將所緩沖的寫數(shù)據(jù)從所述寫日志上傳到所述服務(wù)提供商。
7.如權(quán)利要求6所述的裝置,其中所述上傳是根據(jù)數(shù)據(jù)重復(fù)數(shù)據(jù)刪除技術(shù)執(zhí)行。
8.如權(quán)利要求1所述的裝置,其中所述本地數(shù)據(jù)存儲器的所述快照是由所述服務(wù)提供商在所述遠(yuǎn)程數(shù)據(jù)存儲器上以塊格式進(jìn)行維護(hù),且其中為了將由所述寫請求指示的寫數(shù)據(jù)發(fā)送到所述服務(wù)提供商,所述網(wǎng)關(guān)進(jìn)程進(jìn)一步可操作來將由所述寫數(shù)據(jù)修改的數(shù)據(jù)塊上傳到所述服務(wù)提供商。
9.一種方法,其包括: 根據(jù)從服務(wù)提供商所接收到的配置信息將計算機(jī)配置為客戶網(wǎng)絡(luò)上的投影網(wǎng)關(guān),其中投影網(wǎng)關(guān)將存儲在本地數(shù)據(jù)存儲器上的數(shù)據(jù)投影到由所述服務(wù)提供商維護(hù)的遠(yuǎn)程數(shù)據(jù)存儲器; 其中,為了將存儲在所述本地數(shù)據(jù)存儲器上數(shù)據(jù)投影到所述遠(yuǎn)程數(shù)據(jù)存儲器,所述投影網(wǎng)關(guān)可操作以: 從所述客戶網(wǎng)絡(luò)上的一個或多個進(jìn)程接收定向到所述本地數(shù)據(jù)存儲器的寫請求;以及 將由所述寫請求指示的寫數(shù)據(jù)上傳到所述服務(wù)提供商,以便用所述寫數(shù)據(jù)更新所述本地數(shù)據(jù)存儲器的由所述服務(wù)提供商在所述遠(yuǎn)程數(shù)據(jù)存儲器上進(jìn)行維護(hù)的快照。
10.如權(quán)利要求9所述的方法,其中在所述配置之后,所述投影網(wǎng)關(guān)可操作來將存儲在所述本地數(shù)據(jù)存儲器上的數(shù)據(jù)的至少一部分上傳到所述服務(wù)提供商,以便使得所述本地數(shù)據(jù)存儲器的所述快照與所述本地數(shù)據(jù)存儲器相一致。
11.如權(quán)利要求9所述的方法,其中所述客戶網(wǎng)絡(luò)上的所述一個或多個進(jìn)程向由所述投影網(wǎng)關(guān)在所述客戶網(wǎng)絡(luò)上公開的一個或多個數(shù)據(jù)端口發(fā)起所述讀請求和所述寫請求。
12.如權(quán)利要求9所述的方法,其中所述投影網(wǎng)關(guān)進(jìn)一步可操作來將所述寫請求傳遞到所述本地數(shù)據(jù)存儲器,且其中所述投影網(wǎng)關(guān)可操作來異步地執(zhí)行以下操作:所述將所述寫數(shù)據(jù)上傳到所述服務(wù)提供商,和所述將所述寫請求傳遞到所述本地數(shù)據(jù)存儲器,以及所述處理所述讀請求。
13.如權(quán)利要求9所述的方法,其中為了將由所述寫請求指示的寫數(shù)據(jù)發(fā)送到所述服務(wù)提供商,所述投影網(wǎng)關(guān)進(jìn)一步可操作以: 將所述寫數(shù)據(jù)緩沖到寫日志;以及 根據(jù)數(shù)據(jù)重復(fù)數(shù)據(jù)刪除技術(shù)將所緩沖的寫數(shù)據(jù)從所述寫日志上傳到所述服務(wù)提供商。
14.如權(quán)利要求9所述的方法,其中為了將寫數(shù)據(jù)上傳到所述服務(wù)提供商,所述投影網(wǎng)關(guān)進(jìn)一步可操作來根據(jù)所述服務(wù)提供商的Web服務(wù)接口來上傳所述寫數(shù)據(jù)。
15.如權(quán)利要求9所述的方 法,其中為了將寫數(shù)據(jù)上傳到所述服務(wù)提供商,所述投影網(wǎng)關(guān)進(jìn)一步可操作來將由所述寫數(shù)據(jù)修改的數(shù)據(jù)塊上傳到所述服務(wù)提供商。
【文檔編號】G06F12/16GK103930879SQ201280040697
【公開日】2014年7月16日 申請日期:2012年6月29日 優(yōu)先權(quán)日:2011年6月30日
【發(fā)明者】J·C·索倫森三世, 林韻, D·C·薩爾耶斯, A·科特拉帕爾 申請人:亞馬遜科技公司