亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

管理用于共享資源的承諾的請求速率的制作方法

文檔序號:6359971閱讀:198來源:國知局
專利名稱:管理用于共享資源的承諾的請求速率的制作方法
管理用于共享資源的承諾的請求速率相關(guān)申請的交叉引用本專利申請要求2010年3月29日提交的美國專利申請?zhí)枮?2/749,451的申請和2010年3月29日提交的美國專利申請?zhí)枮?2/749,449的申請的權(quán)益,這兩個申請的內(nèi)容通過引用并入本文。
背景技術(shù)
隨著如因特網(wǎng)的網(wǎng)絡(luò)上有數(shù)量日益增加的應(yīng)用和服務(wù)可用,數(shù)量日益增加的內(nèi)容、應(yīng)用和/或服務(wù)提供商致力于發(fā)展如遠(yuǎn)程資源共享云計算的技術(shù)。一般來說,云計算是通過服務(wù)(如Web服務(wù))提供對電子資源的訪問的一種途徑,其中用于支持這些服務(wù)的硬件和/或軟件可動態(tài)地伸縮以在任何給定時間滿足服務(wù)的需求。用戶或客戶通常將租借、租用或以其他方式付費(fèi)來通過云訪問資源,并且因此無需購買和維護(hù)用于提供對這些資源的 訪問的硬件和/或軟件。在一些環(huán)境中,多個用戶可以共享如數(shù)據(jù)存儲庫的資源,其中例如,這些用戶可以同時發(fā)送要由同一數(shù)據(jù)實例執(zhí)行的多個讀和/或?qū)懻埱?。但是,?dāng)同時請求的數(shù)量超過處理這些請求的實例的能力時,可能出現(xiàn)問題。在一個示例中,實例的數(shù)據(jù)服務(wù)器可能進(jìn)入過載狀況,并且開始對進(jìn)入請求施加反壓以便降低進(jìn)入請求的速率,并使系統(tǒng)能夠從過載狀況恢復(fù)。但是,由于推遲,客戶可能無法接收到期望或必要的請求處理速率(例如,滿足或以其他方式處理接收的請求),這可能使客戶沮喪,并且在一些情況下,導(dǎo)致客戶尋找其他提供商,以便獲取數(shù)據(jù)存儲和類似的資源。某些常規(guī)方法嘗試在例如特定客戶超過某種使用閾值時限制請求,但是這些方法往往是反應(yīng)式的且仍可能導(dǎo)致資源的其他客戶體驗到速度減慢以及過載狀況。此外,常規(guī)方法未向客戶提供容易地調(diào)整各種資源的速率或分配的能力。
附圖簡介下文將參考附圖描述根據(jù)本發(fā)明公開的多種實施例,其中圖I圖示其中能夠?qū)崿F(xiàn)各種實施例的環(huán)境;圖2圖示能夠根據(jù)各種實施例使用的管理和主機(jī)組件的示范分隔;圖3圖示能夠根據(jù)各種實施例使用的多個客戶的示范分配;圖4圖示能夠根據(jù)各種實施例使用的多個資源實例之間的示范分配;圖5圖示能夠根據(jù)各種實施例使用的多個客戶在單個資源實例上的示范分配;圖6圖示能夠根據(jù)各種實施例使用的使用多個資源實例以獲得增加的客戶承諾的示范分配;圖7圖示根據(jù)一個實施例用于獲取保證的服務(wù)級別的示范過程;圖8圖示能夠根據(jù)各種實施例使用的使用多個資源實例以獲得增加的客戶承諾的示范分配;圖9圖示能夠根據(jù)各種實施例使用的用于獲得增加的客戶承諾的示范分配,其包括遷移數(shù)據(jù)卷和在多個資源實例之間分割;

