云資源的加速實例化的制作方法
【專利說明】云資源的加速實例化
[0001] 相關(guān)申請
[0002] 本申請要求于2013年10月15日遞交的美國臨時專利申請No. 61/891,190的優(yōu) 先權(quán),該申請的整體通過引用被合并到本文。
【背景技術(shù)】
[0003] 1.技術(shù)領(lǐng)域
[0004] 本主題的技術(shù)與用于實例化云資源的方法有關(guān),這些云資源作為服務(wù)虛擬機進行 提供。具體地,本技術(shù)的某些方面提供用于對邏輯資源進行近乎實時的創(chuàng)建的系統(tǒng)和方法, 這些邏輯資源被托管于云計算環(huán)境中的服務(wù)虛擬機上。
[0005] 2.簡介
[0006] 通過虛擬機技術(shù),云計算通過允許客戶(也被稱為"租戶")使用服務(wù)提供商的虛 擬化計算資產(chǎn)(例如,虛擬處理器、虛擬存儲裝置以及虛擬網(wǎng)絡(luò)資源)而非必須購買并且完 全擁有所有必需的裝置來改變基于網(wǎng)絡(luò)的服務(wù)的格局。應當注意,云計算提供商根據(jù)若干 種基本模型(包括例如,基礎(chǔ)設(shè)施即服務(wù)(IaaS)和平臺即服務(wù)(PaaS))來提供其服務(wù)。傳 統(tǒng)地,IaaS已經(jīng)提供了諸如虛擬機(VM)、虛擬網(wǎng)絡(luò)或虛擬存儲裝置之類的邏輯基礎(chǔ)設(shè)施資 源,而PaaS已經(jīng)提供了具有更高抽象等級的資源。然而,多年以來,IaaS與PaaS之間的界 線變得日益模糊。
[0007] 用于基礎(chǔ)設(shè)施即服務(wù)(IaaS)和平臺即服務(wù)(PaaS)環(huán)境中的云服務(wù)管理(CSM)系 統(tǒng)可以向其租戶提供諸如虛擬路由器、虛擬防火墻之類的邏輯網(wǎng)絡(luò)資源。在IaaS和PaaS 二者中,邏輯資源通過云APi (例如,Amazon:? Web服務(wù)APi和Openstsack? API)而變 得可用。在封面的背后,可以以各種方法來實現(xiàn)這些資源,例如,使用物理設(shè)備或這些設(shè)備 中的虛擬上下文、以及使用VM或傳統(tǒng)的軟件。典型地,使用上面提及的方法的組合。
[0008] 與使用專用物理設(shè)備的情況相比較,當使用VM來實現(xiàn)云服務(wù)中的邏輯資源時,創(chuàng) 建必需的邏輯資源需要大量的時間。具體地,物理機器典型地被預配設(shè)并且隨時可供使用, 而邏輯資源通常按需創(chuàng)建。因此,邏輯資源在使得托管資源的服務(wù)VM準備就緒并處在服務(wù) 中的方面遭受時間損失。這額外的準備時間可以包括但不限于:(a)用于選擇滿足客戶的 需求的恰當?shù)闹鳈C的時間、(b)用于創(chuàng)建VM資產(chǎn)的時間、(c)用于將啟動映像復制給主機的 時間、以及⑷用于自展啟動映像的時間。
[0009] 另一方面,由于對這些資源的需求的高交互性和動態(tài)性,因此租戶對于這些邏輯 資源可能具有不同種預期。例如,當web服務(wù)器在網(wǎng)絡(luò)業(yè)務(wù)中突然遭受意外的尖波時,租戶 可能期望在幾秒(而不是接下來的半小時)之內(nèi)實例化并部署附加的資源(例如,虛擬路 由器)。這樣的延遲是不可取的,因為它們降低了用戶體驗并且使得使用云服務(wù)的應用服務(wù) 設(shè)計更加復雜。
【附圖說明】
[0010] 在所附權(quán)利要求中提出了本主題技術(shù)的某些特征。然而,所包括的用來提供進一 步理解的附圖闡述了所公開的方面并且與說明書一起用來解釋本主題技術(shù)的原理。在附圖 中:
[0011] 圖1是包括通過各種通信方法互連的節(jié)點/設(shè)備的示例計算機網(wǎng)絡(luò)的示意性框 圖;
[0012] 圖2是示例簡化計算設(shè)備的示意性框圖;
[0013] 圖3是示出云服務(wù)管理系統(tǒng)的示例的示意性框圖;
[0014] 圖4是示出以映射到抽象層的虛擬機為特征的示例系統(tǒng)的示意性框圖;
[0015] 圖5是示出以服務(wù)VM池、抽象層以及客戶端設(shè)備為特征的另一示例系統(tǒng)的示意性 框圖;
[0016] 圖6根據(jù)一些實現(xiàn)方式示出了一些可用資源的所期望的范圍的示例;
[0017] 圖7A-圖7D是示出了示例調(diào)度功能操作的示意性框圖;
[0018] 圖8示出了用于創(chuàng)建邏輯資源的示例方法;
[0019] 圖9示出了用于執(zhí)行VM池維護的示例方法;
[0020] 圖10示出了用于創(chuàng)建邏輯資源的另一示例方法;以及
[0021] 圖11示出了用于刪除邏輯資源的示例方法。
【具體實施方式】
[0022] 1.概述
[0023] 在一個實施例中,系統(tǒng)可以將每個抽象層時隙映射到邏輯資源的虛擬上下文,其 中,每個虛擬上下文由來自虛擬機池中的虛擬機進行托管。該系統(tǒng)然后可以識別來自抽象 層時隙中可用的抽象層時隙,并且保留可用的抽象層時隙,以便邏輯資源的相應虛擬上下 文能夠被供應。接下來,該系統(tǒng)可以將可用的抽象層時隙標記為不可用。
[0024] 2.具體描述
[0025] 下面提出的具體描述旨在作為本主題技術(shù)的各種配置的描述,并且不意為僅僅表 示本主題技術(shù)可以被實施的配置。附圖被包括在本文中,并且構(gòu)成了具體描述的一部分。具 體描述包括用于提供對本主題技術(shù)更加透徹的理解的具體細節(jié)。然而,清楚且顯而易見的 是,本主題技術(shù)不限于本文提出的具體細節(jié),并且可以在無需這些細節(jié)的情況下被實施。在 一些實例中,結(jié)構(gòu)和組件以框圖的形式示出,以免模糊本主題技術(shù)的概念。
[0026] 鑒于上面所提出的關(guān)于服務(wù)VM的實例化的問題,所需要的是當VM用于實現(xiàn)邏輯 網(wǎng)絡(luò)資源時減少資源創(chuàng)建時間的方法。本主題技術(shù)通過維護預創(chuàng)建服務(wù)VM的備用池解決 了上述需求,其中,這些預創(chuàng)建的服務(wù)VM在創(chuàng)建之后空閑運行或休眠。換言之,本文提出的 各種實施例可以減少或消除涉及如下各項的等待時間:(a)選擇主機、(b)創(chuàng)建VM資產(chǎn)、(c) 復制啟動映像、和/或(d)加載啟動映像。服務(wù)VM托管各種邏輯網(wǎng)絡(luò)資源,這些邏輯網(wǎng)絡(luò) 資源然后可以在租戶請求邏輯網(wǎng)絡(luò)資源的任何時候由云系統(tǒng)管理(CSM)系統(tǒng)進行分配和 提供。這不僅允許CSM以顯著減少的實例化時間來提供邏輯資源,而且其還使得該實例化 時間更加可預測且統(tǒng)一。
[0027] 可以通過引入抽象層將該處理進一步流線化,該抽象層以虛擬"時隙"的形式位于 邏輯資源與后臺資源(即,VM)之間。由于給定的VM可以托管多于一個邏輯資源的虛擬上 下文,因此VM上的各個虛擬上下文可以被映射到不同的時隙。替代地,如果VM僅具有一個 虛擬上下文,則整個VM可以被映射到單個時隙。由于抽象層降低了關(guān)聯(lián)于與VM進行接合 的粒度的等級,因此其有助于簡化CSM的任務(wù)并且降低管理VM池時引入錯誤的可能性。
[0028] 此外,CSM可以通過跟蹤空閑時隙的數(shù)目來將服務(wù)VM池維護在其最優(yōu)大小。例如, 如果期望的一組空閑時隙為S,其中,S >0,則空閑時隙的期望范圍DR可以被表示為,DR = INTCf^S,...),f2(S,...)]),其中,匕和匕是確定期望范圍的下限和上限的函數(shù)。當發(fā) 現(xiàn)空閑時隙的數(shù)目處于期望范圍之外時,則CSM可以決定啟動另外的服務(wù)VM或者銷毀過量 的服務(wù)VM以防止池的大小變得太小或太大。CSM可以響應于各種狀況而執(zhí)行這樣的維護操 作,例如,當租戶請求新的資源時、當租戶放棄資源時、和/或基于周期而不考慮資源請求。
[0029] 計算機網(wǎng)絡(luò)是在地理上分布的節(jié)點的集合,這些節(jié)點通過通信鏈路和分段進行互 連,以在端節(jié)點(例如,個人計算機和工作站)之間傳輸數(shù)據(jù)。從局域網(wǎng)(LAN)到廣域網(wǎng) (WAN)的范圍內(nèi)的許多類型的網(wǎng)絡(luò)是可用的。LAN通常通過位于大致相同的物理位置(例 如,建筑物或校園)的專用私有通信鏈路來連接節(jié)點。另一方面,WAN-般通過長距離通 信鏈路(例如,公共載波電話線、光學光路、同步光網(wǎng)絡(luò)(SONET)、或同步數(shù)字體系(SDH)鏈 路)來連接地理上分散的節(jié)點。
[0030] 互連網(wǎng)是WAN的示例,其連接世界范圍內(nèi)分散的網(wǎng)絡(luò),從而提供各種網(wǎng)絡(luò)上的節(jié) 點之間的全球通信。這些節(jié)點典型地根據(jù)預定協(xié)議(例如,傳輸控制協(xié)議/互連網(wǎng)協(xié)議 (TCP/IP))通過交換離散幀或數(shù)據(jù)分組來經(jīng)由網(wǎng)絡(luò)進行通信。在該上下文中,協(xié)議包括一組 定義節(jié)點如何相互交互的規(guī)則。計算機網(wǎng)絡(luò)還可以通過中間網(wǎng)絡(luò)節(jié)點(例如,路由器)進 行互連,以擴展每個網(wǎng)絡(luò)的有效"大小"。
[0031] 云計算一般可以被定義為基于互連網(wǎng)的計算,其中,計算資源經(jīng)由網(wǎng)絡(luò)(例如, "云")按需從可用資源集合中被動態(tài)配設(shè)并且分配給客戶端或用戶計算機或者其他設(shè)備。 云計算資源例如可以包括任意類型的資源,例如,計算、存儲、以及網(wǎng)絡(luò)設(shè)備、虛擬機(VM) 等。例如,資源可以包括服務(wù)設(shè)備(防火墻、深度分組檢查器、流量監(jiān)控器等)、計算/處理 設(shè)備(服務(wù)器、CPU、存儲器、強力處理能力)、存儲設(shè)備(例如,網(wǎng)絡(luò)附連存儲裝置、存儲區(qū) 域網(wǎng)絡(luò)設(shè)備)等,并且可以用于虛擬機(VM)、數(shù)據(jù)庫、應用(App)等的實例化。
[0032] 云計算資源可以包括"私有云"、"公共云"和/或"混合云"。"混合云"是包括通過 技術(shù)而結(jié)盟或進行互操作的兩個或更多個云的云基礎(chǔ)設(shè)施。本質(zhì)上,混合云是私有云與公 共云之間的交互,其中,私有云加入公共云并且以安全和可擴展的方式來利用公共云資源。
[0033] 圖1是示例計算機網(wǎng)絡(luò)100的示意性框圖,該示例計算機網(wǎng)絡(luò)100說明性地包括 通過各種通信方法進行互連的節(jié)點/設(shè)備。例如,鏈路可以是有線鏈路或共享介質(zhì)(例如, 無線鏈路等),其中,某些節(jié)點可以基于物理連接或基于距離、信號強度、當前操作狀態(tài)、位 置等來與其他節(jié)點進行通信。本領(lǐng)域技術(shù)人員將理解,任意數(shù)目的節(jié)點、設(shè)備、鏈路等可以 用于該計算機網(wǎng)絡(luò)中,并且本文所示的視圖是出于簡化的目的。
[0034] 具體地,設(shè)備"A"和"B"可以包括具有處理和/或存儲能力的任意設(shè)備,例如,個 人計算機、移動電話(例如,智能電話)、游戲系統(tǒng)、便攜式個人計算機(例如,膝上型計算 機、平板計算機等)、機頂盒、電視機、交通工具等,并且設(shè)備"A"和"B"可以與網(wǎng)絡(luò)160 (互 連網(wǎng)或私有網(wǎng)絡(luò))進行通信以到達云150。此外,一個或多個服務(wù)器(服務(wù)器A和B)、網(wǎng)絡(luò) 管理服務(wù)器(匪S)、控制中心等也可以與網(wǎng)絡(luò)160進行互連(或者位于網(wǎng)絡(luò)160之內(nèi))從而 到達云150。
[0035] 云150可以是公共云系統(tǒng)、私有云系統(tǒng)、和/或混合云系統(tǒng)。云150包括多個資源 (例如,防火墻197、負載均衡器193、(一個或多個)WAN優(yōu)化平臺195、(一個或多個)設(shè)備 200、(一個或多個)服務(wù)器180以及(一個或多個)虛擬機(VM) 190)。云資源可以是物理 資源和虛擬資源的組合??梢曰趤碜砸粋€或多個客戶端的請求來配設(shè)云資源??蛻舳丝?以是一個或多個設(shè)備(例如,設(shè)備A和/或B)或者一個或多個服務(wù)器(例如,服務(wù)器A和 / 或 B)。
[0036] 可以適當?shù)厥褂妙A定的網(wǎng)絡(luò)通信協(xié)議(例如,某些已知的有線協(xié)議、無線協(xié)議或 其他協(xié)議)在計算機網(wǎng)絡(luò)100的節(jié)點/設(shè)備之間交換數(shù)據(jù)分組(例如,流量和/或消息)。 在該上下文中,協(xié)議包括一組定義節(jié)點如何相互交互的規(guī)則。
[0037] 圖2是示例簡化計算設(shè)備200的示意性框圖,該計算設(shè)備200可以例如作為服務(wù) 器180或作為一個或多個設(shè)備的表示(如VM 190)與本文所描述的一個或多個實施例一起 使用。說明性"設(shè)備"200可以包括通過系統(tǒng)總線250進行互連的一個或多個網(wǎng)絡(luò)接口 210、 至少一個處理器220和存儲器240。(一個或多個)網(wǎng)絡(luò)接口 210包含用于通過耦合到網(wǎng) 絡(luò)100的鏈路來傳輸數(shù)據(jù)的機械電路、電氣電路和信令電路。網(wǎng)絡(luò)接口 210可以被配置為 使用本領(lǐng)域技術(shù)人員所理解的各種不同的通信協(xié)議來發(fā)送和/或接收數(shù)據(jù)。存儲器240包 括用于存儲于本文所描述的實施例相關(guān)聯(lián)的軟件程序和數(shù)據(jù)結(jié)構(gòu)且可由處理器220尋址 的多個存儲位置。處理器220可以包括適于運行軟件程序并且操縱數(shù)據(jù)結(jié)構(gòu)245所必需的 元件或邏輯。操作系統(tǒng)242(其部分典型地駐留在存儲器240中并且由處理器運行)尤其 通過調(diào)用支持在設(shè)備上運行的軟件處理和/或服務(wù)的操作來在功能上組織設(shè)備。這些軟件 處理和/或服務(wù)可以包括說明性"虛擬資源實例化"處理248,如本文所描述的。
[0038] 本領(lǐng)域技術(shù)人員將理解的是,其他處理器和存儲器類型