管理程序執(zhí)行能力的私有使用
【專利說明】管理程序執(zhí)行能力的私有使用
[0001]本申請為于2011年I月10日提交的、題為“管理程序執(zhí)行能力的私有使用”的PCT國際申請PCT/US2011/020665的對應中國國家階段申請第201180013470.6號的分案申請。
[0002]背景
[0003]很多公司和其它組織操作計算機網(wǎng)絡,其使很多計算系統(tǒng)互連以支持其例如與協(xié)同定位(例如,作為局部網(wǎng)絡的部分)或相反位于(例如經(jīng)由一個或多個私用或公共中間網(wǎng)絡來連接的)多個不同的地理位置中的計算系統(tǒng)的操作。例如,容納相當大數(shù)量的互連計算系統(tǒng)的數(shù)據(jù)中心變得平凡,例如由單個組織或代表單個組織操作的私有數(shù)據(jù)中心和由作為企業(yè)的實體操作來向客戶提供計算資源的公共數(shù)據(jù)中心。一些公共數(shù)據(jù)中心操作員為各種客戶擁有的硬件提供網(wǎng)絡接入、功率和安全安裝設施,而其它公共數(shù)據(jù)中心操作員提供還包括可供其客戶使用的硬件資源的“全服務”設施。然而,當一般數(shù)據(jù)中心的規(guī)模和范圍增加時,供應、操縱和管理物理計算資源的任務變得日益復雜。
[0004]用于商品硬件的虛擬化技術的出現(xiàn)提供了關于為具有各種需要的很多客戶管理大規(guī)模計算資源的一些益處,允許各種計算資源有效地且安全地被多個客戶共享。例如,虛擬化技術例如由VMffare、XEN、Linux的KVM (基于內(nèi)核的虛擬機)或用戶模式Linux提供的技術可通過給每個用戶提供由單個物理計算機托管的一個或多個虛擬機來允許單個物理計算機在多個用戶當中被共享,每個這樣的虛擬機是充當不同的邏輯計算系統(tǒng)的軟件模擬,其給用戶提供他們是給定的硬件計算資源的唯一的操作員和管理員的假象,同時也在各種虛擬機當中提供應用隔離和安全。
[0005]附圖簡述
[0006]圖1A和IB是示出交互作用的示例性實施方案的網(wǎng)絡圖,以管理程序執(zhí)行服務的多個用戶可用的程序執(zhí)行能力的使用。
[0007]圖2A和2B示出用于管理多個計算節(jié)點的程序執(zhí)行能力的使用的技術的例子。
[0008]圖3是示出用于由多個用戶管理計算節(jié)點的使用的計算系統(tǒng)的示例性實施方案的方框圖。
[0009]圖4示出程序執(zhí)行服務系統(tǒng)管理器例程的示例性實施方案的流程圖。
[0010]圖5A和5B示出額外能力使用管理器例程的示例性實施方案的流程圖。
[0011]圖6示出專用能力使用管理器例程的示例性實施方案的流程圖。
[0012]圖7示出立即響應可變能力使用管理器例程的示例性實施方案的流程圖。
[0013]詳細描述
[0014]描述了用于管理程序的執(zhí)行的技術。在至少一些實施方案中,使用一個或多個計算系統(tǒng)的額外計算能力為多個用戶管理程序的執(zhí)行。特別是,在至少一些這樣的實施方案中,對于一個或多個用戶中的每個,私用額外計算能力池例如基于被分配來由該相關用戶私用使用的當前未使用的程序執(zhí)行能力而對該用戶維持并與該用戶相關,且私用額外計算能力池可供相關用戶優(yōu)先使用。除了可供多個用戶(任選地包括與私用額外計算能力池相關的一個或多個用戶)使用的一般非私用額外計算能力池以外,還可在一些實施方案中提供這樣的私用額外計算能力池。在一些實施方案中可結(jié)合代表多個客戶或服務的其他用戶來執(zhí)行多個程序的程序執(zhí)行服務(PES)(例如提供用于執(zhí)行用戶程序的多個計算節(jié)點(例如,在一個或多個物理計算系統(tǒng)上托管的多個物理計算系統(tǒng)和/或虛擬機)的程序執(zhí)行服務)來使用技術。此外,在至少一些實施方案中,這些技術的一些或全部可自動由程序執(zhí)行服務系統(tǒng)管理器模塊的實施方案執(zhí)行,如在下面更詳細地描述的。
[0015]在一些實施方案中,PES或其它組的計算節(jié)點的至少一些額外的或否則未使用的程序執(zhí)行能力可變得可用來代表用戶在臨時或未保證的基礎上執(zhí)行程序,使得額外程序執(zhí)行能力可用來執(zhí)行這樣的程序,直到程序執(zhí)行能力為了其它目的(例如,為了執(zhí)行一個或多個其它程序的優(yōu)先或預備的使用)而被需要時。這樣的額外程序執(zhí)行能力可例如經(jīng)由具有動態(tài)地變化的定價來反映供應和需求的現(xiàn)貨市場或替代地以其它方式變得可用來作為可供各種用戶(例如,提供通用額外計算能力池的PES的任何客戶)使用的一個或多個通用的額外計算能力池的部分。在一些情況下,可在額外程序執(zhí)行能力為了其它目的而被需要時使用額外程序執(zhí)行能力代表用戶執(zhí)行一個或多個程序,且在一些這樣的情況下,那些一個或多個程序的執(zhí)行可被PES自動終止(例如,關閉、中止等),以便使額外程序執(zhí)行能力對其它目的變得可用。在至少一些這樣的實施方案中,自動終止的程序可代表用戶在未來的時間例如當足夠量的額外程序執(zhí)行能力再次變得可用來執(zhí)行用戶的程序時的未來時間自動重新開始。可選地,不是終止使用期望用于其它目的的額外程序執(zhí)行能力的一個或多個程序,在一些實施方案和情況中,其它程序執(zhí)行能力可以被識別并代替期望用于其它目的的額外程序執(zhí)行能力來使用,以便使利用額外程序執(zhí)行能力的一個或多個程序能夠繼續(xù)執(zhí)行。下面包括與使用額外程序執(zhí)行能力有關的額外的細節(jié)。
[0016]在一些實施方案中,從用于執(zhí)行程序的PES可用的至少一些程序執(zhí)行能力可被分配給一個或多個用戶以由那些用戶優(yōu)先使用,使得那些用戶的每個相對于其他用戶對使用相應量的程序執(zhí)行能力有優(yōu)先訪問。例如,用戶的優(yōu)先訪問可基于每個用戶對使用相應量的程序執(zhí)行能力具有專用或排他的訪問(例如,每個用戶具有為了在執(zhí)行程序時用戶的預備或保證的使用而分配的一個或多個專用計算節(jié)點和/或其部分),或每個用戶替代地具有一定量的程序執(zhí)行能力,其等效于奉獻給用戶的從多個用戶所使用的較大組的多個計算節(jié)點可用的一個或多個計算節(jié)點)。在至少一些這樣的實施方案中,PES的相應量的程序執(zhí)行能力可以用例如與一個或多個物理計算系統(tǒng)的租借類似的方式為了在規(guī)定的一段時間內(nèi)的專門訪問而被分配給特定的用戶,使得相應量的程序執(zhí)行能力可用來在規(guī)定的這段時間期間代表用戶執(zhí)行程序。此外,在一些實施方案中,可以給用戶優(yōu)先或其它專門訪問以基于一個或多個因素例如由用戶支付的費用,對用于使用在一段時間內(nèi)的專門訪問的合同責任的協(xié)定等來執(zhí)行程序。
[0017]在至少一些實施方案中,被分配給一個或多個用戶用于專用或其它優(yōu)先使用的至少一些程序執(zhí)行能力可在一些時間(例如當所分配的專用能力不用于優(yōu)先使用時和/或當專用能力被分配給的用戶使所分配的專用能力變得可用作額外能力時)用作額外程序執(zhí)行能力。以這種方式,被分配給第一組用戶的至少一些程序執(zhí)行能力可不時地變得可用來臨時代表其他用戶執(zhí)行程序。當對來自多個用戶的額外程序執(zhí)行能力的需求大于當前的可用供應時,特定的用戶和程序可被選擇來以各種方式使用額外程序執(zhí)行能力。例如,在一些實施方案中,請求額外程序執(zhí)行能力來執(zhí)行程序的用戶可以基于一個或多個因素來被提供優(yōu)于其他這樣的用戶的優(yōu)先權,這些因素例如是由用戶提供和/或支付的費用、對使用額外程序執(zhí)行能力的請求被提交的時間、額外程序執(zhí)行能力使用被再次請求開始的時間、額外程序執(zhí)行能力使用被再次請求完成的時間量或最終期限、再次請求的額外程序執(zhí)行能力的類型和/或量(例如,計算節(jié)點的規(guī)定數(shù)量)等。下面包括與專用程序執(zhí)行能力的使用有關的額外細節(jié)。
[0018]此外,如前面提到的,在至少一些實施方案中,一個或多個用戶可每個具有相關的私用額外計算能力池,用戶對該池有排他或優(yōu)先訪問。例如,如果用戶具有一個或多個計算節(jié)點的專用計算能力,但目前不使用該專用能力的一些或全部,則用戶可被給予對使用未使用的專用能力作為在為用戶執(zhí)行程序時的私用額外計算能力池的優(yōu)先訪問。在一些實施方案中,用戶的這樣的私用額外計算能力池可響應于來自用戶的明確指令來建立(例如,對于來自用戶的費用),而在其它實施方案中,具有未使用的專用計算能力的一些或所有這樣的用戶可每個基于其未使用的專用計算能力來自動接收私用額外計算能力池。此外,如果用戶使用其自己的未使用的專用計算能力來自動接收私用額外計算能力池,則用戶可能在一些實施方案中不知道私用池。
[0019]用戶的這種私用額外計算能力池的使用可在各種實施方案和情況中向用戶提供益處。例如,在一些實施方案中,用戶利用其專用計算能力的在進行中的邊際成本可能低于用戶利用來自通用池的可比較的量的額外計算能力一如果是這樣,用戶使用其自己的私用額外計算能力池的成本可以按小于通用池的使用的成本的速率被設置(例如,可以與用戶利用其專用計算能力的在進行中的邊際成本相同的成本,可以在用戶利用其專用計算能力的在進行中的邊際成本和使用來自通用池的額外計算能力的較高成本之間,等等)。此外,在一些實施方案中,用戶可在其自己的私用池中接收對額外計算能力的排他或優(yōu)先訪問,使得用戶能夠使用其私用池立即執(zhí)行額外計算能力請求,即使該相同的請求將沒有使用通用額外計算能力池立即執(zhí)行的足夠高的優(yōu)先權。因此用戶執(zhí)行程序的這種私用額外計算能力池的使用可提供不同于從執(zhí)行程序的通用額外計算能力池的使用出現(xiàn)的至少一些其它程序執(zhí)行特征的有益的程序執(zhí)行特征,例如在規(guī)定時間間隔內(nèi)規(guī)定數(shù)量的程序執(zhí)行能力的使用的較低邊際成本、相對于通用池獲得對來自私用池的計算能力的訪問的增強的可用性、使用相對于通用池來自私用池的計算能力繼續(xù)程序的執(zhí)行的增強的能力等中的一個或多個。
[0020]作為私用額外計算能力池的使用的一個特定的例子,第一個用戶可為了特定的目的而發(fā)起多個計算節(jié)點的專門使用,但維持預備的那些多個計算節(jié)點的一部分(例如,以保留總的多個計算節(jié)點的20%作為備份用于可能的以后使用,例如能夠響應于高于預期的計算負荷而自動調(diào)整用于特定目的的計算節(jié)點和/或能夠代替用于特定目的的任何計算節(jié)點(如果它們變得不可用)一在這樣的情況下,預備的計算節(jié)點可用作第一個用戶的第一私用額外計算能力池,雖然它們并不用于特定的目的,但預備的那些計算節(jié)點為了特定的目的對第一個用戶是可用的,如果它們隨后被需要。作為私用額外計算能力池的使用的另一特定的例子,第二個用戶可發(fā)起多個計算節(jié)點的專門使用,但使用預期由第二個用戶使用的多個計算節(jié)點的全部作為第二個用戶的第二私用額外計算能力池一第二私用額外計算能力池可接著用于實現(xiàn)來自與第二個用戶相關的多個實體的請求(例如,如果第二個用戶代表組織,且多個實體是不同的組或組織內(nèi)的人;多個實體是第二個用戶出售對第二私用額外計算能力池的訪問的第三方,等等),例如以與在本文對管理來自多個用戶的對使用通用額外計算能力池的多個請求描述的技術類似的方式。此外,如果第二個用戶的第二私用額外計算能力池用于實現(xiàn)來自多個實體的請求,則那些請求的管理和該第二私用池在一些實施方案中由PES和/或程序執(zhí)行服務系統(tǒng)管理器(〃PESSM〃)模塊的第三方操作員執(zhí)行(例如,向第二個用戶收的費用),而在其它實施方案中,第二個用戶可獲得并使用PESSM模塊或以其它方式被啟動以代表自己執(zhí)行這樣的行動。而且,在一些實施方案中,對用戶使用的專用能力計算節(jié)點的一些或全部可由該用戶提供或以其它方式由該用戶管理,例如如果上面提到的第一個和/或第二個用戶提供分別用于第一和第二額外計算能力池的至少一些計算節(jié)點。
[0021]如果用戶具有私用額外計算能力池,且存在也可用的單獨的通用額外計算能力池,則不同的額外計算能力池可用各種方式被使用。例如,如果這樣的用戶做出對使用額外計算能力的請求,則該請求可首先使用該用戶的私用池來被滿足,如果它具有對該請求的足夠的計算能力,且否則該請求連同來自其他用戶的請求可以被考慮由通用額外計算能力池滿足。類似地,如果通過使用用戶的私用額外計算能力池對這樣的用戶執(zhí)行一個或多個第一程序,且該額外計算能力為了其它目的(例如,以為用戶執(zhí)行一個或多個其它第二程序作為用戶的專用計算能力的部分)而被用戶需要,則所述一個或多個第一程序的執(zhí)行在一些實施方案中可自動移動到通用額外計算能力池(例如,通過不終止地繼續(xù)第一程序的執(zhí)行,例如通過識別并使用其它可用計算能力來用作用戶的專用計算能力的替換部分;通過在作為用戶的專用計算能力的部分的一個或多個計算節(jié)點上終止第一程序的執(zhí)行,并使用作為通用額外計算能力池的部分的其它計算節(jié)點以立即和快速的方式發(fā)起第一程序的進一步執(zhí)行;通過在作為用戶的專用計算能力的部分的一個或多個計算節(jié)點上終止第一程序的執(zhí)行,并將對進一步執(zhí)行第一程序的請求連同對使用通用額外計算能力池的其它請求放置在請求隊列中;等等)。下面包括與私用額外計算能力池的使用有關的額外細節(jié)。
[0022]除了上面討論的專用和額外計算能力的類型以外,PES還可包括立即響應可變程序執(zhí)行能力,其在一些實施方案中可用來滿足用戶的至少一些動態(tài)地接收的請求以執(zhí)行程序(例如,緊接著在那些用戶請求時、在所指示的未來時間、在所指示的未來時間段期間的某個時間等),使得由這樣的請求指示的一個或多個程序可以被執(zhí)行,如果足以滿足所請求的執(zhí)行的計算資源在(或接近)所請求的時間是可用的,但沒有這樣的請求被保證滿足(即,沒有足夠的計算資源被保證是可用的)。例如,在立即響應可變程序執(zhí)行能力請求被接收以代表用戶動態(tài)地執(zhí)行一個或多個程序(例如,對于立即執(zhí)行)之后,可為用戶執(zhí)行所述一個或多個程序,如果適當量的立即響應程序執(zhí)行能力當前可用來執(zhí)行那些程序(例如,如果確定存在具有資源以滿足請求的足夠數(shù)量的可用計算節(jié)點),且否則該請求可以被拒絕(或在一些情況下,被延遲)。因此,在一些這樣的實施方案中,對立即響應可變程序執(zhí)行能力的這樣的請求可能是不成功的,例如如果適當量的程序執(zhí)行能力不可用來在所請求的執(zhí)行的時間執(zhí)行所述一個或多個程序(例如,如果確定沒有具有足夠的資源來滿足對立即執(zhí)行的請求的足夠的當前可用的計算節(jié)點)。
[0023]在一些實施方案中,用于提供立即響應可變程序執(zhí)行能力的計算節(jié)點可不同于用于提供專用程序執(zhí)行能力的計算節(jié)點和/或不同于用于提供額外程序執(zhí)行能力的計算節(jié)點一因此,如果用于提供立即響應可變程序執(zhí)行能力的一些計算節(jié)點不在使用中,在一些實施方案中,它們可用于提供額外程序執(zhí)行能力,直到立即響應可變程序執(zhí)行能力請求被接收到,而在其它實施方案中,它們可以不用于提供這樣的額外程序執(zhí)行能力。此外,在一些實施方案中,在對立即(或排定的)執(zhí)行的立即響應可變程序執(zhí)行能力請求被滿足并代表相應的用戶成功地發(fā)起一個或多個程序的執(zhí)行之后,立即響應可變程序執(zhí)行能力的在進行中的使用可被保證來繼續(xù),直到某個未來時間,例如相應的用戶選擇(例如,基于從相應的用戶接收的終止程序執(zhí)行能力的使用和/或釋放程序執(zhí)行能力的指示)的時間和/或基于通過用戶的設計(例如,代表用戶執(zhí)行的所述一個或多個程序自動終止該執(zhí)行,例如當完成任務時或以其它方式;與代表相應的用戶執(zhí)行的一個或多個程序交互作用的應用和/或其他用戶終止該執(zhí)行,例如如果為了其它用戶的交互使用而提供的對相應的用戶執(zhí)行的所述一個或多個程序,等等)O可選地,在一些實施方案中,可用程序執(zhí)行能力的被保證的在進行中的使用可能受到某些限制,例如被保證PES將不為了其它目的而優(yōu)先取得使用,但不被保證防止執(zhí)行程序的計算節(jié)點的故障。
[0024]此外,如前所述,在至少一些實施方案中,PES的專用程序執(zhí)行能力功能可供一個或多個用戶使用,使得所述一個或多個用戶的每個可具有由PES分配的并保證可用來代表一個或多個用戶執(zhí)行程序的專用的某個量的程序執(zhí)行能力(例如,由PES提供的專用數(shù)量的一個或多個專用計算節(jié)點、由PES的一組一個或多個計算節(jié)點提供的計算資源的專用部分等)。例如,專用程序執(zhí)行能力的被保證的可用性可結(jié)合一個或多個QoS (〃服務質(zhì)量〃)標準來提供,例如專用程序執(zhí)行能力將在發(fā)起所指示的程序的執(zhí)行之后的一段規(guī)定的時間(例如,相應于終止使用額外計算能力的其它程序的執(zhí)行和開始所指示的程序的執(zhí)行的一段時間)內(nèi)是可用的。與立即響應可變程序執(zhí)行能力功能和額外程序執(zhí)行能力功能相反,專用能力功能的用戶可具有某個規(guī)定量的程序執(zhí)行能力,其被保證可用來在一段規(guī)定的使用期期間代表用戶執(zhí)行程序、禁止使PES的服務變得不可用(例如,服務故障、維護等)的無法預料的和/或偶然的事件。
[0025]此外,在PES提供專用計算能力、額外計算能力和立即響應可變計算能力中的兩個或多個的實施方案中,與不同類型的計算能力相關的費用可在各種方式上不同,例如以反映相關的可用性保證和/或其它因素。作為一個例子,用戶利用特定量的專用計算能力的總成本可以高于用戶利用可比較的量的立即響應可變計算能力(如果可用)的成本,且用戶利用立即響應可變計算能力的成本可以高于用戶利用來自通用池的可比較的量的額外計算能力(如果可用)的成本一一然而在一些情況下,使用專用計算能力的成本可能包括不基于實際使用的一次或周期性費用和用戶在特定數(shù)量的時間內(nèi)利用特定量的專用計算能力的單獨的在進行中的邊際成本,特定量的專用計算能力使用的在進行中的邊際成本任選地小于在該段時間內(nèi)使用可比較的量的通用額外計算能力池的成本。此外,如上所述,使用私用額外計算能力池的成本可以不同于使用通用額外計算能力池的成本,例如在一些實施方案中與對專用計算能力使用的在進行中的邊際成本相同。下面包括與定價和成本有關的額外細節(jié)。
[0026]圖1A是示出管理多種類型的程序執(zhí)行能力的使用以執(zhí)行多個用戶的程序的例子的網(wǎng)絡圖。為了例證性目的,下面描述一些例子和實施方案,其中特定類型的程序執(zhí)行能力被提供并以特定的方式被管理。這些例子為了例證性目的而被提供,并為了簡潔起見而被簡化,且將認識到,發(fā)明技術可以在各種其它情況下使用,下面只描述其中一些情況。
[0027]在圖1A的例子中,很多用戶通過網(wǎng)絡100與程序執(zhí)行服務系統(tǒng)管理器模塊110的所示實施方案交互作用,以在可用來執(zhí)行用戶的程序的一個或多個計算節(jié)點120上執(zhí)行程序,PESSM模塊110提供特定的程序執(zhí)行服務(未示出)的一些或全部功能。特別是,在所示實施方案中,PESSM模塊110和計算節(jié)點120由程序執(zhí)行服務提供者105提供,作為所提供的程序執(zhí)行服務的部分,且PESSM模塊110可在一個或多個計算系統(tǒng)(未示出)上執(zhí)行。在本例中,程序執(zhí)行服務提供用于為各種用戶管理在計算節(jié)點120上的程序的執(zhí)行的各種功能。
[0028]在本實例中,各種遠程用戶130、140、150和160可通過網(wǎng)絡100與PESSM 110交互作用,以代表用戶配置和/或請求程序的各種類型的執(zhí)行。在本實例中,遠程用戶包括一個或多個專用能力用戶140、一個或多個額外能力用戶150、一個或多個立即響應可變能力用戶130和任選地一個或多個其它用戶160,如下所述。網(wǎng)絡100可例如是可能由各種不同的方操作的所鏈接的網(wǎng)絡的公共可訪問的網(wǎng)絡,例如互聯(lián)網(wǎng)。在其它實施方案中,網(wǎng)絡100可以是私用網(wǎng)絡,例如對無特權的用戶全部或部分地不可訪問的公司或大學網(wǎng)絡。在又一些其它實施方案中,網(wǎng)絡100可包括具有到和/或來自互聯(lián)網(wǎng)的一個或多個私用網(wǎng)絡。
[0029]所示計算節(jié)點120被提供來在代表用戶執(zhí)行程序時使用,且在一些實施方案中可包括多個物理計算系統(tǒng)和/或在一個或多個物理計算系統(tǒng)上托管的多個虛擬機(如關于圖1B更詳細地描述的)。每個計算節(jié)點120具有可用來執(zhí)行一個或多個程序的某個數(shù)量的計算資源,并提供規(guī)定量的程序執(zhí)行能力,例如可以例如通過處理能力(例如,處理單元的數(shù)量和/或尺寸)、記憶能力、存儲能力、網(wǎng)絡帶寬能力等中的一個或多個的組合來測量。在一些實施方案中,PES提供者105可提供預先配置的計算節(jié)點,每個預先配置的計算節(jié)點具有可用來代表用戶執(zhí)行程序的類似和/或相等數(shù)量的資源,而在其它實施方案中,PES提供者105可提供用戶可從中選擇的用于代表用戶執(zhí)行程序的各種不同的計算節(jié)點的選擇,例如每個選擇具有變化的數(shù)量和/或類型的計算相關的資源(例如,處理單元的尺寸、速度和/或類型;處理單元的數(shù)量;記憶和/或存儲的量;平臺配置,例如32位或64位;等等)。
[0030]在一些實施方案中,各種用戶130、140、150和160可與PESSM110交互作用,以規(guī)定用于代表用戶執(zhí)行程序的優(yōu)選的和/或所需的資源(例如,通過規(guī)定一個或多個計算節(jié)點,等等)。在各種實施方案中,這樣的資源可以在用于代表用戶執(zhí)行程序的請求的時間和/或在一個或多個其它時間被規(guī)定,例如當用戶注冊和/或預訂來使用程序執(zhí)行服務的服務時。在一些實施方案中,PESSM 110可向一個或多個用戶提供預訂和/或注冊服務,使得用戶可規(guī)定與代表用戶執(zhí)行的一個或多個程序有關的信息(例如,程序、源代碼、一個或多個程序的可尋址的位置等)、賬戶信息(例如,用戶名、記賬信息等)、使用期限等。此外,在用戶與PESSM 110交互作用以預訂和/或注冊服務之后,用戶可在一些實施方案中被發(fā)給與用戶相關并結(jié)合代表用戶執(zhí)行程序來使用的一個或多個