圖10圖示根據(jù)一個實施例組合客戶的數(shù)據(jù)卷的示范分配;圖11圖示能夠利用各種實施例的功能的示范環(huán)境。
具體實施例方式根據(jù)本發(fā)明公開的各種實施例的系統(tǒng)和方法可以克服常規(guī)方法中體驗的前文所述和其他缺點(diǎn)中的一個或多個缺點(diǎn)以管理電子環(huán)境中資源共享和分配的多個方面。例如,各種實施例使得用戶能夠針對特定資源請求特定的服務(wù)質(zhì)量或處理級別,如每秒輸入/輸出操作次數(shù)(IOPS)的最小和/或承諾的速率。請求的量可以是任何適合的量,其可以小于相應(yīng)資源提供的總量,從而提供比常規(guī)方法下所能達(dá)到的更精細(xì)的粒度??梢詫Χ鄠€客戶
指定單個資源,如數(shù)據(jù)服務(wù)器,其中每個客戶潛在地接收保證的服務(wù)級別。在各種實施例中,請求單個可用資源無法提供的速率承諾的客戶能夠讓承諾分散在多個資源或資源實例上。每個資源能夠具有可接受的保證級別(例如,速率承諾),其可以是該資源上可提供的總量的百分比或部分、可用的全部量或在一些情況中大于總量。因為客戶往往將不會使用整個承諾的量(例如IOPS的保證速率),所以某些資源能夠擁有高于100%可用容量的資源承諾。此外,還能夠向其他客戶提供對這些資源的使用。如果資源的小于全部可用容量的容量被承諾來保證服務(wù)級別,則其余客戶能夠共享未承諾的容量。當(dāng)獲保證的客戶之一正在使用小于保證的量時,其他客戶能夠利用此未使用的容量,直到如被保證的客戶請求要使用該容量的時間為止。此類方法提高了對未被承諾的客戶的服務(wù)質(zhì)量,同時降低了提供保證的服務(wù)級別的成本。在某些實施例中,客戶能夠以與客戶的特定性能要求匹配的精細(xì)粒度的方式提供資源。例如,如果客戶具有需要300I0PS的數(shù)據(jù)庫,則該客戶可以以300I0PS的被承諾速率來提供數(shù)據(jù)卷,且僅為該承諾以及所請求的存儲量付費(fèi)。對于該數(shù)據(jù)卷,該客戶將能夠完成在某個時間段上至少平均300I0PS。如果該客戶提出平均500I0PS的請求,則系統(tǒng)沒有壓力時該卷仍可以隨著時間的流逝完成每秒500次;但是系統(tǒng)即使處于壓力下時仍將隨著時間的流逝交付至少被承諾的300的速率。在常規(guī)系統(tǒng)中,需要某個IOPS速率的客戶通常不得不獲取適合數(shù)量的物理磁盤并為這些磁盤上的存儲量付費(fèi)。對于典型的工作負(fù)荷而言,客戶則不得不多購買可觀的存儲以獲得期望的IOPS速率。使用各種實施例的方法,客戶能夠以常規(guī)系統(tǒng)下不可能實現(xiàn)的粒度級別獲取對共享存儲解決方案的被保證的服務(wù)質(zhì)量。較之購買或租用專用硬件,更精細(xì)的粒度能為客戶節(jié)省可觀的成本。根據(jù)各種實施例的系統(tǒng)和方法還能夠自動地(利用由至少一個計算設(shè)備執(zhí)行的算法和/或適合的邏輯)遷移數(shù)據(jù)卷、調(diào)整資源承諾以及處理其他的與請求速率承諾或其他服務(wù)質(zhì)量級別相關(guān)的那樣的任務(wù)。在一些實施例中,客戶可能請求承諾級別的變更,或者系統(tǒng)或服務(wù)可能確定要執(zhí)行承諾級別的變更。根據(jù)各種實施例,能夠確定各種資源的容量,并且能夠自動地調(diào)整對客戶的承諾,而無需客戶調(diào)整或更改任何參數(shù)、應(yīng)用等以便實施此變更。根據(jù)各種實施例,可以至少部分地根據(jù)被承諾的速率或速率的變化來遷移、分割、組合或以其他方式操控數(shù)據(jù)卷。可以從控制面來管理變更,例如,通過在數(shù)據(jù)面中執(zhí)行適當(dāng)?shù)恼{(diào)用。根據(jù)各種實施例的系統(tǒng)和方法可實現(xiàn)對諸如數(shù)據(jù)存儲的資源的管理訪問。在至少一些實施例中,這些方法包括提供塊數(shù)據(jù)存儲服務(wù),該塊數(shù)據(jù)存儲服務(wù)使用多個服務(wù)器存儲系統(tǒng)來可靠地存儲可被各種用戶、應(yīng)用、進(jìn)程和/或服務(wù)中的任何一個通過一個或多個網(wǎng)絡(luò)來訪問和使用的塊數(shù)據(jù)。每個塊數(shù)據(jù)存儲服務(wù)的用戶可以創(chuàng)建均具有指定量的塊數(shù)據(jù)存儲空間的一個或多個塊數(shù)據(jù)存儲卷,并且可以開始通過一個或多個執(zhí)行程序使用此類塊數(shù)據(jù)存儲卷(本文也稱為“卷”),其中至少有一些此類卷具有由多個服務(wù)器存儲系統(tǒng)中的兩個或兩個以上存儲的副本,以便增強(qiáng)對于執(zhí)行程序的卷的可靠性和可用性。作為一個示例,存儲塊數(shù)據(jù)的多個服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)在一些實施例中可以被組織成一個或多個池或其他組,其中每個具有共處一地理位置處(如共處于一個或多個地理分布的數(shù)據(jù)中心的每一個中)的多個物理服務(wù)器存儲系統(tǒng),并且使用數(shù)據(jù)中心中的服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)上存儲的卷的程序可以在該數(shù)據(jù)中心的一個或多個其他物理計算系統(tǒng)上執(zhí)行。此外,在至少一些實施例中,通過一個或多個網(wǎng)絡(luò)訪問和使用一個或多個此類非本地塊數(shù)據(jù)存儲卷的應(yīng)用可以各具有關(guān)聯(lián)的節(jié)點(diǎn)管理器,該節(jié)點(diǎn)管理器管理程序?qū)@些非本地卷的訪問,如塊數(shù)據(jù)存儲服務(wù)提供和/或與一個或多個塊數(shù)據(jù)服務(wù)(BDS)系統(tǒng)管理器模塊協(xié)同運(yùn)行的節(jié)點(diǎn)管理器模塊。例如,作為塊數(shù)據(jù)存儲服務(wù)的客戶的第一用戶可以創(chuàng)建 第一塊數(shù)據(jù)存儲卷,并在一個或多個計算節(jié)點(diǎn)上執(zhí)行被指示(例如,以串行方式、以同時或其他疊加方式等)訪問和使用該第一卷的一個或多個程序副本。當(dāng)在計算節(jié)點(diǎn)上執(zhí)行的應(yīng)用開始使用非本地卷時,該應(yīng)用可以安裝或以其他方式配備對于該計算節(jié)點(diǎn)為本地且表示該非本地卷的邏輯塊數(shù)據(jù)存儲設(shè)備,如允許該執(zhí)行程序以與連接到該計算節(jié)點(diǎn)的任何其他本地硬驅(qū)動器或其他物理塊數(shù)據(jù)存儲設(shè)備相同的方式與該本地邏輯塊數(shù)據(jù)存儲設(shè)備交互(例如,來執(zhí)行讀和寫數(shù)據(jù)訪問請求、在該卷上實現(xiàn)文件系統(tǒng)或數(shù)據(jù)庫或其他更高級別的數(shù)據(jù)結(jié)構(gòu)等)。例如,在至少一些實施例中,可以通過適合的技術(shù),如GNBD(“全球網(wǎng)絡(luò)塊設(shè)備”)技術(shù)的使用以使代表性的邏輯本地塊數(shù)據(jù)存儲設(shè)備可供執(zhí)行程序使用。此外,當(dāng)應(yīng)用與該代表性本地邏輯塊數(shù)據(jù)存儲設(shè)備交互時,關(guān)聯(lián)的節(jié)點(diǎn)管理器可以通過一個或多個網(wǎng)絡(luò)與存儲有關(guān)聯(lián)的非本地卷的副本的至少一個服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)通信(例如,以對于執(zhí)行程序和/或計算節(jié)點(diǎn)透明的方式)以便代表執(zhí)行程序?qū)λ鎯Φ木砀北緢?zhí)行交互,從而管理這些交互。此外,在至少一些實施例中,用于管理應(yīng)用和服務(wù)對非本地塊數(shù)據(jù)存儲卷的訪問的所述技術(shù)的至少其中一些自動地由節(jié)點(diǎn)管理器模塊的實施例執(zhí)行。在至少一些實施例中,還可以將塊數(shù)據(jù)存儲卷(或這些卷的部分)存儲在與用于存儲卷副本的服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)相異的一個或多個遠(yuǎn)程歸檔存儲系統(tǒng)上。在各種實施例中,該一個或多個遠(yuǎn)程歸檔存儲系統(tǒng)可以由(例如,位于遠(yuǎn)離數(shù)據(jù)中心或具有共處一處的服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)池的其他地理位置的位置的)塊數(shù)據(jù)存儲服務(wù)來提供,或可以由遠(yuǎn)程長期存儲服務(wù)提供并由塊數(shù)據(jù)存儲來使用,并且在至少一些實施例中,該歸檔存儲系統(tǒng)可以采用塊數(shù)據(jù)以外的格式存儲數(shù)據(jù)(例如,可以將卷的一個或多個數(shù)據(jù)片(chunk)或部分存儲為相異的對象)。在一些實施例中,所描述的技術(shù)中至少一些代管理多個程序的執(zhí)行的程序執(zhí)行服務(wù)而執(zhí)行,而這些多個程序代程序執(zhí)行服務(wù)的多個用戶而執(zhí)行。在一些實施例中,程序執(zhí)行服務(wù)可以具有多個共處一處的物理主機(jī)計算系統(tǒng)的組,并且可以如在程序執(zhí)行服務(wù)(“PES”)系統(tǒng)管理器的控制下,在這些物理主機(jī)計算系統(tǒng)上執(zhí)行用戶的程序,正如下文更詳細(xì)論述的。在此類實施例中,也是塊數(shù)據(jù)存儲服務(wù)的用戶的程序執(zhí)行服務(wù)的用戶(例如,付費(fèi)使用程序執(zhí)行服務(wù)的程序執(zhí)行服務(wù)的客戶)可以執(zhí)行訪問和使用塊數(shù)據(jù)存儲服務(wù)提供的非本地塊數(shù)據(jù)存儲卷的程序。在其他實施例中,單個組織可以(例如,以集成的方式,如單個服務(wù)的一部分)提供程序執(zhí)行服務(wù)能力和塊數(shù)據(jù)存儲服務(wù)能力二者其中至少一些,而在又一些其他實施例中,可以在不包含程序執(zhí)行服務(wù)(例如,在支持該組織的運(yùn)行的公司或其他組織內(nèi)部)的環(huán)境中提供塊數(shù)據(jù)存儲服務(wù)。此外,在各種實施例中,程序執(zhí)行所在的主機(jī)計算系統(tǒng)可以具有各種形式。多個此類主機(jī)計算系統(tǒng)可以例如共處于一物理位置(例如,數(shù)據(jù)中心),并且可以由各與一個或多個主機(jī)計算系統(tǒng)的子集關(guān)聯(lián)的多個節(jié)點(diǎn)管理器模塊來管理。主機(jī)計算系統(tǒng)的至少一些可以各包括足夠的計算資源(例如,易失性存儲器、CPU周期或其他CPU使用率測量、網(wǎng)絡(luò)帶寬、交換空間等)以同時執(zhí)行多個程序,并且在至少一些實施例中,計算系統(tǒng)的其中一些或全部可以各具有可用于存儲要執(zhí)行的程序的本地副本和/或此類程序要使用的數(shù)據(jù)的一個或多個物理上連接的本地塊數(shù)據(jù)存儲設(shè)備(例如,硬盤、磁帶驅(qū)動器等)。此外,在一些此類實施例中,主機(jī)計算系統(tǒng)的其中至少一些可以各寄存多個虛擬機(jī)計算節(jié)點(diǎn),這些虛擬機(jī)計算
節(jié)點(diǎn)各可以代相異的用戶執(zhí)行一個或多個程序,其中每個此類主機(jī)計算系統(tǒng)具有為該主機(jī)計算系統(tǒng)管理虛擬機(jī)的執(zhí)行超級監(jiān)管器或其他虛擬機(jī)監(jiān)視器。對于執(zhí)行多個虛擬機(jī)的主機(jī)計算系統(tǒng),該主機(jī)計算系統(tǒng)的關(guān)聯(lián)的節(jié)點(diǎn)管理器模塊在一些實施例中可以在多個寄存的虛擬機(jī)的至少其中之一上執(zhí)行(例如,作為主機(jī)計算系統(tǒng)的虛擬機(jī)監(jiān)視器的一部分或與之協(xié)同),而在其他情況中,節(jié)點(diǎn)管理器可以在與正在管理的一個或多個其他主機(jī)計算系統(tǒng)相異的物理計算系統(tǒng)上執(zhí)行。在各種實施例中,存儲卷的服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)也可以具有各種形式。在至少一些實施例中,服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)的其中一些或全部可以是與執(zhí)行程序的主機(jī)計算系統(tǒng)相似的物理計算系統(tǒng),并且在一些此類實施例中,可以各執(zhí)行服務(wù)器存儲系統(tǒng)軟件以協(xié)助在這些服務(wù)器存儲系統(tǒng)上提供和維護(hù)卷。例如,在至少一些實施例中,例如如果通過多個交互服務(wù)器塊數(shù)據(jù)存儲計算系統(tǒng)以分布對等方式提供一個或多個BDS系統(tǒng)管理器模塊,則此類服務(wù)器塊數(shù)據(jù)存儲計算系統(tǒng)的其中一個或多個可以執(zhí)行BDS系統(tǒng)管理器的至少其中一部分。在其他實施例中,例如,如果通過其他遠(yuǎn)程物理計算系統(tǒng)(例如,通過在一個或多個其他計算系統(tǒng)上執(zhí)行的BDS系統(tǒng)管理器模塊)來執(zhí)行在這些服務(wù)器存儲系統(tǒng)上提供和維護(hù)卷的至少其中一些工作,則服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)的其中至少一些可以是可以沒有一些I/O組件和/或物理計算系統(tǒng)的其他組件的網(wǎng)絡(luò)存儲設(shè)備。此外,在一些實施例中,至少一些服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)各維護(hù)多個本地硬盤,且跨越在一些或全部本地硬盤的其中每個的部分將至少一些卷分段。此外,可以使用各種類型的技術(shù)來創(chuàng)建和使用卷,在一些實施例中包括使用LVM (“邏輯卷管理器”)技術(shù)。在至少一些實施例中,一些或全部塊數(shù)據(jù)存儲卷各具有存儲在兩個或更多個相異服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)上的副本,以便增強(qiáng)這些卷的可靠性和可用性。由此,單個服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)的故障不會導(dǎo)致執(zhí)行程序?qū)淼脑L問丟失,因為這些執(zhí)行程序?qū)υ摼淼氖褂每梢员磺袚Q到具有該卷的副本的另一個可用服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)。在此類實施例中,可以采用各種方式在多個服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)上的多個卷副本之間保持一致性。例如,在一些實施例中,將服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)的其中之一指定為存儲卷的主副本,并且在此類實施例中,將其他一個或多個服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)指定為存儲該卷的鏡像副本。具有主卷副本的服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)(也稱為卷的“主服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)”)可以接收并處理對該卷的數(shù)據(jù)訪問請求,并且在一些此類實施例中,還可以采取措施保持其他鏡像卷副本的一致性(例如,在主卷副本中的數(shù)據(jù)被修改時,向提供鏡像卷副本的其他服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)發(fā)送更新消息,如采用主從計算關(guān)系的方式)。可以使用各種類型的卷一致性技術(shù),下文將包含其附加的細(xì)節(jié)。除了通過在服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)變得不可用時移動或以其他方式復(fù)制卷副本來保持執(zhí)行程序?qū)K數(shù)據(jù)存儲卷的可靠且可用的訪問外,塊數(shù)據(jù)存儲服務(wù)還可以在其他情況中執(zhí)行其他操作來保持執(zhí)行程序?qū)K數(shù)據(jù)存儲卷的訪問。例如,如果第一執(zhí)行程序意外地變得不可用,則在一些實施例中,塊數(shù)據(jù)存儲服務(wù)和/或程序執(zhí)行服務(wù)可以采取措施以使不同的第二執(zhí)行程序(例如,在不同主機(jī)計算系統(tǒng)上執(zhí)行的同一程序的第二副本)連接到不可用的第一程序使用的一些或全部塊數(shù)據(jù)存儲卷,以便第二程序能夠快速地接管不可用的第一程序的至少一些操作。在一些情況中,第二程序可以是其執(zhí)行因現(xiàn)有的第一程序不可用而啟動執(zhí)行的新程序,而在其他一些情況中,第二程序可以已經(jīng)在執(zhí)行(例如,如果多個程序副本在并發(fā)執(zhí)行以分?jǐn)偪偣ぷ髫?fù)荷,如接收按負(fù)荷平衡器調(diào)解的不同進(jìn)入客戶端請 求的多個Web服務(wù)器程序,其中多個程序副本的其中之一被選作第二程序;如果第二程序是正在執(zhí)行的程序的備用副本以便允許在不可用情況下從現(xiàn)有第一程序“熱”交換,如在現(xiàn)有第一程序的不可用發(fā)生之后,備用程序副本才會被激活地使用;等等)。此外,在一些實施例中,現(xiàn)有卷的連接和當(dāng)前使用被切換到的第二程序可以位于與第一程序相同的地理位置(例如,相同的數(shù)據(jù)中心)中的另一個主機(jī)物理計算系統(tǒng)上,而在其他實施例中,第二程序可以位于不同的地理位置處(例如,不同的數(shù)據(jù)中心,如與先前或同時移到該其他數(shù)據(jù)中心且將被該第二程序使用的卷的副本一起)。此外,在一些實施例中,可以采取其他相關(guān)措施以進(jìn)一步促進(jìn)向第二程序切換,如通過將原本目標(biāo)為不可用的第一程序的一些通信重定向到第二程序。正如先前提到的,在至少一些實施例中,一些或所有塊數(shù)據(jù)存儲卷各具有存儲在位于一個地理位置處的兩個或兩個以上相異服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)上的副本(如在執(zhí)行程序?qū)⑼ㄟ^定位在同一數(shù)據(jù)中心或其他地理位置的所有卷的副本和執(zhí)行程序來訪問卷所在的同一個數(shù)據(jù)中心中),可以保持多種期望的數(shù)據(jù)訪問特征(例如,基于該數(shù)據(jù)中心或其他地理位置處的一個或多個內(nèi)部網(wǎng)絡(luò)),如時延和吞吐量。例如,在至少一些實施例中,所描述的技術(shù)可以提供對非本地塊數(shù)據(jù)存儲的訪問,其具有與本地物理塊數(shù)據(jù)存儲設(shè)備的訪問特征相似或更佳的訪問特征,但是具有類似于或超過RAID (“獨(dú)立(或低成本)磁盤的冗余陣列”)系統(tǒng)和/或?qū)S肧AN (“存儲區(qū)域網(wǎng)絡(luò)”)的可靠性特征的更大可靠性以及遠(yuǎn)遠(yuǎn)較低成本。在其他實施例中,代之可以采用其他方式存儲至少一些卷的主副本和鏡像副本,如存儲在不同地理位置(例如,不同的數(shù)據(jù)中心),以便如即使整個數(shù)據(jù)中心變得不可用的情況下仍進(jìn)一步保持卷的可用性。在可以將卷副本存儲在不同地理位置處的實施例中,在一些情況中用戶可能請求特定程序應(yīng)在特定卷附近(例如,在主卷副本所在的同一個數(shù)據(jù)中心處)執(zhí)行,或特定卷因位于特定執(zhí)行程序附近,以便如為執(zhí)行程序與主卷副本之間的通信提供相對較高網(wǎng)絡(luò)帶寬和相對較低時延。此外,在一些實施例中,可以基于費(fèi)用或其他付費(fèi)方式向至少一些用戶提供對所描述技術(shù)的一些或全部的訪問。例如,用戶可以支付一次性費(fèi)用、周期性(例如,月付)費(fèi)用和/或一種或多種類型的基于使用的費(fèi)用以使用塊數(shù)據(jù)存儲服務(wù)來存儲和訪問卷、使用程序執(zhí)行服務(wù)來執(zhí)行程序和/或使用(例如,由遠(yuǎn)程長期存儲服務(wù)提供的)歸檔存儲系統(tǒng)來存儲卷的長期備份或其他快照副本。費(fèi)用可以基于一個或多個因素和活動,如下列非排他性列表中指示的基于卷的大小,以便創(chuàng)建卷(例如,按一次性費(fèi)用)、擁有卷的當(dāng)前存儲和/或使用(例如月費(fèi))等;基于卷的非大小特征,如鏡像副本的數(shù)量、存儲主卷副本和/或鏡像卷副本的服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)的特征(例如,數(shù)據(jù)訪問速率、存儲大小等)和/或創(chuàng)建卷的方式(例如,為空的新卷、作為現(xiàn)有卷的副本的新卷、作為快照卷副本的副本的新卷等);基于快照卷副本的大小,如為了創(chuàng)建快照卷副本(例如,按一次性費(fèi)用)和/或擁有卷的當(dāng)前存儲(例如月費(fèi))等;基于一個或多個快照卷副本的非大小特征,如單個卷的快照數(shù)量、快照副本相對于一個或多個先有快照副本是否為增量等;基于卷的使用,如傳送到卷和/或從卷傳送的數(shù)據(jù)的量(例如,來反映所使用的網(wǎng)絡(luò)帶寬的量)、發(fā)送到卷的數(shù)據(jù)訪問請求的數(shù)量、連接到并使用卷的執(zhí)行程序的數(shù)量(無論是順序地還是并發(fā)地)等;基于傳送到快照和/或從快照傳送的數(shù)據(jù)的量,如以與針對卷的方式相似的方式;等等。此外,在多種實施例中,所 提供的訪問可以具有多種形式;如,一次性購買費(fèi)用、當(dāng)前租借費(fèi)用和/或基于另一種當(dāng)前訂費(fèi)。此外,在至少一些實施例和情況中,第一組一個或多個用戶可以在收費(fèi)的基礎(chǔ)上向其他用戶提供數(shù)據(jù),如為了向接收對第一組的一個或多個用戶創(chuàng)建的當(dāng)前卷和/或歷史快照卷副本的訪問(例如,通過允許他們制作作為卷的副本和/或快照卷副本的副本的新卷;通過允許他們使用一個或多個已創(chuàng)建的卷;等等)的其他用戶收費(fèi),無論是一次性購買費(fèi)用、當(dāng)前租借費(fèi)用,還是基于另一種當(dāng)前訂費(fèi)。在一些實施例中,可以由塊數(shù)據(jù)存儲服務(wù)、程序執(zhí)行服務(wù)和/或遠(yuǎn)程長期存儲服務(wù)來提供一個或多個應(yīng)用編程接口(API),如為了允許其他程序通過編程方式啟動要執(zhí)行的各種類型的操作(例如,按其他程序的用戶所指令的)。此類操作可以允許調(diào)用先前描述的類型的功能性的其中一些或全部,并且包括但不限于如下類型的操作創(chuàng)建、刪除、連接、斷開或描述卷;創(chuàng)建、刪除、復(fù)制或描述快照;指定卷和/或快照的訪問權(quán)或其他元數(shù)據(jù);管理程序的執(zhí)行;提供付費(fèi)以獲取其他類型的功能性;獲取有關(guān)一個或多個服務(wù)的功能的使用和/或有關(guān)為此使用支付或欠下的費(fèi)用的報告和其他信息;等等。通過API提供的操作可以被諸如程序執(zhí)行服務(wù)的主機(jī)計算系統(tǒng)上的執(zhí)行程序和/或被塊數(shù)據(jù)存儲服務(wù)和/或程序執(zhí)行服務(wù)使用的一個或多個地理位置外部的客戶和/或其他用戶的計算系統(tǒng)調(diào)用。圖I圖示根據(jù)多種實施例的示范網(wǎng)絡(luò)配置100,其中多個計算系統(tǒng)可工作以執(zhí)行多種程序、應(yīng)用和/或服務(wù),并且還可工作以便如在塊數(shù)據(jù)存儲服務(wù)和/或程序執(zhí)行服務(wù)的控制下,訪問可靠的非本地塊數(shù)據(jù)存儲。具體來說,在此示例中,程序執(zhí)行服務(wù)管理位于數(shù)據(jù)中心102內(nèi)的多種主機(jī)計算系統(tǒng)上的程序的執(zhí)行,并且塊數(shù)據(jù)存儲服務(wù)使用該數(shù)據(jù)中心處的多個其他服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)以向這些執(zhí)行程序提供可靠的非本地塊數(shù)據(jù)存儲。還可以使用該數(shù)據(jù)中心外部的多個遠(yuǎn)程歸檔存儲系統(tǒng)來存儲至少一些塊數(shù)據(jù)存儲卷的至少一些部分的附加副本。在本示例中,數(shù)據(jù)中心102包括多個機(jī)架104,在本示范實施例中,每個機(jī)架包括多個主機(jī)計算設(shè)備106以及可選的機(jī)架支持計算系統(tǒng)134。在本示例中,圖示的機(jī)架104上的主機(jī)計算系統(tǒng)106各寄存一個或多個虛擬機(jī)110,以及與主機(jī)計算系統(tǒng)上的虛擬機(jī)關(guān)聯(lián)的用于管理這些虛擬機(jī)的相異節(jié)點(diǎn)管理器模塊108。在本示例中,一個或多個其他主機(jī)計算系統(tǒng)116還可以各寄存一個或多個虛擬機(jī)110。每個虛擬機(jī)110可以作為用于為用戶(未示出,如程序執(zhí)行服務(wù)的客戶)執(zhí)行一個或多個程序副本(未示出)的獨(dú)立計算節(jié)點(diǎn)。此夕卜,本示例數(shù)據(jù)中心102還包括不包括相異虛擬機(jī)但可各作為用于為用戶執(zhí)行的一個或多個程序(未示出)的計算節(jié)點(diǎn)的附加主機(jī)計算系統(tǒng)114。在本示例中,在與主機(jī)計算系統(tǒng)114和116相異的計算系統(tǒng)(未示出)上執(zhí)行的節(jié)點(diǎn)管理器模塊112與這些主機(jī)計算系統(tǒng)關(guān)聯(lián),以便以如與主機(jī)計算系統(tǒng)106的節(jié)點(diǎn)管理器模塊108相似的方式來管理由這些主機(jī)計算系統(tǒng)提供的計算節(jié)點(diǎn)。機(jī)架支持計算系統(tǒng)134可以為其機(jī)架102本地的其他計算系統(tǒng)提供多種實用工具服務(wù)(例如,程序執(zhí)行的長期程序存儲、計量和其他監(jiān)視和/或機(jī)架本地的其他計算系統(tǒng)執(zhí)行的非本地塊數(shù)據(jù)存儲訪問的長期程序存儲、計量和其他監(jiān)視等)以及可能地向位于數(shù)據(jù)中心中的其他計算系統(tǒng)提供多種實用工具服務(wù)。每個計算系統(tǒng)還可以具有一個或多個本地連接的存儲設(shè)備(未示出),如為了存儲執(zhí)行程序以及多種其他組件創(chuàng)建的或以其他方式使用的程序和/或數(shù)據(jù)的本地副本。在本示例中,還圖示可選計算系統(tǒng)118,其執(zhí)行程序執(zhí)行服務(wù)的PES系統(tǒng)管理器模塊以協(xié)助管理位于數(shù)據(jù)中心內(nèi)的主機(jī)計算系統(tǒng)提供(或可選地在位于一個或多個其他數(shù)據(jù)中心128中的計算系統(tǒng)或該數(shù)據(jù)中心外的其他遠(yuǎn)程計算系統(tǒng)132上)的計算節(jié)點(diǎn)上程序的 執(zhí)行。正如其他地方更詳細(xì)論述的,PES系統(tǒng)管理器模塊除了管理程序的執(zhí)行外還可以提供多種服務(wù),包括用戶賬戶的管理(例如,創(chuàng)建、刪除、計費(fèi)等);要執(zhí)行的程序的注冊、存儲和分發(fā);與程序執(zhí)行相關(guān)的性能和審計數(shù)據(jù)的收集和處理;為程序的執(zhí)行從客戶或其他用戶獲取付費(fèi);等等。在一些實施例中,PES系統(tǒng)管理器模塊可以與節(jié)點(diǎn)管理器模塊108和112協(xié)作以管理與這些節(jié)點(diǎn)管理器模塊關(guān)聯(lián)的計算節(jié)點(diǎn)上的程序執(zhí)行,而在其他實施例中,這些節(jié)點(diǎn)管理器模塊可以不協(xié)助管理程序的此類執(zhí)行。在本示例中,數(shù)據(jù)中心102還包括計算系統(tǒng)124,計算系統(tǒng)124執(zhí)行塊數(shù)據(jù)存儲服務(wù)的塊數(shù)據(jù)存儲(“BDS”)系統(tǒng)管理器模塊以協(xié)助管理非本地塊數(shù)據(jù)存儲對于在由位于數(shù)據(jù)中心內(nèi)的主機(jī)計算系統(tǒng)提供(或可選地在位于一個或多個其他數(shù)據(jù)中心128中的計算系統(tǒng)或該數(shù)據(jù)中心外的其他遠(yuǎn)程計算系統(tǒng)132上)的計算節(jié)點(diǎn)上執(zhí)行的程序的可用性。具體來說,在本示例中,數(shù)據(jù)中心102包括多個服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)122的池,其中每個服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)具有在存儲一個或多個卷副本120時使用的本地塊存儲。對卷副本120的訪問通過內(nèi)部網(wǎng)絡(luò)126向在多種計算節(jié)點(diǎn)110和114上執(zhí)行的程序提供。正如其他地方更詳細(xì)論述的,BDS系統(tǒng)管理器模塊可以提供與提供非本地塊數(shù)據(jù)存儲功能性相關(guān)的多種服務(wù),包括用戶賬戶的管理(例如,創(chuàng)建、刪除、計費(fèi)等);創(chuàng)建、使用和刪除塊數(shù)據(jù)存儲卷和這些卷的快照副本;與使用塊數(shù)據(jù)存儲卷和這些卷的快照副本相關(guān)的性能和審計數(shù)據(jù)的收集和處理;從使用塊數(shù)據(jù)存儲卷和這些卷的快照副本的客戶或其他用戶獲取付費(fèi);等等。在一些實施例中,BDS系統(tǒng)管理器模塊可以與節(jié)點(diǎn)管理器模塊協(xié)作以管理關(guān)聯(lián)的計算節(jié)點(diǎn)上執(zhí)行的程序?qū)淼氖褂?,而在其他實施例中,該?jié)點(diǎn)管理器模塊可以不用于管理此類卷使用。此外,在其他實施例中,可以采用其他方式來構(gòu)造一個或多個BDS系統(tǒng)管理器模塊,如具有單個數(shù)據(jù)中心執(zhí)行的BDS系統(tǒng)管理器的多個實例(例如,由位于數(shù)據(jù)中心內(nèi)的主機(jī)計算系統(tǒng)提供的計算節(jié)點(diǎn)上執(zhí)行的程序分?jǐn)偡潜镜貕K數(shù)據(jù)存儲的管理),和/或如使BDS系統(tǒng)管理器模塊的至少一些功能性以分布式方式由服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)122的其中一些或全部上執(zhí)行的軟件來提供(例如,以對等方式,計算系統(tǒng)124上無任何單獨(dú)的集中式BDS系統(tǒng)管理器模塊)。在本示例中,多種主機(jī)計算系統(tǒng)、服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)和計算系統(tǒng)經(jīng)由數(shù)據(jù)中心的一個或多個內(nèi)部網(wǎng)絡(luò)126來互連,一個或多個內(nèi)部網(wǎng)絡(luò)126包括未示出的多種聯(lián)網(wǎng)設(shè)備(例如,路由器、交換機(jī)、網(wǎng)關(guān)等)。此外,在本示例中,內(nèi)部網(wǎng)絡(luò)126連接到外部網(wǎng)絡(luò)130(例如,因特網(wǎng)或其他公共網(wǎng)絡(luò)),并且數(shù)據(jù)中心102還可以在數(shù)據(jù)中心與外部網(wǎng)絡(luò)之間的互連中包括一個或多個可選設(shè)備(例如,網(wǎng)絡(luò)代理、負(fù)荷平衡器、網(wǎng)絡(luò)地址解析設(shè)備等)。在本示例中,數(shù)據(jù)中心102經(jīng)由外部網(wǎng)絡(luò)130連接到一個或多個其他數(shù)據(jù)中心128,一個或多個其他數(shù)據(jù)中心128可以各包括結(jié)合數(shù)據(jù)中心102圖示的計算系統(tǒng)和存儲系統(tǒng)的其中一些或全部以及該數(shù)據(jù)中心外部的其他遠(yuǎn)程計算系統(tǒng)132。其他計算系統(tǒng)132可以由各方出于各種目的來運(yùn)行,例如由數(shù)據(jù)中心的運(yùn)營商或第三方(例如程序執(zhí)行服務(wù)和/或塊數(shù)據(jù)存儲服務(wù)的客戶)運(yùn)行。此外,這些其他計算系統(tǒng)的其中一個或多個可以是歸檔存儲系統(tǒng)(例如,作為可遠(yuǎn)程網(wǎng)絡(luò)訪問的存儲服務(wù)的部分),塊數(shù)據(jù)存儲服務(wù)可以如在一個或多個其他計算系統(tǒng)上執(zhí)行的或該數(shù)據(jù)中心的一個或多個計算系統(tǒng)上執(zhí)行的一個或多個歸檔管理器模塊(未示出)的控制下與該歸檔存儲系統(tǒng)交互,正如其他地方更詳細(xì)描述的。此外,雖然此 處未示出,但是在至少一些實施例中,服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)122的至少其中一些還可以與一個或多個其他網(wǎng)絡(luò)或其他連接介質(zhì)互連,如服務(wù)器存儲系統(tǒng)122可以用來共享卷數(shù)據(jù)(例如,為了復(fù)制卷的副本和/或保持卷的主副本與鏡像副本之間的一致性)的高帶寬連接,其中在至少一些此類實施例中,此類高帶寬連接對于多種主機(jī)計算系統(tǒng)不可用。應(yīng)認(rèn)識到的是,出于解釋的目的,圖I的示例已被簡化,并且主機(jī)計算系統(tǒng)、服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)和其他設(shè)備的數(shù)量和組織可能比圖I所示的規(guī)模大很多。例如,作為一個說明性實施例,每個數(shù)據(jù)中心可以有約4,000個計算系統(tǒng),其中這些計算系統(tǒng)的其中至少一些是可以各寄存十五個虛擬機(jī)的主機(jī)計算系統(tǒng),和/或這些計算系統(tǒng)的其中一些是可以各存儲若干卷副本的服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)。如果每個寄存的虛擬機(jī)執(zhí)行一個程序,則此類數(shù)據(jù)中心可以同時執(zhí)行多達(dá)六萬個程序副本。此外,可以將數(shù)百或數(shù)千個(或更多)卷存儲在服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)上,這取決于服務(wù)器存儲系統(tǒng)的數(shù)量、卷的大小和每個卷的鏡像副本的數(shù)量。應(yīng)認(rèn)識到的是,在其他實施例中,可以使用其他數(shù)量的計算系統(tǒng)、程序和卷。圖2圖示根據(jù)多種實施例的示范環(huán)境200,其包括適用于管理向可使用的客戶端提供和使用可靠非本地塊數(shù)據(jù)存儲功能性的計算系統(tǒng)。在本示例中,將管理系統(tǒng)202(如包括一個或多個面向外部的客戶接口的一個或多個服務(wù)器計算機(jī))編程以執(zhí)行至少一個BDS系統(tǒng)管理器模塊204的實施例以管理對主機(jī)計算系統(tǒng)208上和/或至少一些其他計算系統(tǒng)218上執(zhí)行的程序提供非本地塊數(shù)據(jù)存儲功能性,如對服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)220提供的塊數(shù)據(jù)存儲卷(未示出)的非本地塊數(shù)據(jù)存儲功能性。本示例中的每個主機(jī)計算系統(tǒng)208還執(zhí)行節(jié)點(diǎn)管理器模塊210的實施例以管理主機(jī)計算系統(tǒng)上執(zhí)行的程序214對非本地塊數(shù)據(jù)存儲卷的其中至少一些的訪問,如該訪問通過網(wǎng)絡(luò)216 (例如,包括計算系統(tǒng)202、208、220和可選地其他計算系統(tǒng)218的其中至少一些的數(shù)據(jù)中心的內(nèi)部網(wǎng)絡(luò),未示出)以與BDS系統(tǒng)管理器模塊204協(xié)調(diào)的方式進(jìn)行。而在其他實施例中,節(jié)點(diǎn)管理器模塊210的其中一些或全部可以管理一個或多個其他計算系統(tǒng)(例如,其他計算系統(tǒng)218)。此外,還圖示多個服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)220,其可以各存儲執(zhí)行程序214使用的非本地塊數(shù)據(jù)存儲卷(未示出)的其中至少一些,其中在本示例中也通過網(wǎng)絡(luò)216提供對這些卷的訪問。服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)220的其中一個或多個還可以各存儲管理服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)的其中一個或多個的操作的服務(wù)器軟件組件(未示出)以及這些服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)存儲的數(shù)據(jù)的多種信息(未示出)。因此,在至少一些實施例中,圖2的服務(wù)器計算系統(tǒng)202可以對應(yīng)于圖I的計算系統(tǒng)124,圖I的節(jié)點(diǎn)管理器模塊108和112的其中一個或多個可以對應(yīng)于圖2的節(jié)點(diǎn)管理器模塊210,和/或圖2的服務(wù)器塊數(shù)據(jù)存儲計算系統(tǒng)220的其中一個或多個可以對應(yīng)于圖I的服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)122。此外,在本示范實施例中,圖示多個歸檔存儲系統(tǒng)222,其可以存儲服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)220上存儲的至少一些塊數(shù)據(jù)存儲卷的至少一部分的快照副本和/或其他副本。歸檔存儲系統(tǒng)222還可以與計算系統(tǒng)202、208和220的其中一些或全部交互,并且在一些實施例中,歸檔存儲系統(tǒng)222可以是(例如,遠(yuǎn)程存儲服務(wù)(未示出)的)通過一個或多個其他外部網(wǎng)絡(luò)(未示出)與計算系統(tǒng)交互的遠(yuǎn)程歸檔存儲系統(tǒng)。在至少一些實施例中,其他計算系統(tǒng)218還可以包括多種類型的其他接近或遠(yuǎn)程
計算系統(tǒng),包括塊數(shù)據(jù)存儲服務(wù)的客戶或其他用戶與管理和/或主機(jī)系統(tǒng)交互所經(jīng)用的計算系統(tǒng)。此外,其他計算系統(tǒng)218的其中一個或多個還可以執(zhí)行PES系統(tǒng)管理器模塊以便協(xié)調(diào)主機(jī)計算系統(tǒng)208和/或其他主機(jī)計算系統(tǒng)218上的程序執(zhí)行,或者,可以由管理系統(tǒng)202或圖示的其他計算系統(tǒng)之一執(zhí)行此類PES系統(tǒng)管理器模塊,雖然本示例中未圖示PES系統(tǒng)管理器模塊。在圖示的實施例中,節(jié)點(diǎn)管理器模塊210在存儲器中執(zhí)行以便如代程序執(zhí)行服務(wù)和/或塊數(shù)據(jù)存儲服務(wù)的客戶,管理計算系統(tǒng)上的存儲器中執(zhí)行的一個或多個其他程序214。在一些實施例中,計算系統(tǒng)208的其中一些或全部可以寄存多個虛擬機(jī),并且如果是這樣的話,每個執(zhí)行程序214可以是相異寄存的虛擬機(jī)計算節(jié)點(diǎn)上執(zhí)行的完全虛擬機(jī)映像(例如,具有操作系統(tǒng)和一個或多個應(yīng)用程序)。節(jié)點(diǎn)管理器模塊210可以相似地在另一個寄存的虛擬機(jī)(如管理其他寄存的虛擬機(jī)的有特權(quán)的虛擬機(jī)監(jiān)視器)上執(zhí)行。在其他實施例中,執(zhí)行程序副本214和節(jié)點(diǎn)管理器模塊210可以作為單個計算系統(tǒng)208上執(zhí)行的單個操作系統(tǒng)(未示出)上的相異進(jìn)程來執(zhí)行。歸檔存儲系統(tǒng)222可工作以執(zhí)行至少一個歸檔管理器模塊224,以便如代塊數(shù)據(jù)存儲服務(wù)的和/或提供歸檔存儲系統(tǒng)的相異存儲服務(wù)的客戶,管理歸檔存儲系統(tǒng)的其中一個或多個的操作。而在其他實施例中,歸檔管理器模塊224可以在如其他計算系統(tǒng)218之一的另一個計算系統(tǒng)上執(zhí)行,或與BDS系統(tǒng)管理器模塊204協(xié)同在管理系統(tǒng)202上執(zhí)行。此夕卜,雖然此處未圖示,但是在一些實施例中,可以將有關(guān)歸檔存儲系統(tǒng)222存儲的數(shù)據(jù)的多種信息維護(hù)在歸檔存儲系統(tǒng)的存儲中或其他位置。BDS系統(tǒng)管理器模塊204和節(jié)點(diǎn)管理器模塊210可以采取多種措施以管理可靠非本地塊數(shù)據(jù)存儲功能性對客戶端(例如,執(zhí)行程序)的提供和/或使用,正如其他地方更詳細(xì)描述的。在本示例中,BDS系統(tǒng)管理器模塊204可以維護(hù)數(shù)據(jù)庫206,數(shù)據(jù)庫206包含有關(guān)服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)220上和/或歸檔存儲系統(tǒng)222上存儲的卷的(例如,管理卷時使用的)信息,并且還可以存儲有關(guān)塊數(shù)據(jù)存儲服務(wù)的用戶或其他方面的多種其他信息(未示出)。在其他實施例中,有關(guān)卷的信息可以由卷所在的計算系統(tǒng)上的節(jié)點(diǎn)管理器模塊210和/或其他計算系統(tǒng)采用其他方式(如分布式方式)來存儲。此外,在本示例中,主機(jī)計算系統(tǒng)208上的每個節(jié)點(diǎn)管理器模塊210可以存儲有關(guān)連接到該主機(jī)計算系統(tǒng)且被該主機(jī)計算系統(tǒng)上的執(zhí)行程序214使用的當(dāng)前卷的信息212,如為了協(xié)調(diào)與提供這些卷的主副本的服務(wù)器塊數(shù)據(jù)存儲系統(tǒng)220的交互,以及確定在主卷副本變得不可用的情況下如何切換到卷的鏡像副本。雖然此處未示出,但是每個主機(jī)計算系統(tǒng)還可以包括用于連接到該主機(jī)計算系統(tǒng)且被該計算系統(tǒng)上執(zhí)行的程序使用的每個卷的相異邏輯本地塊數(shù)據(jù)存儲設(shè)備接口,該接口可以進(jìn)一步對執(zhí)行程序顯示為與提供本地存儲的一個或多個其他本地物理連接的存儲設(shè)備之間難以區(qū)分??梢允褂萌缃Y(jié)合圖1-2描述的環(huán)境來提供和管理不同客戶之間共享的資源。在一個實施例中,可以使用多個數(shù)據(jù)服務(wù)器來提供虛擬化存儲系統(tǒng),這些數(shù)據(jù)服務(wù)器各具有與之連接的多個存儲設(shè)備(例如,存儲磁盤)。例如,該存儲系統(tǒng)可以將存儲作為Web服務(wù)暴露給客戶??蛻魟t可以提交Web服務(wù)請求或其他適合的請求或調(diào)用,以便在這些服務(wù)器上分配存儲和/或從為這些客戶提供的實例訪問該存儲。在某些實施例中,用戶能夠訪問這些存儲設(shè)備的數(shù)據(jù)卷,如同這些存儲設(shè)備是常規(guī)塊設(shè)備一樣。因為這些數(shù)據(jù)卷對于客戶實例將看似好像每個卷是磁盤驅(qū)動器或相似的塊設(shè)備,所以可以利用偏移量、長度和其他此類常規(guī)塊設(shè)備方面來尋址這些卷。此外,此類系統(tǒng)可以提供本文中將稱為“寫后讀”一致性的功能,其中一旦數(shù)據(jù)被寫入到這些數(shù)據(jù)卷之一時,保證能夠從該數(shù)據(jù)讀取該數(shù)據(jù)。此類系統(tǒng)可以提供相對較低時延,如小于10毫秒的時延。此類系統(tǒng)因此以多種方式實現(xiàn)傳統(tǒng)存儲區(qū)域網(wǎng)絡(luò)(SAN)的功能,但是性能和可伸縮性得以提高。使用圖2所示的管理系統(tǒng),客戶能夠向系統(tǒng)的Web服務(wù)層的適合API進(jìn)行Web服務(wù)調(diào)用以提供數(shù)據(jù)卷并將該卷連接到該客戶的數(shù)據(jù)實例。該管理系統(tǒng)可以視為駐留在控制面或控制環(huán)境中,而數(shù)據(jù)卷和塊存儲設(shè)備駐留在單獨(dú)的數(shù)據(jù)面或數(shù)據(jù)環(huán)境中。在一個示例中,具有至少一個提供的實例的客戶可以經(jīng)由Web服務(wù)來調(diào)用“CreateVolume”或類似API,這使客戶能夠指定允許他們指定以分配的存儲的量,例如介于IGB與ITB之間按IGB遞增的值??刂泼娴慕M件(如BDS系統(tǒng)管理器模塊)可以在數(shù)據(jù)面中調(diào)用以從可用資源分配期望的存儲量,并且能夠向客戶提供該數(shù)據(jù)卷的標(biāo)識符。在一些實施例中,客戶從而就能夠使用操作系統(tǒng)為硬盤驅(qū)動器和類似存儲設(shè)備提供的方案,調(diào)用“AttachVolume”或類似API,其中客戶為諸如實例標(biāo)識符、卷標(biāo)識符和設(shè)備名稱的參數(shù)提供值,具體取決于如實例的操作系統(tǒng)的因素,從功能性和命名的視角來看,該調(diào)用從物理硬盤驅(qū)動器與從實例內(nèi)一樣無明顯差異。一旦客戶將數(shù)據(jù)卷連接到提供的實例,客戶就能夠執(zhí)行多種功能性,如構(gòu)建文件系統(tǒng),如數(shù)據(jù)系統(tǒng)的原始存儲一樣使用或通常情況下利用常規(guī)存儲設(shè)備執(zhí)行的任何其他此類活動。當(dāng)客戶不再需要該數(shù)據(jù)卷時,或出于任何其他適合的原因,客戶可以調(diào)用“DetatchVolume”或類似API,這可以使得該實例與該卷的關(guān)聯(lián)性被移除。在一些實施例中,客戶然后就能夠連接新實例或執(zhí)行任何多個其他此類活動。因為在一些實施例中,該數(shù)據(jù) 卷將無法獨(dú)立于實例,所以如果當(dāng)前關(guān)聯(lián)的實例出現(xiàn)故障,則客戶能夠?qū)⒕磉B接到新實例。在某些方法中,請求數(shù)據(jù)卷的客戶無法選擇或請求特定類型的卷或特定類型的性能??蛻敉ǔ1皇跈?quán)一定存儲量,并且性能遵循“盡力服務(wù)”類型的方法,其中基于請求時的容量、負(fù)荷和系統(tǒng)的其他此類因素來執(zhí)行客戶請求。對于每個客戶,通常按每個單位尺度金額相同的方式收費(fèi),如每月每千兆字節(jié)的存儲量相同美元金額,以及每月每次I/O請求相同的金額,并按如每月百萬請求的增量計以一定金額費(fèi)用。
但是,正如上文論述的,此類方法在如實例等待要處理的請求的數(shù)量超過處理這些請求的實例的能力的情況下可能構(gòu)成問題。即使客戶位于該客戶的期望或分配的請求次數(shù)內(nèi),而向該實例提交請求的其他客戶仍可能超過他們的分配,從而產(chǎn)生過載情況,其中該實例的數(shù)據(jù)服務(wù)器可能開始將壓力推回給進(jìn)入請求以便降低進(jìn)入請求的速率,并使系統(tǒng)能夠從過載情況恢復(fù)。因此,設(shè)備上具有待處理請求的每個客戶可能體驗到請求處理速率(“請求速率”)的下降,以及如可用存儲的下降的其他問題。根據(jù)多種實施例的系統(tǒng)和方法通過使得每個客戶能夠指定一個或多個承諾的請求速率或其他性能保證來使客戶能夠確保最低性能級別。除了最小存儲量外,每個客戶還可以購買承諾的操作速率,如特定的每秒輸入/輸出(I/o)操作的次數(shù)(I0PS)。在先前的系統(tǒng)中,通過將整個機(jī)器專用于客戶連同專用的帶寬等來獲得性能保證,這常常是過度的。本文論述的實施例能夠讓客戶按任何適合的粒度級別來購買性能保證。通過管理客戶在多種資源上的性能分配,根據(jù)多種實施例的系統(tǒng)和方法能夠使客戶按如1I0PS與5,000I0PS之間的任何適合的級別來購買具有IOPS保證的卷。通過分配部分的磁盤、磁 盤主軸和其他此類資源,系統(tǒng)能夠向客戶提供保證的存儲和/或IOPS級別。根據(jù)多種實施例的系統(tǒng)和方法使用戶能夠共享資源,從而能夠按常規(guī)解決方案下不可能的粒度級別對這些資源提供特定的保證或承諾。在多種情況中,客戶可能期望指定最小處理速率,如最小每秒I/O操作次數(shù)(I0PS)。根據(jù)多種實施例的方法能夠承諾按至少承諾的性能級別提供所需的期望數(shù)量的服務(wù)器和其他資源。通過對性能級別的承諾,客戶能夠接收到不受共享設(shè)備或資源的其他客戶的性能影響的一致性服務(wù)質(zhì)量級別。即使在過載情況中,該客戶仍能夠接收到至少保證的級別的服務(wù)。保證的服務(wù)量可以取決于多種因素,以及客戶指定并為其付費(fèi)的量。例如,圖3圖示示范分布300,其中在若干客戶中間分配服務(wù)器302的處理容量。在本示例中,確定服務(wù)器具有約500I0PS的容量。此值可以是估算值或平均值,并且可以基于監(jiān)視的性能或其他此類信息隨時間推移確定或調(diào)整。雖然在一些實施例中可以分配全部500I0PS,在其他實施例中,可能期望僅分配總?cè)萘康拈撝盗?、百分比或其他部分作為保證。因為每個請求的處理時間可能變化,所以任何給定時間的IOPS的數(shù)量也可能變化,從而分配全部500I0PS可能導(dǎo)致短暫時間期間由于正在處理請求的性質(zhì)等原因?qū)嶋H性能約為450I0PS時客戶無法接收到對他們的保證。在本示例中,系統(tǒng)可能能夠分配500I0PS中的最多400可用于服務(wù)器302。正如可見到的,客戶A已獲分配承諾的200I0PS,客戶B已獲分配承諾的100I0PS,且客戶C已獲分配承諾的55I0PS。服務(wù)器上的其余客戶則能夠利用“盡力服務(wù)性能”或類似方法共享剩余的145I0PS (平均來說)。共享剩余IOPS的客戶的數(shù)量可以基于多種因素來選定或限制,以使其余客戶仍能夠在大百分比的時間里獲得滿意的性能級別。但是,在許多情況中,客戶A、B和C將不會都利用他們的全部承諾的容量。這些客戶的每一個可能付費(fèi)保證一定級別的性能,以使該級別在需要時可用,但通常實際上將不在接近該峰值容量的情況下運(yùn)行。在此情況中,其余的客戶D-Z實際能夠共享多于剩余的145I0PS的速率,因為這些客戶能夠利用承諾的IOPS中當(dāng)前未使用的可用容量。這提供另一個優(yōu)點(diǎn),因為客戶能夠接收到保證的性能級別,但是這些級別未完全被利用時,余下的容量能夠被用于服務(wù)于其他客戶請求。這種方法使得普通客戶(無保證)接收到提高的性能,而無需提供商購買額外的容量或在很大部分時間提供未被利用的容量。在一些實施例中,客戶A-C中的任一個可能超出其性能保證。例如,客戶A可能一段時間期間提交約250I0PS的請求。對于承諾的速率以上的50I0PS,在一些實施例中,這些請求可以被視為正常請求,并按與客戶D-Z的請求相同的性能級別來處理。在過載情況中,則可以將任何處理中的瓶頸、減速或其他下降應(yīng)用于不受保證限制的145左右的I0PS。對客戶A、B和C的保證級別將不受影響,因為過量流量調(diào)整是針對非承諾的部分而進(jìn)行的。相應(yīng)地,對于具有非保證服務(wù)級別的客戶可以按每次請求、每個時間段等的較低價格收費(fèi)。在其他實施例中,當(dāng)客戶A-C中任一個超出其性能保證時,客戶可能接收到“混合的”或其他級別的服務(wù)。在客戶的每個請求被個別地或無前后關(guān)聯(lián)地處理,使得超出承諾的速率的任何單個請求可被作為無承諾的速率的請求來處理的情況中,可能存在對該客戶的其他請求的負(fù)面影響。例如,如果客戶A擁有250I0PS的承諾速率并在一個時間點(diǎn)上一秒內(nèi)發(fā)出251個請求,則超出速率承諾的該單個請求可能比其他請求處理得慢很多,如用20ms而非Ims處理。如果客戶應(yīng)用期望約Ims的性能級別而對于一個請求體驗到減速,則這可能也影響其他請求的處理,并且即使客戶僅在短暫時間期間稍微超出閾值,仍可能導(dǎo)致對 該應(yīng)用的顯著減速或其他問題。根據(jù)多種實施例的系統(tǒng)和方法通過向具有速率保證而又超出這些保證的客戶提供“加速”或混合的速率,這樣提供介于承諾的速率與非承諾的速率之間的服務(wù)級別。例如,具有速率保證的客戶可能有置于非承諾的請求的“隊列”前面或與之接近的任何過量請求。在其他實施例中,該客戶可能接收到這些請求的較低速率承諾,如可能體驗到約5ms的延遲,這并非以承諾的速率內(nèi)的請求相同的速率來得到處理,但是比沒有承諾的速率的客戶更快地得到處理。在一些實施例中,可以將延遲的量與超額的量以及客戶在獲保證的速率之上的時長相關(guān),以提供至少某種程度與超額的量成比例的相對均勻的性能下降。例如,具有100I0PS的保證的速率而一直以每秒500次的速率發(fā)送請求的客戶可能不會接收到與具有250I0PS的保證的速率且偶爾因少數(shù)請求超限的客戶一樣的加速。在一些實施例中,可以向客戶提供針對任何超額的相同的速率,但是可以對每個此類請求收取額外的費(fèi)用。在多種實施例的范圍內(nèi),許多其他變化也是可能的。為了管理承諾,控制面的組件可以實質(zhì)上對數(shù)據(jù)面中的特定服務(wù)器或其他資源設(shè)置預(yù)留。在圖3中,其中三個客戶需要總共承諾的355I0PS,控制面可以例如對一個服務(wù)器預(yù)留該級別,并將余下的分配給該服務(wù)器上獲提供資源的任何其他客戶。控制面還可以確保由于空間限制、需要產(chǎn)生的I/O的數(shù)量或任何其他此類因素,不會將比服務(wù)器處理能力更多的卷分配到服務(wù)器。在一些情況中,客戶可能需要超出對給定資源的“可承諾”容量的保證的服務(wù)級另O。例如,圖3中說明服務(wù)器能夠分配400I0PS但其中355已分配給客戶A-C。如果另一個客戶需要300I0PS,則該數(shù)值將超過服務(wù)器允許的數(shù)量(以及平均容量)。因此,客戶無法在該服務(wù)器得到期望的承諾。但是,使用控制面的管理組件,可以跨多個服務(wù)器分配承諾速率。例如,在圖4的分配400中,示出客戶A從用戶設(shè)備402發(fā)送請求300I0PS的保證的請求。在一些實施例中,控制面可以搜索可用的服務(wù)器以確定服務(wù)器是否有300I0PS剩余可用于給予保證。如果沒有,則控制面可以嘗試將IOPS分散在盡可能少的服務(wù)器上。在此情況中,控制面確定將IOPS保證分配到三個服務(wù)器上,其中第一服務(wù)器404提供100I0PS的保證,第二服務(wù)器406提供125IOPS的保證,并且第三服務(wù)器408提供75IOPS的保證。因此,卷無需像許多常規(guī)系統(tǒng)中那樣駐留在單個服務(wù)器上,而是可以將其在多個服務(wù)器上分區(qū)??缍鄠€服務(wù)器的分配還使客戶能夠利用更大的數(shù)據(jù)卷,如50萬億字節(jié)而非I萬億字節(jié),因為數(shù)據(jù)能夠被分散在多個服務(wù)器上。在此類實施例中,客戶可以購買IGB與50TB之間的存儲,例如按期望的承諾速率,如OIOPS和5000I0PS之間的速率?;诳蛻暨x定的這些值的其中一個或多個值,控制面可以確定適合的(如果不是最優(yōu)的)方式使用數(shù)據(jù)面中的可用資源提供這些保證。在一些實施例中,可以對承諾的速率分配服務(wù)器的容量的最高100%??梢灶A(yù)測和/或監(jiān)視非承諾使用的量,使得可以將多個客戶分配到已完全承諾的資源,只要這些客戶愿意僅在資源變得可用時取用它們即可。某些客戶可能并不關(guān)心具體來說對于某些寫操作何時發(fā)生I0PS,使得在獲知一些客戶可能將不會利用其全部獲保證的級別的情況下,他們愿意支付較低的費(fèi)率來利用獲得最高100%保證的資源。這種方法幫助提供商通過在以其他方式被“完全”承諾的資源上分配非承諾的IOPS來最大化每個資源的利用。此外,不同類型的客戶將有不同的需求。例如,如果磁盤具有100TB的空間且 100I0PS的容量,則第一客戶可能需要存儲很少訪問的90TB的度假照片。該客戶可能有興趣購買90TB存儲空間連同非承諾級別的IOPS。另一個用戶可能需要將會持續(xù)使用的ITB數(shù)據(jù)庫,從而該用戶可能需要約100I0PS。在本示例中,可以向第一客戶出售90%的存儲空間,并且可以對另一個客戶分配磁盤的90% (或更多)IOPS作為承諾。由于客戶的性質(zhì),可以在同一個磁盤上向他們二者提供資源,其中在其他情況下他們可能各需要專用的磁盤。使其他人能夠利用對客戶已承諾的分配中的未使用部分也能夠使得該客戶獲益,因為該客戶可能無需對完整分配付費(fèi),并且因此能夠接收到低于專用資源所需的成本。此夕卜,客戶仍將接收到被保證的服務(wù)級別。當(dāng)客戶處于全承諾級別時,該設(shè)備上的其他客戶將需要降低其請求速率或每次請求需要等待更長時間。在一些實施例中,可以完全承諾資源,并且仍可以在該設(shè)備上向其他用戶提供資源以利用該資源的未使用部分。在其中準(zhǔn)確地預(yù)測和監(jiān)視支持這種使用的一些情況中,甚至可以對資源承諾超過100%,其中分配的客戶的實際使用將幾乎從未等于或超過100%的使用率。在此類實施例中,在資源被過載的不可能事件的情況中可以有能夠偶爾處理任何超額的其他資源。為了就新資源(或資源的新實例)作出承諾,可以使用某些缺省信息來作出承諾。使用相對保守的數(shù)值作為缺省值可能是令人期望的,以便防止將資源過度承諾。例如,控制面組件可以使用特定類型的每個磁盤主軸可以處理100-120I0PS的通用缺省信息。如果每個服務(wù)器有十二個主軸,則每個服務(wù)器可以有約1200-1440I0PS可用??刂泼娼M件可以在最初是保守的,并且可以分配第一量,如最高400I0PS,直到獲得有關(guān)資源的性能和使用情況的更多信息。在某些示例中,客戶利用率約為10%,從而在許多情況中,客戶僅使用可用IOPS的10%。由此,將40%專用于保證的IOPS仍將比實際使用情況多四倍,并且因此可能仍是保守的數(shù)值。數(shù)據(jù)面中的每個服務(wù)器可以跟蹤該服務(wù)器上的可用空間的量,并且可以存儲對該服務(wù)器承諾的IOPS的數(shù)量。因此,當(dāng)要創(chuàng)建新卷時,控制面組件可以確定服務(wù)器在該400I0PS中具有該服務(wù)器愿意對該卷承諾的足夠可用容量。一個實施例中的方法是隨機(jī)地或以特定次序查詢服務(wù)器,它們是否能夠取得特定數(shù)量的I0PS,并且持續(xù)此操作直到找到能夠接受該IOPS的服務(wù)器為止。但是,當(dāng)該信息也被存儲在控制面中時,控制面可以首先選擇適合的服務(wù)器,然后聯(lián)系該服務(wù)器以取得該卷。在一些情況中,具有承諾的IOPS速率或其他資源承諾的客戶可能期望或需要調(diào)整該速率。例如,客戶應(yīng)用可支持附加的用戶或可將附加的功能性推送到云上。在另一個示例中,當(dāng)客戶不再需要當(dāng)前承諾的容量時,客戶可能期望減少承諾的IOPS的數(shù)量。在又一個示例中,客戶可能在峰值使用期間想要較高承諾的速率,而在其余時間期望較低的承諾速率。也可能出現(xiàn)多種其他情況,其中客戶可能期望更改承諾的速率。正如所論述的,許多常規(guī)系統(tǒng)要求需要更大承諾的速率的用戶購買或以其他方式獲得附加的硬件,這對于用戶常常是不合算的,并且可能獲取、安裝和/或激活要花費(fèi)相當(dāng)多的時間。相似地,需要較低承諾的用戶常常受困于已經(jīng)購買的硬件,或需自行嘗試轉(zhuǎn)售該硬件以便彌補(bǔ)一些支出。根據(jù)多種實施例的系統(tǒng)和方法使速率承諾能夠響應(yīng)客戶請求、建立的閾值、使用情況變化或多種其他此類條件或輸入中任一個被動態(tài)地調(diào)整。該系統(tǒng)能夠按需自動地調(diào)整 資源,如為了提供或分配附加的資源、添加或移動數(shù)據(jù)卷、將客戶分散到多個資源上或本文描述和建議的多種其他此類操作的任何一種。多種實施例中的系統(tǒng)包括可工作以監(jiān)視數(shù)據(jù)環(huán)境中的資源的使用情況以及基于建立的條件調(diào)整資源的利用的至少一個監(jiān)視組件??刂泼孢€可以包括一個或多個接口(例如,Web服務(wù)API),以使客戶能夠請求特定變更或建立進(jìn)行此類變更時使用的條件。在多種實施例的范圍內(nèi),還可以使用多種其他方法。圖5圖示示范情況500,其中四個不同客戶中每一個客戶擁有對公共服務(wù)器502的保證的速率。在本示例中,服務(wù)器具有400I0PS的(可承諾)速率容量,并且每個客戶擁有100I0PS的被承諾的速率。正如上文論述的,在多種實施例中,許多客戶未利用其全部被承諾的分配,從而可以承諾服務(wù)器的全部容量,因為這些客戶中一個或多個客戶的任何超額可以有可能地使用承諾給其他用戶中的一個或多個用戶的未使用容量來處理。但是在某些情況中,可能期望調(diào)整對利用該服務(wù)器的客戶的至少其中之一提供速率承諾的方式。如果例如其中這些客戶的其中之一需要更高速率承諾,則服務(wù)器上沒有足夠的可承諾容量用于支持更高的速率。在此類情況中,可以自動地將需要附加速率承諾的數(shù)據(jù)卷遷移到另一個服務(wù)器,而無需客戶方面知道或采取任何措施。在第一示例600中,如圖6所示,圖5中的客戶A要接收從100I0PS到200I0PS的IOPS速率承諾增加。正如可見到的,當(dāng)前服務(wù)器實例502的全部可承諾容量已經(jīng)被分配,使得該服務(wù)器無法為客戶A提供附加的承諾。在本實施例中,該系統(tǒng)(或服務(wù))找到具有為客戶A提供全部速率承諾的所需可用容量的資源實例602。因此,管理系統(tǒng)的進(jìn)程或工作流(或另一個此類組件或進(jìn)程)可以遷移數(shù)據(jù)卷,并使得客戶I/O請求被定向到第二服務(wù)器實例602,并由第二服務(wù)器實例602來處理,而對于對應(yīng)的客戶端應(yīng)用等無需任何更改。管理進(jìn)程可以促成執(zhí)行任何適合的操作,如為了提供新數(shù)據(jù)實例和/或移動客戶數(shù)據(jù),更新數(shù)據(jù)面中的地址映射等,以使客戶能夠接收更高承諾速率,而無需客戶方面采取任何措施或更改。使用如上文論述的那些組件,圖7圖示根據(jù)多種實施例的示范過程700,通過示范過程700,能夠為給定客戶更新對資源的保證的服務(wù)級別或承諾的處理速率。正如應(yīng)該理解的,圖示的步驟是示例,并且在多種實施例的范圍內(nèi),可以采用相似或替代次序或并行地執(zhí)行附加的、更少或替代步驟。此外,可以使用控制面或類似數(shù)據(jù)控制應(yīng)用或服務(wù)對任何適合的組件或元件來執(zhí)行該過程,如至少一個數(shù)據(jù)實例、存儲庫或數(shù)據(jù)環(huán)境(此處為數(shù)據(jù)面)中的其他此類數(shù)據(jù)源。雖然術(shù)語“客戶”在本文中用于指代特定數(shù)據(jù)或由系統(tǒng)寄存的數(shù)據(jù)存儲或?qū)嵗摹皳碛姓摺保菓?yīng)該理解,術(shù)語客戶僅是為了方便而使用,并且在多種實施例中,可以允許任何適合的用戶或開發(fā)者訪問控制面和數(shù)據(jù)面。在用戶請求觸發(fā)速率變更的實施例中,通過多個API或其他此類面向客戶的接口組件其中之一來接收Web服務(wù)調(diào)用或類似請求702。在需要的情況下,可以分析請求以確定處理請求所需的任何操作。正如所論述的,這可以采用分析請求的Web服務(wù)層的組件的形式來確定正在被請求的操作。在接收請求的API對應(yīng)于要執(zhí)行的特定操作的實施例中,Web服務(wù)層能夠從請求中提取信息以便在確定要執(zhí)行的操作的方面或參數(shù)時使用。一旦確定了一個或多個所請求(或所需)的操作,則系統(tǒng)可以確定客戶當(dāng)前正在使用的資源(例如服務(wù)器)704,以及資源的附加可承諾容量706。正如所論述的,在一些實施例中,這包括對管理系統(tǒng)可訪問的數(shù)據(jù)存儲中的表或其他此類存儲庫進(jìn)行搜索,以確定資源是否具有期望的容量。在其他實施例中,這可以包括個別地聯(lián)系服務(wù)器。即使容量可以
由多個資源實例來提供,但是至少從管理角度來看仍希望嘗試使用客戶已經(jīng)在使用的資源提供附加的速率承諾,而非將客戶請求分散在另一個資源上。如果該客戶正在使用的當(dāng)前資源具有附加的可承諾容量來滿足請求708,則該過程可以促使資源分配附加承諾710,從而附加速率能夠即刻可供客戶使用??梢詫⒊兄Z變更的信息存儲到管理系統(tǒng)可訪問的表中718。如果分配給客戶的資源上沒有足夠的可承諾容量,則該過程可以嘗試查找具有滿足新速率請求712的容量的至少一個資源。在一些實施例中,如果單個資源實例可用且能夠提供期望的容量,則可以將客戶分配轉(zhuǎn)移到該單個資源實例,而非分散在多個實例上。在其他實施例中,可以通過提供另一個可用資源實例的附加容量來提供附加的容量。在一些實施例中,在可能的情況下,該系統(tǒng)可以嘗試將客戶的分配合并,以便最小化或至少減少分配給單個客戶的實例的數(shù)量。在多種實施例的范圍內(nèi),還可以使用多種其他方法。當(dāng)找到能夠提供附加承諾的至少一個附加資源實例時,該過程可以促使資源分配附加承諾714。產(chǎn)生附加資源的映射信息以便正確地定向客戶的請求716??梢詫⒊兄Z變更的信息存儲到管理系統(tǒng)可訪問的表或存儲庫中718。在應(yīng)用承諾并執(zhí)行任何必需的配置或提供操作之后,客戶就能夠直接訪問應(yīng)用了該保證的資源,并且可以使用增加的承諾處理后續(xù)請求720。正如所提到的,可以向用戶提供DNS地址和端口號,例如以便如果操作導(dǎo)致數(shù)據(jù)的移動或另一個相似操作,則客戶或應(yīng)用能夠繼續(xù)使用相同的DNS地址,其將被定向到適合的位置。在一些實施例中,可以不將客戶分配到單個資源實例。例如,可能沒有足夠容量的單個實例滿足全部的承諾。在其他情況中,可以將系統(tǒng)配置成如果可能的話,則使用單個資源添加附加的容量,同時將現(xiàn)有客戶保留在當(dāng)前資源上,從而最小化卷改變等。在其他實施例中,在分配附加的資源之前,系統(tǒng)可能優(yōu)先地使用現(xiàn)有資源實例的容量。圖8圖示其中出于任何上文或其他適合的原因不由單個資源實例提供全部承諾的示例800。同樣,使用圖5的初始示范分配作為起點(diǎn),在本示例中,客戶A的原100I0PS仍由服務(wù)器X 502提供。但是,對于附加的100I0PS,將附加的請求分配到第二服務(wù)器,S卩服務(wù)器Y 802。在本示例中,第二服務(wù)器實例處理其他客戶的請求,但是具有處理客戶A的附加分配的足夠可用和可承諾容量。正如上文論述的,在一些實施例中,可以通過分析控制面的數(shù)據(jù)存儲中存儲的數(shù)據(jù)以查找提供附加承諾的速率的適合服務(wù)器來選擇第二服務(wù)器實例。在其他實施例中,可以個別地聯(lián)系多個服務(wù)器,直到找到至少能夠接受對客戶的附加資源承諾的服務(wù)器。在一些情況中,請求的承諾增加無法由單個資源實例提供。例如,接著圖5的初始起點(diǎn),每個服務(wù)器只能承諾400I0PS。如果客戶A需要從100I0PS增加到600I0PS,則承諾的速率將無法由單個資源來提供。因此,如果原100I0PS繼續(xù)由第一服務(wù)器實例502來提供,則需要至少兩個附加的資源實例。但是,在一些實施例中,基于如減少管理復(fù)雜性和映射等原因,期望的是將客戶劃分或分配在盡可能少的資源上。圖9圖示示范分配900,其中從服務(wù)器X 502移除客戶A的請求,并將數(shù)據(jù)卷遷移和拆分,并將全部承諾的速率指定在兩個資源實例上。雖然其他相關(guān)分配也可以被使用并且也應(yīng)當(dāng)很明顯,但這里將400I0PS指定到服務(wù)器Y 902,并且將200I0PS指定到第三資源實例服務(wù)器Z 904。通過從第一資源實例502移動初始請求,系統(tǒng)能夠使用兩個資源實例而非三個來提供所請求的速率承諾。 正如應(yīng)該顯見到的,基于多個類似原因的任何一個,給定用戶的速率承諾還可能減少。因此,可以實質(zhì)上采用相反的方式使用上文用于增加承諾的方法的其中至少一些來減少承諾。例如,在圖6中其中用戶具有均勻地分拆在兩個資源實例上的200I0PS,如果用戶的速率降低到100I0PS,則系統(tǒng)可以選擇任一個實例以保持100I0PS承諾并允許另一個釋放承諾。如果速率下降到大于在這兩個服務(wù)器其中之一上可提供的100I0PS的級別,如150I0PS的速率,則系統(tǒng)可以將100I0PS置于一個服務(wù)器上,并且將另外的50I0PS置于當(dāng)前第二服務(wù)器上,或者將這些IOPS移到具有約50I0PS的第三服務(wù)器上,以便更充分地利用第三服務(wù)器并增加第二服務(wù)器上的可用容量。在圖9的情況中,用戶從服務(wù)器X上的100I0PS移到服務(wù)器Y上的400I0PS和服務(wù)器Z上的200I0PS。如果用戶移回到200I0PS或400I0PS,則系統(tǒng)只需利用已經(jīng)具有分配給客戶的該量的服務(wù)器,并釋放另一個服務(wù)器上的承諾。如果用戶下降到100I0PS,則系統(tǒng)可以將服務(wù)器Y或Z上的分配減少到100I0PS,或如果服務(wù)器X仍具有100I0PS可用,則可以將客戶移回到服務(wù)器X,以便將服務(wù)器X的利用率最大化并且將服務(wù)器Y和Z上的可用容量最大化。在其他情況中,系統(tǒng)可以決定將客戶移到具有最接近地匹配期望的IOPS級別的容量的再一個服務(wù)器(未不出)。除了在調(diào)整容量時移動、合并或以其他方式管理現(xiàn)有資源外,根據(jù)多種實施例的系統(tǒng)和方法還可以監(jiān)視可用資源中的改變,并響應(yīng)這些改變來更新資源分配。例如,圖10圖示其中客戶具有400I0PS的承諾的速率的示范分配1000。使用三個不同的服務(wù)器1002、1004,1006來提供承諾的速率。在一些實施例中,系統(tǒng)可以檢測何時資源實例變得可用,如服務(wù)器Z 1008示出具有400I0PS的可承諾容量。某些實施例中的系統(tǒng)可以分析現(xiàn)有分配以嘗試將現(xiàn)有客戶合并到更少的設(shè)備和/或?qū)嵗?,而不是將新客戶請求分配到新近可用的資源實例。在本示例中,確定服務(wù)器Z 808具有400的可用I0PS,并且客戶A具有分散在三個服務(wù)器上的400I0PS的被承諾的速率。為了盡可能多地合并,系統(tǒng)可以決定利用服務(wù)器Z來為客戶A提供所有400I0PS。這種方法可以幫助降低管理和映射多種資源實例的復(fù)雜性等,正如上文論述的。將客戶合并到較少的設(shè)備上的決定可以由多個事件中的任何一個觸發(fā)。在一些實施例中,控制面可以周期性地與每個資源實例通信以便確定何時可用容量中變化使得合并可能。在一些實施例中,當(dāng)資源實例的承諾有減少時,如當(dāng)用戶降低被承諾的速率或不再利用該資源時,則可以在控制環(huán)境的任務(wù)隊列中建立一個任務(wù)來檢查Admin數(shù)據(jù)存儲或其他位置中的承諾,確定是否可能進(jìn)行任何合并。無論何時,只要在數(shù)據(jù)環(huán)境中提供新的資源實例,則可以利用相似的方法,如為了在控制環(huán)境中存儲新記錄。還可以使用多種其他方法,如為了周期性地分析控制環(huán)境中存儲的承諾信息以確定可能的合并方法。但是,在用戶僅需要臨時增加或減少承諾的情況中,系統(tǒng)可能不會決定合并,以便最小化數(shù)據(jù)的復(fù)制、映射更新等。因此,在多種實施例中可以利用某些條件(例如,承諾使用情況、當(dāng)前承諾級別的時間長度等)來確定是否要合并用于任何給定用戶的資源。正如所論述的,在多種實施例的范圍內(nèi),可以基于多個類似原因中的任何一個,分配不同的承諾級別或遷移數(shù)據(jù)卷。例如,客戶可能明確地請求資源承諾的變更,如向管理系統(tǒng)的適合API發(fā)送Web請求??蛻暨€可以聯(lián)系能夠代客戶提交此類請求的管理員或其他授權(quán)用戶。在多種實施例中,可以至少部分地由于數(shù)據(jù)面中的資源的多個不同方面的任何一個以及這些資源的使用情況中檢測到的變化而進(jìn)行調(diào)整。例如,特定資源實例可能在比可 接受的時間更長的時間中處于過載情況,如該特定資源實例可能基于指定的條件或閾值。在此類情況中,系統(tǒng)可以決定將至少一個客戶移到不同的實例,以便減少經(jīng)常過載資源實例上的平均負(fù)荷。在其他實施例中,客戶可能頻繁超過承諾的速率,使得系統(tǒng)可以決定將該客戶的數(shù)據(jù)卷遷移到具有更大容量的資源。在一些實施例中,系統(tǒng)可以自動地調(diào)整對多個不同用戶的速率或其他資源承諾。例如,客戶可能愿意在不同時間為不同級別的承諾付費(fèi),但是可能不愿在客戶未在使用多少承諾的容量時為最高承諾速率付費(fèi)。在一個這種實施例中,客戶可以選擇能夠用于多個不同時間的承諾速率的兩種或兩種以上級別、層次或其他值。例如,如果承諾的速率被用到容量的至少75%,則客戶可能愿意為最高500I0PS的承諾的速率付費(fèi)。如果一段時間使用率小于75%,則承諾的速率可以下降到較低的值,如350I0PS的承諾的速率。速率可以保持在350I0PS,直到一段時間內(nèi)使用率下降到350I0PS的75%以下,在此期間,速率可調(diào)整到200I0PS,或直到一段時間內(nèi)使用率上升到承諾的速率的至少110%,在此時間,承諾的速率可調(diào)整回500I0PS。提高或降低承諾的速率所需的時間段可以是不同的,因為例如客戶可能偏好于擁有盡可能大的用于請求的承諾的速率或只在絕對必要時才為更高承諾的速率付費(fèi)。此外,在多種實施例的范圍內(nèi),可以有任何適合的閾值、層次的數(shù)量、可能的速率或其他此類值。在一些實施例中,可以將速率承諾的增加與客戶的I/O請求的處理性能相聯(lián)系。例如,具有指定承諾速率的客戶,只要其I/o請求還在以及時的方式被處理,則可能不希望增加速率。正如所論述的,只要資源上有足夠未被承諾的容量或有未使用的已承諾的容量,則可以及時的方式處理過量的請求。例如,如果資源進(jìn)入過載情況,則過量的請求無法以及時的方式處理,且可能將其減速以便嘗試從過量負(fù)荷恢復(fù)??蛻艨梢栽诖饲闆r中對系統(tǒng)授權(quán)以自動地在同一個資源或不同的資源上增加承諾的速率,以便確保來自該客戶的后續(xù)請求及時地被處理。相似地,可以監(jiān)視多種資源的使用情況,以便在存在容量的情況下,客戶可以自動地降低到較低承諾的速率,只要任何過量請求將可能無顯著延遲地被處理即可。
通過按變化的粒度提供承諾,提供商能夠提供多種不同定價方案。例如,用戶可以為每個承諾的IOPS支付某個金額,如為每個保證的IOPS支付O. 30美元,而無論用戶實際是否使用該金額。因此,如果用戶購買一個月100I0PS的承諾,則該用戶將支付30美元,而無論實際使用與否,因為用戶是為承諾付費(fèi)。還可以使用多種其他定價方法,如多種層次化定價方案。在其他實施例中,用戶可以對一級別承諾的IOPS支付額外費(fèi)用,但是該金額可以被其他用戶利用其未使用的承諾的金額抵扣。例如,用戶可以為一個月100I0PS支付30美元,但是如果平均其他用戶利用了分配給該客戶的承諾的IOPS的25,則該客戶可以得到如每IOPS O. 05美元的減價,總計月費(fèi)為25美元。如果在特定時間期間調(diào)整費(fèi)率,則對客戶的計費(fèi)可以反映該期間分配的不同費(fèi)率。正如所論述的,客戶也可以仔細(xì)檢查其被承諾的量。在多種實施例的范圍內(nèi),還可以對這些額外IOPS使用多種定價方法。在一個實施例中,對于過量I0PS,以與沒有被承諾的IOPS的任何客戶相同的價格對客戶收費(fèi)(例如,每IOPS O. 10美元),并且將客戶請求以與這些請求相同的方式處理。在其他實施例中,客戶可以選擇為每IOPS支付額外費(fèi)用使其 與其他請求一起被處理,但是被賦予高于標(biāo)準(zhǔn)請求的優(yōu)先級。在一些實施例中,客戶可以支付額外費(fèi)用以使他們的過量請求在另一個客戶的可用的承諾的資源內(nèi)得以處理,以使這些請求將被作為承諾的請求來處理,只要該資源上的至少一個其他客戶低于其承諾級別。雖然客戶可能希望能夠在需要的情況下激增請求速率,但是在某些實施例中,用戶可能被限制在某個最高級別,不管是為了限制客戶的成本、確保服務(wù)質(zhì)量的級別,還是出于其他此類原因。能夠超過保證的級別還可以使正在規(guī)劃系統(tǒng)或應(yīng)用的客戶受益,因為客戶可以確定需求的各方面,而不會明顯地遭遇服務(wù)質(zhì)量上的問題。圖11圖示能夠利用和/或運(yùn)用根據(jù)多種實施例的多個方面的環(huán)境1100的示例。正如將認(rèn)識到的,雖然出于解釋的目的而使用了基于Web的環(huán)境,但是也可以在適合的情況下使用不同環(huán)境來實現(xiàn)多種實施例。所示的環(huán)境1100包括測試或開發(fā)部分(或端)和生產(chǎn)部分。生產(chǎn)部分包括電子客戶端設(shè)備1102,其可以包括可工作以通過適合的網(wǎng)絡(luò)1104發(fā)送和接收請求、消息或信息以及將信息傳回給設(shè)備的用戶的任何適合的設(shè)備。此類客戶端設(shè)備的示例包括個人計算機(jī)、蜂窩電話、手持消息傳送設(shè)備、膝上型計算機(jī)、機(jī)頂盒、個人數(shù)字助理、電子書閱讀器等。該網(wǎng)絡(luò)可以包括任何適合的網(wǎng)絡(luò),包括內(nèi)聯(lián)網(wǎng)、因特網(wǎng)、蜂窩網(wǎng)絡(luò)、局域網(wǎng)或任何其他此類網(wǎng)絡(luò)或其組合。用于此類系統(tǒng)的組件可以至少部分地根據(jù)所選的網(wǎng)絡(luò)和/或環(huán)境的類型而定。用于經(jīng)由此類網(wǎng)絡(luò)通信的協(xié)議和組件是眾所周知的,并且在本文將不予以詳細(xì)論述。通過網(wǎng)絡(luò)的通信可以通過有線或無線連接及其組合來實現(xiàn)。在本示例中,該網(wǎng)絡(luò)包括因特網(wǎng),因為環(huán)境包括用于接收請求并對此響應(yīng)提供內(nèi)容服務(wù)的Web服務(wù)器1106,雖然對于其他網(wǎng)絡(luò),可以如本領(lǐng)域技術(shù)人員所顯見的,使用提供類似目的的替代設(shè)備。圖示的環(huán)境包括至少一個應(yīng)用服務(wù)器1108和數(shù)據(jù)存儲1110。應(yīng)該理解,可以有若干個應(yīng)用服務(wù)器、層或其他元件、過程或組件,它們可以鏈接或以其他方式配置,并且可以交互來執(zhí)行如從適合的數(shù)據(jù)存儲獲取數(shù)據(jù)的任務(wù)。正如本文所使用的,術(shù)語“數(shù)據(jù)存儲”指代能夠存儲、訪問和檢索數(shù)據(jù)的任何設(shè)備或設(shè)備的組合,其可以包括任何標(biāo)準(zhǔn)、分布式或集群式環(huán)境中的任何組合和數(shù)量的數(shù)據(jù)服務(wù)器、數(shù)據(jù)庫、數(shù)據(jù)存儲設(shè)備和數(shù)據(jù)存儲介質(zhì)。該應(yīng)用服務(wù)器可以包括用于根據(jù)需要與數(shù)據(jù)存儲集成來執(zhí)行客戶端設(shè)備的一個或多個應(yīng)用的方面和處理應(yīng)用的大部分?jǐn)?shù)據(jù)訪問和業(yè)務(wù)邏輯的任何適合的硬件和軟件。該應(yīng)用服務(wù)器與數(shù)據(jù)存儲協(xié)同來提供訪問控制服務(wù),以及能夠產(chǎn)生如文本、圖形、音頻和/或視頻等內(nèi)容以傳輸給用戶,在本示例中,該內(nèi)容可以通過Web服務(wù)器以HTML、XML或另一種適合的結(jié)構(gòu)化語言的形式提供給用戶。處理所有請求和響應(yīng)以及在客戶端設(shè)備1102和應(yīng)用服務(wù)器1108之間交付內(nèi)容可以由Web服務(wù)器來處理。應(yīng)該理解,Web和應(yīng)用服務(wù)器并非必需的而僅僅是示范組件,因為本文論述的結(jié)構(gòu)化代碼可以在任何適合的設(shè)備或主機(jī)機(jī)器上執(zhí)行,正如本文其他地方所論述的。此外,可以采用如下方式來建立該環(huán)境的架構(gòu)使得能夠?qū)y試自動化框架作為服務(wù)來提供,而用戶或應(yīng)用可以訂閱該服務(wù)。測試自動化框架能夠作為本文論述的多種測試模式的任何一種的實現(xiàn)來提供,雖然正如本文論述或建議的,也可以使用多種其他實現(xiàn)。該環(huán)境還包括開發(fā)和/或測試端,其包括允許如開發(fā)者、數(shù)據(jù)管理員或測試人員的用戶訪問系統(tǒng)的用戶設(shè)備1118。用戶設(shè)備1118可以是任何適合的設(shè)備或機(jī)器,如上文結(jié)合客戶端設(shè)備1102描述的。例如,該環(huán)境還包括開發(fā)服務(wù)器1120,其功能與應(yīng)用服務(wù)器1108相似,但是通常在開發(fā)和測試期間運(yùn)行代碼,然后才能在生產(chǎn)端部署和執(zhí)行該代碼,并 且外部用戶才能夠訪問該代碼。在一些實施例中,應(yīng)用服務(wù)器可以用作開發(fā)服務(wù)器,并且可以不使用單獨(dú)的生產(chǎn)階段和測試階段。數(shù)據(jù)存儲1110可以包括用于存儲與特定方面相關(guān)的數(shù)據(jù)的若干單獨(dú)的數(shù)據(jù)表、數(shù)據(jù)庫或其他數(shù)據(jù)存儲機(jī)構(gòu)和介質(zhì)。例如,圖示的數(shù)據(jù)存儲包括用于存儲生產(chǎn)數(shù)據(jù)1112和用戶信息1116的機(jī)構(gòu),其可以用于為生產(chǎn)端提供內(nèi)容。該數(shù)據(jù)存儲還示出為包括用于存儲測試數(shù)據(jù)1114的機(jī)構(gòu),測試數(shù)據(jù)1114可以與用戶信息一起用于測試端。應(yīng)該理解,可以有可能需要存儲在數(shù)據(jù)存儲中的許多其他方面,如頁映像信息和訪問權(quán)信息方面,其可以根據(jù)情況存儲在任何上文列出的機(jī)構(gòu)中或存儲在數(shù)據(jù)存儲1110中的附加機(jī)構(gòu)中。數(shù)據(jù)存儲1110可通過與之關(guān)聯(lián)的邏輯工作以從應(yīng)用服務(wù)器1108或開發(fā)服務(wù)器1120接收指令,并對此響應(yīng)以獲取、更新或以其他方式處理數(shù)據(jù)。在一個示例中,用戶可以提交針對某種類型的項目的搜索請求。在此情況中,數(shù)據(jù)存儲可以訪問用戶信息以驗證用戶的身份,并且可以訪問目錄細(xì)節(jié)信息以獲取與該類型的項目有關(guān)的信息。然后可以將該信息返回給用戶,如在用戶能夠通過用戶設(shè)備1102上的瀏覽器查看的Web頁面上的結(jié)果列表中??梢栽跒g覽器的專用頁面或窗口中查看所關(guān)注的特定項目的信息。每個服務(wù)器通常將包括操作系統(tǒng),操作系統(tǒng)為該服務(wù)器的總體管理和操作提供可執(zhí)行程序指令,并且每個服務(wù)器通常將包括存儲指令的計算機(jī)可讀介質(zhì),這些指令在被服務(wù)器的處理器執(zhí)行時允許服務(wù)器執(zhí)行其所需功能。服務(wù)器的操作系統(tǒng)和總體功能性的適合實現(xiàn)是眾所周知的或可通過商業(yè)渠道獲取的,并且尤其根據(jù)本文公開,可由本領(lǐng)域普通技術(shù)人員容易地實現(xiàn)。一個實施例中的環(huán)境是分布式計算環(huán)境,其利用若干個計算機(jī)系統(tǒng)和組件,這些計算機(jī)系統(tǒng)和組件使用一個或多個計算機(jī)網(wǎng)絡(luò)或直接連接經(jīng)由通信鏈路互連。但是,本領(lǐng)域技術(shù)人員將認(rèn)識到,此類系統(tǒng)在具有比圖11所示更少或更多數(shù)量的組件的系統(tǒng)中同樣能夠很好地工作。因此,圖11中的系統(tǒng)1100的圖示應(yīng)該被視為本質(zhì)上是說明性的,而非對本發(fā)明公開范圍的限制。如圖11所示的環(huán)境對于如電子交易市場的提供商是有用的,其中可以使用多個主機(jī)來執(zhí)行如提供內(nèi)容、認(rèn)證用戶、執(zhí)行支付交易或執(zhí)行任何多種其他此類任務(wù)的任務(wù)。這些主機(jī)的其中一些可以配置成提供相同的功能性,而另一些服務(wù)器可以配置成執(zhí)行至少一些不同的功能。在此類情況中的電子環(huán)境可以包括附加的組件和/或其他布置,如圖2的配置200中所示那些,下文對此進(jìn)行詳細(xì)論述。正如上文所論述的,這些多種實施例可以在范圍廣泛的操作環(huán)境中實現(xiàn),在一些情況中,其可以包括能夠用于操作任何數(shù)量的應(yīng)用的一個或多個用戶計算機(jī)、計算設(shè)備或處理設(shè)備。用戶或客戶端設(shè)備可以包括任何多個通用個人計算機(jī)(如運(yùn)行標(biāo)準(zhǔn)操作系統(tǒng)的桌上型或膝上型計算機(jī))以及運(yùn)行移動軟件且能夠支持多個聯(lián)網(wǎng)和消息傳送協(xié)議的蜂窩、無線和手持設(shè)備。此類系統(tǒng)還可以包括運(yùn)行任何多種商業(yè)渠道可獲取的操作系統(tǒng)和以如開發(fā)和數(shù)據(jù)庫管理為目的的其他公知應(yīng)用的多個工作站。這些設(shè)備還可以包括其他電子設(shè)備,如偽終端、瘦客戶端、游戲系統(tǒng)和能夠通過網(wǎng)絡(luò)通信的其他設(shè)備。還可以將多個不同方面作為至少一個服務(wù)或Web服務(wù)的一部分來實現(xiàn),如可以是面向服務(wù)的體系結(jié)構(gòu)的一部分。如Web服務(wù)的服務(wù)可以使用任何適合類型的消息傳送,如 使用可擴(kuò)充標(biāo)記語言(XML)格式且使用如SOAP (“簡單對象訪問協(xié)議”的簡稱)的適合協(xié)議交換的消息來通信。此類服務(wù)提供或執(zhí)行的進(jìn)程可以采用任何適合的語言來編寫,如采用Web服務(wù)描述語言(WSDL)。使用如WSDL的語言能夠?qū)崿F(xiàn)如在多種SOAP框架中自動化生成客戶端代碼的功能性。大多數(shù)實施例利用本領(lǐng)域技術(shù)人員熟知的至少一個網(wǎng)絡(luò)來支持使用多種商業(yè)渠道可獲取的協(xié)議(如,TCP/IP、OSI、FTP、UPnP, NFS、CIFS和AppleTalk)的任何一種進(jìn)行通信。該網(wǎng)絡(luò)可以是例如,局域網(wǎng)、廣域網(wǎng)、虛擬專用網(wǎng)絡(luò)、因特網(wǎng)、內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng)、公共交換電話網(wǎng)、紅外線網(wǎng)絡(luò)、無線網(wǎng)絡(luò)及其任何組合。在利用Web服務(wù)器的實施例中,Web服務(wù)器可以運(yùn)行多種服務(wù)器或中間層應(yīng)用的任何一種,包括HTTP服務(wù)器、FTP服務(wù)器、CGI服務(wù)器、數(shù)據(jù)服務(wù)器、Java服務(wù)器和業(yè)務(wù)應(yīng)用服務(wù)器。服務(wù)器還可以能夠響應(yīng)來自用戶設(shè)備的請求執(zhí)行程序或腳本,如執(zhí)行可以作為以任何編程語言(如Java 、C、c#或C++)或任何腳本語言(如Perl、Python或TCL)及其組合編寫的一個或多個腳本或程序來實現(xiàn)的一個或多個Web應(yīng)用。服務(wù)器還可以包括數(shù)據(jù)庫服務(wù)器,包括而不限于可從Oracle 、Microsoft 、Sybase 和IBM 以商業(yè)渠道獲取的那些數(shù)據(jù)庫服務(wù)器。該環(huán)境可以包括多種數(shù)據(jù)存儲和其他存儲器和存儲介質(zhì),正如上文論述的。它們可以駐留在多個不同位置,如在這些計算機(jī)的其中一個或多個本地(和/或駐留在其中)的存儲介質(zhì)或在網(wǎng)絡(luò)上對于任何一個或全部計算機(jī)為遠(yuǎn)程的存儲介質(zhì)。在一組特定實施例中,信息可以駐留在本領(lǐng)域技術(shù)人員熟知的存儲區(qū)域網(wǎng)絡(luò)(“SAN”)中。相似地,可以在適合的情況下,將用于執(zhí)行屬于這些計算機(jī)、服務(wù)器或其他網(wǎng)絡(luò)設(shè)備的功能的任何必需文件存儲在本地和/或存儲在遠(yuǎn)程位置。在系統(tǒng)包括計算機(jī)化設(shè)備的情況中,每個此類設(shè)備可以包括經(jīng)由總線電稱合的硬件元件,這些元件包括例如至少一個中央處理單元(CPU)、至少一個輸入設(shè)備(例如,鼠標(biāo)、鍵盤、控制器、觸摸屏或小鍵盤)和至少一個輸出設(shè)備(例如,顯示設(shè)備、打印機(jī)或揚(yáng)聲器)。此類系統(tǒng)還可以包括一個或多個存儲設(shè)備,如磁盤驅(qū)動器、光存儲設(shè)備和固態(tài)存儲設(shè)備(如隨機(jī)存取存儲器(“RAM”)或只讀存儲器(“ROM”)),以及移動介質(zhì)設(shè)備、存儲卡、閃存卡等。
此類設(shè)備還可以包括計算機(jī)可讀存儲介質(zhì)讀取器、通信設(shè)備(例如,調(diào)制解調(diào)器、網(wǎng)絡(luò)卡(無線或有線)、紅外線通信設(shè)備等)和如上所述的工作存儲器。該計算機(jī)可讀存儲介質(zhì)讀取器可以與計算機(jī)可讀存儲介質(zhì)連接或配置成接納計算機(jī)可讀存儲介質(zhì),該計算機(jī)可讀存儲介質(zhì)代表用于臨時性地和/或永久性地包含、存儲、傳送和檢索計算機(jī)可讀信息的遠(yuǎn)程、本地、固定和/或移動存儲設(shè)備以及存儲介質(zhì)。該系統(tǒng)和多種設(shè)備通常還將包括位于至少一個工作存儲器設(shè)備內(nèi)的多個軟件應(yīng)用、模塊、服務(wù)或其他元件,包括操作系統(tǒng)和應(yīng)用程序(如客戶端應(yīng)用或Web瀏覽器)。應(yīng)該認(rèn)識到,備選實施例可以具有源自上文所描述的多種變化。例如,還可以使用定制的硬件和/或可以在硬件、軟件(包括便攜式軟件,如applet)或這二者中實現(xiàn)特定元件。此外,可以采用至其他計算設(shè)備(如網(wǎng)絡(luò)輸入/輸出設(shè)備)的連接。用于包含代碼或代碼的部分的存儲介質(zhì)和計算機(jī)可讀介質(zhì)可以包括本領(lǐng)域中眾所周知或使用的任何適合的介質(zhì),包括存儲介質(zhì)和通信介質(zhì),如但不限于以用于存儲和/或傳輸如計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)的信息的任何方法或技術(shù)實現(xiàn)的易失性和非易失性、移動和不可移動介質(zhì),包括RAM、ROM、EEPR0M、閃存或其他存儲技術(shù)、 CD-ROM、數(shù)字多功能光盤(DVD )或其他光存儲裝置、磁帶盒、磁帶、磁盤存儲裝置或其他磁存儲設(shè)備或能夠用于存儲期望的信息且能夠被系統(tǒng)設(shè)備訪問的任何其他介質(zhì)?;诒疚奶峁┑陌l(fā)明公開和教導(dǎo),本領(lǐng)域技術(shù)人員能夠認(rèn)識到用于實現(xiàn)這些多種實施例的其他方式和/或方法。因此,本說明書和附圖應(yīng)視為說明性意義的而非限制性意義的。但是,將顯見的是在不背離權(quán)利要求中提出的本發(fā)明的更寬精神和范圍的前提下可以對其進(jìn)行多種修改和更改。條目I. 一種用于調(diào)整共享的計算資源的使用的計算機(jī)實現(xiàn)的方法,其包括在配置有可執(zhí)行指令的一個或多個計算機(jī)系統(tǒng)的控制下,接收客戶的對于一種類型的資源調(diào)整的承諾的請求速率的請求,所述客戶具有所述類型的資源的當(dāng)前承諾的請求速率,所述請求能夠指定與所述類型的資源的一個或多個實例的容量中任何部分對應(yīng)的承諾的請求速率;如果所述調(diào)整的承諾的請求速率小于所述當(dāng)前承諾的請求速率,則自動地為所述客戶降低用于所述類型的資源的至少一個實例的所述承諾的請求速率;如果所述請求涉及提高所述承諾的請求速率,則自動地承諾所述類型的資源的至少一個實例的可用可承諾速率容量中的至少一部分以獲取所述調(diào)整的承諾的請求速率;以及為所述客戶存儲所述調(diào)整的承諾的請求速率的信息,以便在管理所述客戶的請求處理的速率時使用。條目2.如條目I所述的計算機(jī)實現(xiàn)的方法,其中降低所述承諾的請求速率包括,當(dāng)更少數(shù)量的實例即可用于提供所述承諾的請求速率時,減少為所述客戶提供所述承諾的請求速率的所述類型的資源的實例的數(shù)量。條目3.如條目I所述的計算機(jī)實現(xiàn)的方法,其中提高或降低所述承諾的請求速率包括,自動地將至少一個請求處理承諾移到為所述客戶提供所述承諾的請求速率的所述類型的資源的不同實例。
條目4.如條目I所述的計算機(jī)實現(xiàn)的方法,其中所述調(diào)整的承諾的請求速率能夠由單個確定的實例或各提供所請求的承諾的請求速率的至少一部分的多個確定的實例來提供,每個確定的實例還能夠在所述實例的請求容量允許用于附加用戶時擁有共享所述資源的所述附加用戶。條目5.如條目I所述的計算機(jī)實現(xiàn)的方法,其中一種類型的資源的所述承諾的請求速率是承諾的數(shù)據(jù)服務(wù)器的每秒輸入/輸出操作次數(shù)(IOPS)的速率。條目6.如條目I所述的計算機(jī)實現(xiàn)的方法,其中每個實例能夠支持用于多個客戶 的承諾的請求速率,每個實例還能夠支持沒有承諾的請求速率的附加客戶的請求。條目7.如條目I所述的計算機(jī)實現(xiàn)的方法,其中至少一個實例配置成使用所述實例的所述容量中未承諾的或未使用的部分來處理沒有承諾的請求速率的客戶的請求,以及其中在過載情況中,以正常速率處理具有承諾的請求速率的客戶的請求,并且將沒有承諾的請求速率的客戶的請求降速來克服所述過載情況。條目8.如條目I所述的計算機(jī)實現(xiàn)的方法,其中具有承諾的請求速率的客戶能夠超出所述承諾的請求速率,超過所述承諾的請求速率的任何請求以用于沒有速率承諾的請求的速率或以介于用于具有速率承諾的請求的速率和用于沒有速率承諾的請求的速率之間的混合速率來予以處理。條目9.如條目I所述的計算機(jī)實現(xiàn)的方法,其中確定所述類型的資源的至少一個實例的可用可承諾請求容量包括,隨機(jī)地聯(lián)系實例以獲取容量或承諾信息的至少其中之
O條目10.如條目I所述的計算機(jī)實現(xiàn)的方法,還包括至少部分地基于對所述客戶的所述類型的資源的所述承諾的請求速率來對所述客戶收費(fèi)。條目11. 一種用于調(diào)整共享的計算資源的使用的系統(tǒng),其包括至少一個處理器;以及存儲器,其包括在被所述至少一個處理器執(zhí)行時使所述系統(tǒng)執(zhí)行如下操作的指令接收客戶的對于一種類型的資源的調(diào)整的承諾的速率的請求,所述客戶具有用于所述類型的資源的當(dāng)前承諾的速率,所述請求能夠指定與所述類型的資源的一個或多個實例的容量中任何部分對應(yīng)的承諾的速率;如果所述調(diào)整的承諾的速率小于所述當(dāng)前承諾的速率,則自動地為所述客戶降低用于所述類型的資源的至少一個實例的所述承諾的速率;如果所述請求涉及提高所述承諾的速率,則自動地承諾所述類型的資源的至少一個實例的可用可承諾速率容量中的至少一部分以獲取所述調(diào)整的承諾的速率;以及為所述客戶存儲所述調(diào)整的承諾的速率的信息,以便在管理所述客戶的請求處理的速率時使用。條目12.如條目11所述的系統(tǒng),其中降低所述承諾的速率包括,當(dāng)更少數(shù)量的實例即可用于提供所述承諾的速率時,減少用于為所述客戶提供所述承諾的速率的所述類型的資源的實例的數(shù)量,并且其中提高或降低所述承諾的速率包括,自動地將至少一個使用承諾移到為所述客戶提供所述承諾的速率的所述類型的資源的不同實例。條目13. —種用于管理共享的計算資源的使用的計算機(jī)實現(xiàn)的方法,其包括
在配置有可執(zhí)行指令的一個或多個計算機(jī)系統(tǒng)的控制下,接收對于用于一種類型的資源的承諾的使用速率的請求,所述請求能夠指定與所述類型的資源的一個或多個實例的使用容量中任何部分對應(yīng)的承諾的使用速率;確定所述類型的資源的可工作以提供所請求的承諾的使用速率的至少一部分的至少一個實例;以及當(dāng)所述至少一個確定的實例能夠提供所述承諾的使用速率時,將所述所請求的承諾的使用速率的至少一部分指定到每個確定的實例,其中所述承諾的使用速率能夠由單個確定的實例或各提供所述所請求的承諾的使用速率的至少一部分的多個確定的實例來提供,每個確定的實例還能夠在所述實例的使用容量允許用于附加用戶時擁有共享所述資源的所述附加用戶,以及其中用戶能夠請求實質(zhì)上獨(dú)立于所述類型的資源的任何單個實例的所述容量的 承諾的使用速率。條目14.如條目13所述的計算機(jī)實現(xiàn)的方法,其中用于一種類型的資源的所述承諾的使用速率是承諾的數(shù)據(jù)服務(wù)器的每秒輸入/輸出操作次數(shù)(IOPS)的速率。條目15.如條目13所述的計算機(jī)實現(xiàn)的方法,其中確定所述類型的資源的可工作以提供所述所請求的承諾的使用速率的至少一部分的至少一個實例包括,確定實例的所述容量中有至少可允許的部分未承諾給其他用戶的至少一個實例。條目16.如條目13所述的計算機(jī)實現(xiàn)的方法,其中如果確定沒有實例的組合能夠提供與所述請求對應(yīng)的所述承諾的使用速率,則拒絕所述請求。條目17.如條目13所述的計算機(jī)實現(xiàn)的方法,其中具有承諾的使用速率的用戶能夠超出所述承諾的使用速率,超過所述承諾的使用速率的任何請求以用于沒有速率承諾的請求的速率或以介于用于具有速率承諾的請求的速率和用于沒有速率承諾的請求的速率之間的混合速率來予以處理。條目18. —種用于管理共享的計算資源的使用的系統(tǒng),其包括至少一個處理器;以及存儲器,其包括在被所述至少一個處理器執(zhí)行時使所述系統(tǒng)執(zhí)行如下操作的指令接收對于用于一種類型的資源的承諾的使用速率的請求,所述請求能夠指定與所述類型的資源的一個或多個實例的使用容量中任何部分對應(yīng)的承諾的使用速率;確定所述類型的資源的可工作以提供所請求的承諾的使用速率的至少一部分的至少一個實例;以及當(dāng)所述至少一個確定的實例能夠提供所述承諾的使用速率時,將所述所請求的承諾的使用速率的至少一部分指定到每個確定的實例,其中所述承諾的使用速率能夠由單個確定的實例或各提供所述所請求的承諾的使用速率的至少一部分的多個確定的實例來提供,每個確定的實例還能夠在所述實例的使用容量允許用于附加用戶時擁有共享所述資源的所述附加用戶,以及其中用戶能夠請求實質(zhì)上獨(dú)立于所述類型的資源的任何單個實例的所述容量的承諾的使用速率。條目19.如條目18所述的系統(tǒng),其中確定所述類型的資源的可工作以提供所述所請求的承諾的使用速率的至少一部分的至少一個實例包括,確定實例的所述容量中有至少可允許的部分未承諾給其他用戶的至少一個實例。條目20.如條目18所述的系統(tǒng),其中至少一個實例配置成使用所述實例的所述容量中未承諾的或未使用的部分來處理沒有承諾的請求速率的用戶的請求,以及其中在過載情況中,以正常速率處理具有承諾的使用速率的用戶的請求,并且將 沒有承諾的使用速率的用戶的請求降速來克服所述過載情況。
權(quán)利要求
1.一種用于調(diào)整共享的計算資源的使用的計算機(jī)實現(xiàn)的方法,其包括 在配置有可執(zhí)行指令的一個或多個計算機(jī)系統(tǒng)的控制下, 接收客戶的對于一種類型的資源調(diào)整的承諾的請求速率的請求,所述客戶具有用于所述類型的資源的當(dāng)前承諾的請求速率,所述請求能夠指定與所述類型的資源的一個或多個實例的容量中任何部分對應(yīng)的承諾的請求速率; 如果所述調(diào)整的承諾的請求速率小于所述當(dāng)前承諾的請求速率,則自動地為所述客戶降低用于所述類型的資源的至少一個實例的所述承諾的請求速率; 如果所述請求涉及提高所述承諾的請求速率,則自動地承諾所述類型的資源的至少一個實例的可用可承諾速率容量中的至少一部分以獲取所述調(diào)整的承諾的請求速率;以及 為所述客戶存儲所述調(diào)整的承諾的請求速率的信息,以便在管理所述客戶的請求處理的速率時使用。
2.如權(quán)利要求I所述的計算機(jī)實現(xiàn)的方法,其中 降低所述承諾的請求速率包括,當(dāng)更少數(shù)量的實例即可用于提供所述承諾的請求速率時,減少為所述客戶提供所述承諾的請求速率的所述類型的資源的實例的數(shù)量。
3.如權(quán)利要求I所述的計算機(jī)實現(xiàn)的方法,其中 提高或降低所述承諾的請求速率包括,自動地將至少一個請求處理承諾移到為所述客戶提供所述承諾的請求速率的所述類型的資源的不同實例。
4.如權(quán)利要求I所述的計算機(jī)實現(xiàn)的方法,其中所述調(diào)整的承諾的請求速率能夠由單個確定的實例或各提供所請求的承諾的請求速率的至少一部分的多個確定的實例來提供,每個確定的實例還能夠在所述實例的請求容量允許用于附加用戶時擁有共享所述資源的所述附加用戶。
5.如權(quán)利要求I所述的計算機(jī)實現(xiàn)的方法,其中對于一種類型的資源的所述承諾的請求速率是承諾的數(shù)據(jù)服務(wù)器的每秒輸入/輸出操作次數(shù)(IOPS)的速率。
6.如權(quán)利要求I所述的計算機(jī)實現(xiàn)的方法,其中每個實例能夠支持對于多個客戶的承諾的請求速率,每個實例還能夠支持沒有承諾的請求速率的附加客戶的請求。
7.如權(quán)利要求I所述的計算機(jī)實現(xiàn)的方法,其中至少一個實例配置成使用所述實例的容量中未承諾的或未使用的部分來處理沒有承諾的請求速率的客戶的請求,以及 在過載情況中,以正常速率處理具有承諾的請求速率的客戶的請求,并且將沒有承諾的請求速率的客戶的請求降速來克服所述過載情況。
8.如權(quán)利要求I所述的計算機(jī)實現(xiàn)的方法,其中具有承諾的請求速率的客戶能夠超出所述承諾的請求速率,超過所述承諾的請求速率的任何請求以用于沒有速率承諾的請求的速率或以介于用于具有速率承諾的請求的速率和用于沒有速率承諾的請求的速率之間的混合速率來予以處理。
9.如權(quán)利要求I所述的計算機(jī)實現(xiàn)的方法,其中確定所述類型的資源的至少一個實例的可用可承諾請求容量包括,隨機(jī)地聯(lián)系實例以獲取容量或承諾信息的至少其中之一。
10.如權(quán)利要求I所述的計算機(jī)實現(xiàn)的方法,還包括 至少部分地基于對于所述客戶的用于所述類型的資源的所述承諾的請求速率來對所述客戶收費(fèi)。
11.一種用于調(diào)整共享的計算資源的使用的系統(tǒng),其包括至少一個處理器;以及 存儲器,其包括在被所述至少一個處理器執(zhí)行時使所述系統(tǒng)執(zhí)行如下操作的指令 接收客戶的對于一種類型的資源調(diào)整的承諾的速率的請求,所述客戶具有用于所述類型的資源的當(dāng)前承諾的速率,所述請求能夠指定與所述類型的資源的一個或多個實例的容量中任何部分對應(yīng)的承諾的速率; 如果所述調(diào)整的承諾的速率小于所述當(dāng)前承諾的速率,則自動地為所述客戶降低用于所述類型的資源的至少一個實例的所述承諾的速率; 如果所述請求涉及提高所述承諾的速率,則自動地承諾所述類型的資源的至少一個實例的可用可承諾速率容量中的至少一部分以獲取所述調(diào)整的承諾的速率;以及 為所述客戶存儲所述調(diào)整的承諾的速率的信息,以便在管理所述客戶的請求處理的速率時使用。
12.如權(quán)利要求11所述的系統(tǒng),其中降低所述承諾的速率包括,當(dāng)更少數(shù)量的實例即可用于提供所述承諾的速率時,減少為所述客戶提供所述承諾的速率的所述類型的資源的實例的數(shù)量,以及 其中提高或降低所述承諾的速率包括,自動地將至少一個使用承諾移到為所述客戶提供所述承諾的速率的所述類型的資源的不同實例。
13.一種用于管理共享的計算資源的使用的計算機(jī)實現(xiàn)的方法,其包括 在配置有可執(zhí)行指令的一個或多個計算機(jī)系統(tǒng)的控制下, 接收對于用于一種類型的資源的承諾的使用速率的請求,所述請求能夠指定與所述類型的資源的一個或多個實例的使用容量中任何部分對應(yīng)的承諾的使用速率; 確定所述類型的資源的可工作以提供所請求的承諾的使用速率的至少一部分的至少一個實例;以及 當(dāng)所述至少一個確定的實例能夠提供所述承諾的使用速率時,將所述所請求的承諾的使用速率的至少一部分指定到每個確定的實例, 其中所述承諾的使用速率能夠由單個確定的實例或各提供所述所請求的承諾的使用速率的至少一部分的多個確定的實例來提供,每個確定的實例還能夠在所述實例的使用容量允許用于附加用戶時擁有共享所述資源的所述附加用戶,以及 其中用戶能夠請求實質(zhì)上獨(dú)立于所述類型的資源的任何單個實例的所述容量的承諾的使用速率。
14.如權(quán)利要求13所述的計算機(jī)實現(xiàn)的方法,其中用于一種類型的資源的所述承諾的使用速率是承諾的數(shù)據(jù)服務(wù)器的每秒輸入/輸出操作次數(shù)(IOPS)的速率。
15.如權(quán)利要求13所述的計算機(jī)實現(xiàn)的方法,其中確定所述類型的資源的可工作以提供所述所請求的承諾的使用速率的至少一部分的至少一個實例包括,確定實例的所述容量中有至少可允許的部分未承諾給其他用戶的至少一個實例。
16.如權(quán)利要求13所述的計算機(jī)實現(xiàn)的方法,其中如果確定沒有實例的組合能夠提供與所述請求對應(yīng)的承諾的使用速率,則拒絕所述請求。
17.如權(quán)利要求13所述的計算機(jī)實現(xiàn)的方法,其中具有承諾的使用速率的用戶能夠超出所述承諾的使用速率,超過所述承諾的使用速率的任何請求以用于沒有速率承諾的請求的速率或以介于用于具有速率承諾的請求的速率和用于沒有速率承諾的請求的速率之間的混合速率來予以處理。
18.一種用于管理共享的計算資源的使用的系統(tǒng),其包括 至少一個處理器;以及 存儲器,其包括在被所述至少一個處理器執(zhí)行時使所述系統(tǒng)執(zhí)行如下操作的指令 接收對于用于一種類型的資源的承諾的使用速率的請求,所述請求能夠指定與所述類型的資源的一個或多個實例的使用容量中任何部分對應(yīng)的承諾的使用速率; 確定所述類型的資源的可工作以提供所請求的承諾的使用速率的至少一部分的至少一個實例;以及 當(dāng)所述至少一個確定的實例能夠提供所述承諾的使用速率時,將所述所請求的承諾的使用速率的至少一部分指定到每個確定的實例, 其中所述承諾的使用速率能夠由單個確定的實例或各提供所述所請求的承諾的使用速率的至少一部分的多個確定的實例來提供,每個確定的實例還能夠在所述實例的使用容量允許用于附加用戶時擁有共享所述資源的所述附加用戶,以及 其中用戶能夠請求實質(zhì)上獨(dú)立于所述類型的資源的任何單個實例的所述容量的承諾的使用速率。
19.如權(quán)利要求18所述的系統(tǒng),其中確定所述類型的資源的可工作以提供所述所請求的承諾的使用速率的至少一部分的至少一個實例包括,確定實例的所述容量中有至少可允許的部分未承諾給其他用戶的至少一個實例。
20.如權(quán)利要求18所述的系統(tǒng),其中至少一個實例配置成使用所述實例的所述容量中未承諾的或未使用的部分來處理沒有承諾的請求速率的用戶的請求,以及 其中在過載情況中,以正常速率處理具有承諾的使用速率的用戶的請求,并且將沒有承諾的使用速率的用戶的請求降速來克服所述過載情況。
全文摘要
可以在共享資源環(huán)境中為客戶動態(tài)地調(diào)整對各種資源的承諾??蛻艨梢园幢怀兄Z的每秒輸入/輸出操作次數(shù)(IOPS)的速率提供數(shù)據(jù)卷,并僅為該承諾(加任何超額)例如以及所請求的存儲量付費(fèi)??蛻艨梢栽诖撕笸ㄟ^提交適當(dāng)?shù)恼埱髞碚{(diào)整被承諾的IOPS速率,或者可以基于多個條件中的任一個來自動地調(diào)整該速率。可以將客戶的數(shù)據(jù)卷遷移、分割或組合以便提供調(diào)整的速率??蛻襞c數(shù)據(jù)卷的交互無需改變,除了處理請求的速率外,其與速率的調(diào)整或數(shù)據(jù)卷的改變無關(guān)。
文檔編號G06Q10/00GK102844772SQ201180015186
公開日2012年12月26日 申請日期2011年3月29日 優(yōu)先權(quán)日2010年3月29日
發(fā)明者T·A·瑟滕, R·彼得森-瓊斯, J·R·漢米爾頓, S·賈殷, M·S·卡門, D·N·桑德蘭, D·魏, F·卡塔諾 申請人:亞馬遜技術(shù)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1