虛擬化系統(tǒng)的實時遷移的制作方法
【專利摘要】用于支持虛擬化的系統(tǒng)遷移和縮放的方法、設(shè)備,軟件,以及系統(tǒng)體系結(jié)構(gòu)。根據(jù)方法的各方面,由多個數(shù)據(jù)中心中的每一個的多個代理在多個級別自動地收集和聚集數(shù)據(jù)。數(shù)據(jù)包括與虛擬機利用率有關(guān)的數(shù)據(jù)、與電利用成本有關(guān)的數(shù)據(jù)、與數(shù)據(jù)中心利用率有關(guān)的數(shù)據(jù),以及與觸發(fā)器事件有關(guān)的數(shù)據(jù)。處理數(shù)據(jù),以判斷是否將虛擬服務器從第一數(shù)據(jù)中心遷移到第二數(shù)據(jù)中心。軟件體系結(jié)構(gòu)包括多個模塊,包括控制器、數(shù)據(jù)中心簡檔、轉(zhuǎn)變觸發(fā)器、電力成本簡檔以及虛擬機封裝模塊。在代理層次結(jié)構(gòu)中實現(xiàn)代理,并被配置成收集數(shù)據(jù)本身和/或聚集來自其他代理的數(shù)據(jù),并提供API以促進對收集到的數(shù)據(jù)和代理服務的訪問。
【專利說明】虛擬化系統(tǒng)的實時遷移
[0001] 背景信息
[0002] 自從引入微處理器以來,計算機系統(tǒng)已變得越來越快。近似根據(jù)摩爾定律(基于 Intel?公司共同創(chuàng)設(shè)者戈登摩爾在1965年預測集成電路上晶體管數(shù)目每兩年翻一倍的出 版物),增速已經(jīng)以相當均勻的速率急速上升了近三十年。同時,存儲器和非易失性存儲兩 者的尺寸已穩(wěn)步增加,從而使得許多當今的個人計算機相比僅10-15年以前的超級計算機 更加強大。另外,網(wǎng)絡(luò)通信速度同樣也可見巨大增加。
[0003] 處理器速度、存儲器、存儲以及網(wǎng)絡(luò)帶寬技術(shù)的增長造成了對于具有日益增長的 能力的網(wǎng)絡(luò)的擴建和部署。最近,基于云的服務的引入,如Amazon(例如,亞馬遜彈性計算 云(EC2)以及簡單存儲服務(S3))和微軟(例如,Azure和0ffice365)所提供的那些服務, 已經(jīng)造成了對于公共網(wǎng)絡(luò)基礎(chǔ)設(shè)施的附加網(wǎng)絡(luò)擴建,并造成了對大容量數(shù)據(jù)中心的增加部 署以支持使用私有網(wǎng)絡(luò)基礎(chǔ)設(shè)施的這些服務。
[0004] 基于云的服務通常通過大量的互連的高速服務器來促進,主機設(shè)施通常被稱為服 務器"場"或數(shù)據(jù)中心。這些服務器場和數(shù)據(jù)中心通常包括封裝在專門地設(shè)計的設(shè)施內(nèi)的機 架和/或刀片式服務器的大到巨大的陣列。許多較大的基于云的服務都通過跨地理區(qū)域, 或者甚至全球地分布的多個數(shù)據(jù)中心來主存。例如,MicrosoftAzure在美國、歐洲,以及 亞洲中的每一個都多個非常大的數(shù)據(jù)中心。Amazon使用用于主存其EC2和AWS服務的位 于一起的和單獨的數(shù)據(jù)中心,包括僅在美國的超過一打的AWS數(shù)據(jù)中心。通常,跨在地理位 置上分散的數(shù)據(jù)中心復制數(shù)據(jù),以在數(shù)據(jù)中心的全部或一部分由于電源故障/可用性事件 (例如,斷電和電壓下降),天氣事件及其他自然災害,網(wǎng)絡(luò)可用性問題(例如,大容量光纜 被割或以別的方式不可用),以及其他原因而發(fā)生故障的情況下,確保完全服務可用性。
[0005] 功率消耗和冷卻考慮因素非常重要。較快的處理器一般消耗更多功率,且當這樣 的處理器非常靠近地裝配在高密度服務器部署中時,由于冷卻要求,總體性能常常受限。不 僅服務器中的處理器及其他組件消耗難以置信的電量,為冷卻,也消耗相當大的額外的電 能級別。結(jié)果,數(shù)據(jù)中心的最大的操作成本之一是電能。盡管以較低的電能消耗的硅、更 好的冷卻管理,以及智能電源的形式作出許多改善,但是,對于降低能源成本,硬件供應商 很快碰壁。因此,許多數(shù)據(jù)中心位于電價低的地區(qū)。一個主要示例是華盛頓州昆西,其位 于多個大壩附近并具有世界上最低的電價之一。多個非常大的數(shù)據(jù)中心位于昆西,包括 Microsoft(世界上第九大)、Yahoo、Dell、Intuit,Sabey,以及Vantage的數(shù)據(jù)中心。
[0006] 盡管電力公司的電價是用于確定一些數(shù)據(jù)中心的位置的驅(qū)動因素,但是,數(shù)據(jù)中 心的位置也可以取決于多個額外因素。例如,這樣的因素可以包括到居民中心的位置,數(shù)據(jù) 傳輸帶寬的可用性,以及速率,能源供應可靠性,稅收考慮因素,諸如房地產(chǎn)以及銷售稅折 扣和/或沖銷,建筑物造價,天氣考慮,環(huán)境考慮,及其他。
【專利附圖】
【附圖說明】
[0007] 通過參考與附圖一起進行的下面的詳細描述,本發(fā)明的前述的方面和許多伴隨的 優(yōu)點,將變得更加輕松地被理解,其中,在各個視圖中,相同參考編號表示相同部件,除非另 作說明:
[0008] 圖1是示出了用于生成數(shù)據(jù)中心簡檔的示例性參數(shù)組的表;
[0009] 圖2是示出了用于生成電力成本簡檔的示例性參數(shù)組的表;
[0010] 圖3是示出了轉(zhuǎn)變觸發(fā)條件以及事件的示例性列表的表;
[0011] 圖4是示出了用于生成虛擬機封裝的示例性參數(shù)組的表;
[0012] 圖5是示出了根據(jù)一實施例的用于促進虛擬化系統(tǒng)的遷移和縮放的高級軟件體 系結(jié)構(gòu)的框圖;
[0013] 圖6是根據(jù)一實施例的示出了由控制器執(zhí)行的各種操作以及邏輯的組合方框示 意圖、流程圖,以及狀態(tài)機圖不;
[0014] 圖7是示出根據(jù)一實施例的用于促進虛擬化系統(tǒng)的遷移和縮放的分布式軟件實 現(xiàn)的圖示;
[0015] 圖8是示出了根據(jù)一實施例的用于實現(xiàn)VM、VMM以及服務器代理的各種軟件組件 的示意框圖;
[0016] 圖9是示出了根據(jù)一實施例的用于實現(xiàn)與數(shù)據(jù)中心簡檔模塊和虛擬機封裝模塊 相關(guān)聯(lián)的操作的分布式代理層次結(jié)構(gòu)的實現(xiàn)的示意框圖;
[0017] 圖10是示出了兩個示例性虛擬服務器遷移的示意圖;
[0018] 圖11是示出了根據(jù)此處所公開的各實施例的用于實現(xiàn)控制器的各方面的各種引 擎和軟件組件的框圖;以及
[0019] 圖12示出了根據(jù)一實施例的流程圖1200,示出了實現(xiàn)數(shù)據(jù)中心服務縮放的操作 以及邏輯。
【具體實施方式】
[0020] 此處描述了用于促進虛擬化系統(tǒng)的實時遷移和動態(tài)縮放的方法和設(shè)備的實施例。 在以下描述中,闡述了許多具體細節(jié)以提供對本發(fā)明的實施例的透徹理解。然而,相關(guān)領(lǐng)域 內(nèi)技術(shù)人員將理解本發(fā)明可省去一個或多個特定細節(jié)而實現(xiàn),或通過其它方法、組件、材料 等實現(xiàn)。在其它例子中,公知的結(jié)構(gòu)、材料或操作不被示出或詳細說明以避免對本發(fā)明某些 方面產(chǎn)生混淆。
[0021] 貫穿本說明書,對"一個實施例"或"一實施例"的引用意味著結(jié)合該實施例描述 的特定特征、結(jié)構(gòu)或特性被包括在本發(fā)明的至少一個實施例中。因此,在整個說明書的多個 位置出現(xiàn)短語"在一個實施例中"或"在實施例中"不一定指的是同一實施例。此外,在一 個或多個實施例中,特定特征、結(jié)構(gòu)或特性可以以任何合適的方式組合起來。
[0022] 當今的機架和刀片式服務器體系結(jié)構(gòu)中有許多使用多個多核處理器和/或使用 "微"服務器。這些體系結(jié)構(gòu)提供較高的性能密度,以及其他優(yōu)點,諸如內(nèi)建冗余度和可縮放 性。通過使用虛擬機,獲得額外的可縮放性,虛擬機允許單一物理服務器作為多個虛擬服務 器來操作。由于服務器場和數(shù)據(jù)中心工作負荷可能變化劇烈,因此,僅使必要數(shù)量的服務器 保持活動是有利的,由此,降低功率消耗。然而,并不是簡單地按需打開和關(guān)閉服務器那么 簡單。當使用采用了多個處理器的服務器時降低功率消耗的一種方式是將處理器中的一個 或多個置于非常低的功率的空閑狀態(tài)。根據(jù)典型的虛擬機和/或操作系統(tǒng)考慮因素,將多 處理器服務器中的一個處理器置于空閑狀態(tài)需要各處理器之間的協(xié)調(diào),以便在服務器上運 行的應用程序保持操作。
[0023] 與使用虛擬化環(huán)境相結(jié)合地使用在地理位置上分散的數(shù)據(jù)中心向數(shù)據(jù)中心運營 商提供了額外的靈活性。從使用云托管的服務的消費者角度來看,無論數(shù)據(jù)服務器位于1〇〇 英里以外、500英里以外、還是甚至數(shù)千英里以外,沒有區(qū)別。同時,有許多可能會影響與從 給定數(shù)據(jù)中心主存基于云的服務相關(guān)聯(lián)的成本和性能的參數(shù),包括電力成本(固定價格、 基于負荷的價格、每小時的,等等),可用的功率容量、服務器能力、存儲容量和位置、地理位 置、網(wǎng)絡(luò)成本等等。
[0024] 許多數(shù)據(jù)中心現(xiàn)在使用虛擬化環(huán)境來操作,在這些環(huán)境下,物理服務器被配置成 主存多個虛擬機,每一虛擬機都作為虛擬服務器實例來操作。使用虛擬服務器不僅增強可 縮放性,與非虛擬化環(huán)境相比,它通常每個服務器地降低成本。虛擬化環(huán)境還提供比可比較 的物理服務器實現(xiàn)更大的靈活性,不僅允許很快地擴大或減少給定數(shù)據(jù)中心中的服務的能 力,而且允許管理員輕松地在各數(shù)據(jù)中心之間移動虛擬系統(tǒng)。如此處所使用的,將虛擬服 務器實例從一個數(shù)據(jù)中心移動到另一數(shù)據(jù)中心被稱為服務器"遷移"。根據(jù)當前的方法,數(shù) 據(jù)中心管理員一般在考慮被管理員觀察到的一個或多個參數(shù)的情況下,或通過預定的日程 表,人工地啟動(觸發(fā))服務器遷移。此方法效率相當?shù)停①M力。
[0025] 根據(jù)此處所公開的本發(fā)明的各實施例,提供了用于基于許多不同的因素和/或觸 發(fā)器,自動化虛擬化環(huán)境的遷移和縮放的技術(shù)。一方面,實現(xiàn)與代理和應用程序接口(API) 相結(jié)合的"控制器"體系結(jié)構(gòu),該體系結(jié)構(gòu)收集與各種操作參數(shù)和觸發(fā)條件有關(guān)的輸入,并 響應于檢測到應用條件和/或觸發(fā)器,啟動各數(shù)據(jù)中心之間的服務器遷移。此外,控制器/ 代理/API體系結(jié)構(gòu)被構(gòu)建為支持遷移判斷中的不同級別的粒度,并跨多個級別的數(shù)據(jù)中 心層次結(jié)構(gòu),分布數(shù)據(jù)收集和決策工作負荷。
[0026] 圖1示出了根據(jù)一實施例的對應于包含用于確定可以觸發(fā)虛擬服務器遷移的條 件的參數(shù)的示例性列表的DC簡檔的表100。最大容量表示數(shù)據(jù)中心可以使用的和/或一個 或多個電力公司所提供的最高能級。這一般可以是固定值,或可以是考慮到動態(tài)電網(wǎng)負荷 狀態(tài),是可變的。例如,在夏季,支持較大的人口的電網(wǎng)可能會遇到較高級別的消耗和/或 可能具有降低的容量。考慮到這樣的情況,可以節(jié)制對數(shù)據(jù)中心可用的最大能量。
[0027] 當前容量表示以瓦特或其倍數(shù)(例如,以千瓦或兆瓦度量)度量的當前能源消耗 級別。平均瓦特可用性表示數(shù)據(jù)中心消耗的平均瓦特數(shù)級別。
[0028] 可用的單元的數(shù)量是指可用的物理服務器實例的數(shù)量和/或虛擬服務器主機單 元實例的數(shù)量。例如,單元可以包括與選擇的存儲器量相結(jié)合的處理器。典型的物理服務 器可以包括帶有多個核的處理器和一定量的系統(tǒng)存儲器。每一個核(或邏輯核)主存單獨 的虛擬服務器實例是常見的,服務器的整個系統(tǒng)存儲器在由物理服務器主存的各虛擬服務 器實例之間分配(一些系統(tǒng)存儲器為服務器的操作系統(tǒng)和虛擬機管理器(VMM)或系統(tǒng)管理 程序預留)。例如,使用英特爾的Hyperthreading?體系結(jié)構(gòu)的4核處理器具有八個邏輯 核,如此,可以被配置成主存八個虛擬服務器實例。如果服務器具有16Gb的存儲器,則每一 虛擬服務器都可以被分配I. 8Gb,I. 6Gb的剩余存儲器為操作系統(tǒng)和VMM/系統(tǒng)管理程序預 留。值得注意的是,存儲器的均勻分配只是示例性的,因為可以給一些虛擬機比在同一個物 理主機上運行的其他分配更多存儲器和/或處理器資源。
[0029] 可用的存儲容量表示可以供數(shù)據(jù)中心服務器使用的存儲器量。取決于特定實現(xiàn), 這可以僅限于本地存儲器容量,即,在數(shù)據(jù)中心內(nèi)或附近的存儲設(shè)施,和/或本地和遠程存 儲設(shè)施的組合的容量。
[0030] 電力成本簡檔一般被確定為多個參數(shù)的函數(shù),并參考圖2中的電力成本簡檔表 200更詳細地討論??稍偕茉词褂冒俜直仁峭ㄟ^一個或多個可再生能源供應的由數(shù)據(jù)中 心消耗的電能的百分比。例如,由水力發(fā)電、風場、太陽能以及地熱能所提供的能量可以被 視為可再生能源。取決于適用的規(guī)定/定義,諸如生物物質(zhì)之類的能源也可以屬于可再生 能源范疇。一般而言,對使用可再生能源相對于化石燃料資源(諸如通過燃燒煤炭或天然 氣),可以有本地,州,和/或聯(lián)邦財政獎勵。如果C02級別是一考慮因素,則也可以權(quán)衡諸 如核電之類的能源。
[0031] 數(shù)據(jù)中心位置對應于數(shù)據(jù)中心的地理位置??梢酝ㄟ^與地理位置有關(guān)的其他參 數(shù),諸如動亂、天氣、災難、電能穩(wěn)定性、數(shù)據(jù)安全性、用戶體驗,及上文所討論的其他因素, 計算此參數(shù)。此外,根據(jù)合同協(xié)議或法律要求,可能限制一些軟件在某些國家或區(qū)域運行。 地理參數(shù)將確保這些要求被滿足。
[0032] 圖2示出了電力成本表200,示出了可以用于計算DC簡檔表100中所使用的電力 成本簡檔參數(shù)的示例性參數(shù)列表。近年來,電力公司從(一般)固定價格模式轉(zhuǎn)向動態(tài)定 價模式。通常,電能成本基于每千瓦小時價格。根據(jù)動態(tài)定價模式,此價格可能隨著多個因 素而變化。例如,在美國的許多地方的解除管制的能源市場中,各種電能供應商向市場的獨 立服務運營商(ISO)輸入供應出價曲線,這導致周期性地,諸如每小時或每一刻鐘,計算的 市場價格。除輸入的出價之外,還有使用傳輸擁擠模型確定的傳輸成本;由于每一段輸電線 路都具有固定容量,當使用附接到電網(wǎng)中的不同的點的多個發(fā)電單元時,還需要確定輸電 線路,以便沒有一個輸電段過載。凈結(jié)果是,電力公司購買電能的成本可能在不同的條件下 變化。
[0033] 盡管電力公司的購買電能的成本可能在一天當中有變化,但是,電力公司通常使 用較小的粒度來對他們的消費者進行收費。例如,可能基于給定出帳周期內(nèi)消耗的能量,按 不同的價格對單個房主進行收費,或可任選地,單個房主可以選擇基于時間的記帳,在不同 的時間段,采用不同的預先確定的價格進行收費。由于數(shù)據(jù)中心消耗非常大的電能量,因 此,他們常常與給他們供應電力的電力公司簽訂特殊的合同。根據(jù)某些合同,可以對于不同 的利用率閾值,采取不同的價格。例如,為了得到有利的價格,數(shù)據(jù)中心可能需要使用某種 最小電能閾值;如果這不滿足,則按較高的電價收費。還可以有電能成本提高的最大閾值。 電力成本簡檔表200中的頭兩個參數(shù)對應于這些最小和最大使用率閾值。
[0034] 現(xiàn)在和將來的每千瓦小時成本對應于涉及可變的能源成本日程表的當前能源成 本和未來能源成本。能源成本日程表可以基于預定義的價格日程表,或可以根據(jù)位于解除 管制的能源市場的數(shù)據(jù)中心的歷史價格來確定。例如,取決于對于給定時刻,對于哪一個數(shù) 據(jù)中心采用什么價格進行收費,在位于不同的時區(qū)的數(shù)據(jù)中心之間遷移服務器是有利的。 由于大多數(shù)非數(shù)據(jù)中心能源消耗一般遵循業(yè)務經(jīng)營日程表(例如,一般在工作時間,諸如 對于給定時區(qū),8AM-6PM,產(chǎn)生較高的電能使用),因此,某些電力公司在這些時間內(nèi)采取較 高的價格。在夏天,由于冷卻目的消耗的額外的電能,加重了這種情況,因為在工作時間比 晚上和夜間更熱。對于給定時區(qū),在一天的收取較高價格的時間段,從位于該時區(qū)的數(shù)據(jù)中 心遷移走服務器有利的。
[0035] 本地發(fā)電級別對應于由數(shù)據(jù)中心利用的現(xiàn)場或本地電源,諸如,但不僅限于風輪 機、太陽能電池板、燃氣渦輪機、柴油發(fā)電機等等。盡管來源于現(xiàn)場或本地風輪機和太陽能 電池板的電能非常低,但是,數(shù)據(jù)中心一般具有燃氣渦輪發(fā)電機和/或柴油發(fā)電機,用于在 電網(wǎng)的電能不可用的情況下作為備份。在某些情況下,使用本地燃氣渦輪機發(fā)電機可以在 峰值價格時間段比從電網(wǎng)購買電力更經(jīng)濟合算。
[0036] 可用的可再生能源級別對應于可用的可再生能源的級別。如上文所討論的,如果 滿足某些可再生能源級別的使用級別,則可以有有利的價格降低和/或折扣,一般而言,取 決于數(shù)據(jù)中心的位置(例如,某些州將為使用可再生能源,比其他州提供更好的交易)。另 夕卜,聯(lián)邦政府還可以為使用可再生能源提供折扣、稅收刺激,或其他刺激。
[0037] 現(xiàn)場/本地能量存儲對應于在現(xiàn)場或現(xiàn)場附近可用的能量存儲。例如,當前正在 開發(fā)用于存儲可以在稍晚的時間點使用的能量的各種技術(shù)。當前,用于存儲電力的最常見 的技術(shù)使用基于電池的單元,但是,在諸如華盛頓和俄勒R州之類的地區(qū),可以將大量的水 存儲在水位高的水庫中,在低需求時間段,可以使用多余電力來將水抽到水庫中。來自水庫 的水可以稍后釋放并穿過渦輪發(fā)電機以發(fā)電。
[0038] 根據(jù)一些實施例,實現(xiàn)集中式控制器,作為觸發(fā)各數(shù)據(jù)中心之間的服務器遷移的 自動化系統(tǒng)的一部分。在頂層,控制器具有兩個基本作業(yè)功能:決策者和數(shù)據(jù)收集器??刂?器首先充當決策者以確定何時應該發(fā)生VM遷移以及應該將新VM置于哪里。這些判斷使用 來自充當數(shù)據(jù)收集器的控制器的第二功能的數(shù)據(jù)來進行??刂破魑挥跀?shù)據(jù)收集層次結(jié)構(gòu)的 頂部,聚集從層次結(jié)構(gòu)中的較低級別處的各種代理等等收集的數(shù)據(jù),如下面進一步詳細描 述的。
[0039] 作為決策者,控制器使用"轉(zhuǎn)變觸發(fā)器"來確定何時應該標識新DC,用于操作一個 或多個VM。在圖3中示出了轉(zhuǎn)變觸發(fā)器表300,示出了示例性觸發(fā)條件的列表。在列表的頂 部,是每瓦特電力成本觸發(fā)器。當電力成本超出此值時,這移動VM。可以實現(xiàn)類似的基于成 本的觸發(fā)器,該觸發(fā)器考慮兩個數(shù)據(jù)中心之間的電力成本價格的差異,如果差異超出閾值, 則可以觸發(fā)VM服務器遷移。
[0040] 如上文所討論的,如果數(shù)據(jù)中心利用率太低或過高,則電力公司可以利用不同的 價格進行收費。表300所示出的對應的條件包括利用率高和利用率低閾值。也可以使用由 上文所討論的電力成本簡檔使用的參數(shù),由計算出的未來成本(相對于當前成本)的變化, 產(chǎn)生遷移觸發(fā)器。
[0041] VM服務器遷移也可以由環(huán)境事件產(chǎn)生,諸如天氣事件、自然災害,或產(chǎn)生不安全的 操作環(huán)境的任何其他問題。例如,極端的氣候條件導致電力分配能力的中斷是常見的,諸如 由斷了輸電線或配電系統(tǒng)中的其他故障所產(chǎn)生的。
[0042] 新VM的創(chuàng)建會產(chǎn)生另一種類型的觸發(fā)器。響應于判斷需要新VM服務器,就將向 數(shù)據(jù)中心添加VM作出判斷。一般而言,VM間接地消耗功率,當VM正在在其上面運行的物理 服務器直接消耗功率。例如,向已經(jīng)在高功率狀態(tài)下操作的物理服務器添加新VM通常將導 致比必須提供額外的物理服務器以主存新VM小的能源消耗的變化。已知,物理服務器和/ 或VM可以在低功率或空閑狀態(tài)下操作,并切換到滿狀態(tài),以支持由數(shù)據(jù)中心主存的數(shù)據(jù)服 務的快速的縮放。在這些情況中的任何一種下,創(chuàng)建新VM可以實際對應于將現(xiàn)有的VM和 /或其主機物理服務器的功率狀態(tài)從低功率或空閑狀態(tài)改變?yōu)橥耆僮鳡顟B(tài)。
[0043] 除前述的觸發(fā)器之外,還可以實現(xiàn)自定義觸發(fā)器。例如,管理員可以定義強制對應 的觸發(fā)器事件的觸發(fā)器。
[0044]VM服務器遷移也可以作為多個條件和參數(shù)的函數(shù)來觸發(fā)。例如,可以使用考慮多 個加權(quán)的輸入來確定何時可以觸發(fā)遷移的加權(quán)算法。一般而言,遷移具有與它相關(guān)聯(lián)的在 能源成本之外的額外的"成本",包括管理成本,涉及服務器遷移本身的數(shù)據(jù)傳輸成本、重新 配置成本,以及涉及在被遷移的服務器被遷移之后由被遷移的服務器所提供的服務的數(shù)據(jù) 傳輸成本。例如,盡管從能源成本觀點來看使用非高峰時間方案(根據(jù)該方案,數(shù)據(jù)中心位 置被遷移到與大多數(shù)服務用戶相關(guān)聯(lián)的時區(qū)前面)來操作全局服務是有利的,但是,可能 會有對于網(wǎng)絡(luò)數(shù)據(jù)傳輸發(fā)生的額外的成本,特別是在這將需要使用洲際電纜的情況下。
[0045] 當轉(zhuǎn)變觸發(fā)器中的一個被滿足時,控制器使用它控制的所有DC的其全局知識,并 評估DC簡檔,作出關(guān)于應該在哪里創(chuàng)建VM或遷移到哪里的決定。為適當?shù)刈鞒龃伺袛啵?制器使用包含正在被移動或創(chuàng)建的VM上的所有必需的操作數(shù)據(jù)的VMPackageProfile(VM 封裝簡檔)圖4的表400示出了VMPackageProfile參數(shù)的示例性列表。
[0046] VM系統(tǒng)處理器要求標識系統(tǒng)需要多少CPU。VM存儲數(shù)據(jù)大小定義存儲要求。VM系 統(tǒng)存儲器要求定義存儲器要求,而所需的DC單元定義所需的數(shù)據(jù)中心單位的數(shù)量,其中, 在一個實施例中,一個單元對應于帶有1千兆字節(jié)存儲器的單一處理器。在另一個實施例 中,DC單元包括帶有相關(guān)聯(lián)的存儲器量(例如,lGb、2Gb等等)的處理器核。平均CPU使用 對應于VM的平均CPU負荷。在所示實施例中,VM操作優(yōu)先級具有從1到3之間的范圍,其 中1是臨界,3是非臨界。
[0047] 圖5示出了根據(jù)一實施例的用于實現(xiàn)虛擬服務器遷移的高級的接口和數(shù)據(jù)聚集 體系結(jié)構(gòu)。該體系結(jié)構(gòu)使用控制器500,該控制器500被配置成從各種源收集數(shù)據(jù),并響應 于在轉(zhuǎn)變觸發(fā)器表300中定義的并通過轉(zhuǎn)變觸發(fā)器模塊300-M實現(xiàn)的觸發(fā)器事件,發(fā)起虛 擬服務器遷移。轉(zhuǎn)變觸發(fā)器基于各種數(shù)據(jù)的集合一一包括電力成本簡檔表1〇〇 (通過使用 電力成本簡檔模塊100-M),虛擬機數(shù)據(jù)包表400 (通過使用虛擬機數(shù)據(jù)包模塊400-M),以及 數(shù)據(jù)中心簡檔表200 (通過使用數(shù)據(jù)中心簡檔模塊200-M)中的參數(shù)--來生成。
[0048] 圖6示出了根據(jù)一實施例的控制器500的選擇的各方面的進一步的細節(jié)??刂破?具有兩個主要功能--作為事件處理程序600和數(shù)據(jù)收集器602。響應于由數(shù)據(jù)收集器602 收集的數(shù)據(jù),處理事件。數(shù)據(jù)收集是使用輪詢模型,(如圖6所示)、推模型,或兩者的組合, 持續(xù)地進行的。根據(jù)所示出的輪詢模型,輪詢周期是周期性地執(zhí)行的(一般而言),諸如按 預定時間間隔或根據(jù)日程表。輪詢周期在狀態(tài)604開始,對應于輪詢數(shù)據(jù)中心,獲取其DC 簡檔數(shù)據(jù)。收集DC簡檔數(shù)據(jù),如狀態(tài)606所描繪的。還由數(shù)據(jù)收集器602收集額外的本地 數(shù)據(jù)(即,數(shù)據(jù)中心本地的),包括狀態(tài)608期間的本地電力公司數(shù)據(jù),在狀態(tài)610期間的本 地天氣數(shù)據(jù),以及在可選狀態(tài)612期間的本地環(huán)境數(shù)據(jù)。本地環(huán)境數(shù)據(jù)的示例包括一個區(qū) 域的可能會影響數(shù)據(jù)中心操作的一切,諸如地震、火災、戰(zhàn)爭、海嘯等等。如狀態(tài)614所描繪 的,對于其虛擬服務器遷移由控制器500管理的每一個數(shù)據(jù)中心,重復該周期。
[0049] 事件處理程序600功能包括用于檢測事件觸發(fā)器的邏輯。一般而言,事件觸發(fā)器 可以通過對由數(shù)據(jù)收集器602收集的數(shù)據(jù)的評價來確定,或可以響應于由數(shù)據(jù)中心遷移代 理等所生成的特定的觸發(fā)器,如下面進一步詳細描述的。在輪詢模型下,可以周期性地對應 于輪詢率或日程表來評估事件觸發(fā)器。在框616中描繪了對觸發(fā)器事件的評估,判斷在判 斷框中618(否)以及620(是)中所描繪的觸發(fā)器事件的存在。響應于觸發(fā)器事件,事件 處理程序邏輯轉(zhuǎn)到判斷框622,以判斷是否有數(shù)據(jù)中心時隙可以用來執(zhí)行對應于觸發(fā)器事 件的虛擬服務器遷移。取決于觸發(fā)器的類型以及遷移粒度設(shè)置,遷移可以涉及少到單一服 務器,或者,最小遷移大小可以對應于服務器的聚集級別,諸如最小遷移對應于單一物理服 務器或相當于物理服務器的刀片式服務器基座。如指出無數(shù)據(jù)中心時隙可用的判斷框624 所描繪的,邏輯繼續(xù)到評估數(shù)據(jù)中心時隙的可用性,直到"是"判斷結(jié)果,如判斷框628所描 繪的。響應于"是"結(jié)果,在框628開始虛擬服務器遷移。
[0050] 圖7示出了可以被用作控制器500的輸入以及通過在不同的聚集級別操作的各種 代理促進的數(shù)據(jù)聚集的不同級別的使用。最高聚集級別發(fā)生在數(shù)據(jù)中心級別,該數(shù)據(jù)中心 級別一般包括由數(shù)據(jù)收集器602收集的數(shù)據(jù),如圖6中所描繪的。在一個實施例中,在如 數(shù)據(jù)中心A,B,…以及N所描繪的多個數(shù)據(jù)中心中的每一個處,有一個或多個數(shù)據(jù)中心代 理700。每一數(shù)據(jù)中心都包括通常以刀片式服務器機架的行配置的大量的物理服務器,其 中,每一刀片式服務器機架都包括多刀片服務器基座702,每一刀片式服務器基座都包括多 個服務器刀片704。在某些實施例中,在服務器刀片級別、刀片式服務器基座級別和/或刀 片式服務器機架級別中的一個或多個處,聚集數(shù)據(jù),其中,由與該級別相關(guān)聯(lián)的代理收集可 應用的數(shù)據(jù),如通過服務器刀片代理706和刀片式服務器基座代理708所描繪的。在某些 實施例中,為每一個刀片式服務器基座,或為一組刀片式服務器基座,實現(xiàn)管理刀片等等。 一般而言,管理刀片可以包括類似于其他服務器刀片但是另外還包括管理軟件的服務器刀 片,或可以包括特殊用途的服務器刀片。在給定數(shù)據(jù)中心內(nèi),可以存在其他聚集級別,諸如 通過使用跨塊或服務器聚集數(shù)據(jù)和/或在服務器房間級別(兩者都未示出)聚集的代理。 例如,給定數(shù)據(jù)中心可以具有多個服務器房間或較大的分區(qū)的服務器機架組。
[0051] 除這些聚集級別之外,可以有對應于在服務器刀片704上運行的VMM和VM的額 外的聚集級別。例如,每一服務器刀片704 -般將被配置成主存一個或多個VMM710。每一 VMM710又將一般被配置成主存被配置成作為虛擬服務器714來操作的多個VM712。在某些 實施例中,服務器刀片704可以包括多個"插槽",每一插槽都被配置成連接到處理器,諸如 實現(xiàn)為片上系統(tǒng)(SoC)的多核服務器處理器。每一多核服務器處理器又可以用于運行主機 操作系統(tǒng),VMM或Hypervisor(系統(tǒng)管理程序)在該主機操作系統(tǒng)上運行,該主機操作系統(tǒng) 被用來主存一個或多個VM。如下面參考圖8詳述的,代理可以用于VMM中,可任選地,VM級 別中,以提供可以聚集成鏈并作為數(shù)據(jù)輸入提供到控制器500的另外的數(shù)據(jù)。
[0052] 較低聚集級別下的代理被配置成生成適用的數(shù)據(jù),諸如由較高級別的代理聚集的 虛擬機封裝數(shù)據(jù),以產(chǎn)生其他數(shù)據(jù)聚集,諸如數(shù)據(jù)中心簡檔數(shù)據(jù)。最高聚集級別的代理,諸 如數(shù)據(jù)中心代理,將聚集的數(shù)據(jù)傳遞到控制器500。
[0053] 除聚集的數(shù)據(jù)之外,控制器500使用輪詢、推,或組合模型,收集其他數(shù)據(jù)。例如, 這樣的信息可以包括實時和/或平均數(shù)據(jù)中心功率測量值718。一般而言,將電源提供到數(shù) 據(jù)中心的電力公司將使用多個功率計,來測量由數(shù)據(jù)中心消耗的功率,諸如每一個高安培 功率輸入的功率計。當今,這些計量儀器中有許多是數(shù)字的,并可以被配置成提供實時功率 測量值。取決于實現(xiàn),實時功率測量數(shù)據(jù)可以由電力公司收集,對應的數(shù)據(jù)通過私有的Web 門戶其他安全在線設(shè)施可用,和/或數(shù)據(jù)中心本身將具有實時功率測量設(shè)備和監(jiān)視軟件。 根據(jù)任一方法,控制器500將被配置成收集實時能源消耗數(shù)據(jù)。另外,控制器500將被配置 成收集和/或查詢向每一數(shù)據(jù)中心提供電能的電力公司的能量價格數(shù)據(jù)。
[0054] 進一步參考圖9,數(shù)據(jù)中心A位于華盛頓中心(Quincy),數(shù)據(jù)中心B位于得克薩 斯,數(shù)據(jù)中心N位于弗吉尼亞。數(shù)據(jù)中心A位于許多大壩附近,包括GrandCouleeDam720、 ChiefJosephDam、WellsDam、RockyReachDam、RockIslandDam、WanapumDam以及 PriestRapidsDam,所有的這些都位于Columbia河上。另外,還有一個大風場722位于 距離昆西大致15英里處。盡管風場722的電能是可變的,但是,Columbia河大壩提供通常 賣給諸如加利福尼亞州之類的其他西部各州的過剩的電能。主要電力公司是Bonneville PowerAssociation,它與昆西的數(shù)據(jù)中心協(xié)商非常低的一般固定的電價。由于合同結(jié)構(gòu), 低于最小閾值或高于最大閾值的價格的變化是小的。從實用來看,數(shù)據(jù)中心的價格是固定 的。有趣的是,為鼓勵開發(fā)額外的可再生能源,在華盛頓州,水力發(fā)電不分類為可再生能源。 結(jié)果,考慮可再生能源使用是非常小的,即使有的話。盡管BPA可以向美國西部的解除管制 的市場提供電源,但是,向數(shù)據(jù)中心收取的價格與時間市場價格無關(guān)。
[0055] 數(shù)據(jù)中心B位于得克薩斯的被得克薩斯的解除管制的能源市場覆蓋的區(qū)域中,該 能源市場由得克薩斯能源可靠性理事會(ERCOT)管理,該理事會還是該區(qū)域的獨立系統(tǒng)運 營商(ISO)。在ERCOT市場中,發(fā)電參與者(能源供應商)輸入供應標價曲線,而消費方參 與者(能源購買者)輸入能源購買出價曲線。一般有兩個市場--日前(dayahead)市場, 以及實時市場。市場參與者可以是供應商、消費者或兩者。基于參與者輸入,導出每一個結(jié) 算期的市場價格。一般而言,ERCOT不會產(chǎn)生每一個結(jié)算期的單一市場價格,而是,價格可 以是區(qū)域性的和/或可以反映其他考慮因素,諸如電網(wǎng)擁擠。為確??煽啃?,還輸入用于供 應輔助服務的出價--服務通常將不被使用,但是,提供這樣的服務的出價人需要在可以 在考慮到系統(tǒng)內(nèi)的故障時可以快速地上線的狀態(tài)下操作設(shè)備。
[0056] 向ERCOT的發(fā)電供應包括通過燃燒常規(guī)化石燃料源,諸如天然氣,來進行發(fā)電,以 及燃燒化石燃料和生物物質(zhì)的某些混合型電廠。另外,還可以通過可再生能源,諸如太陽能 場724和風場726,來進行其他發(fā)電。由于太陽和風可能會變化,這些發(fā)電源比使用天然氣 發(fā)電難以預測,其中,天然氣發(fā)電廠的輸出可以在十分寬的范圍向上或向下傾斜,而不會對 效率產(chǎn)生不利的影響。
[0057] 前述的因素的凈結(jié)果是,提供給數(shù)據(jù)中心B的電能成本(S卩,電價B)不是固定的, 而是在一天內(nèi)可以變化,取決于每一個結(jié)算期的市場價格和/或其他合同安排。由于數(shù)據(jù) 中心消耗這樣的大量電能,因此,可以想象,數(shù)據(jù)中心本身可以是市場參與者,雖然數(shù)據(jù)中 心通常將與一個或多個電力公司訂向他們提供電源的合同。由于價格波動,對于消耗低于 最小和高于最大消耗等級的價格處罰十分重要。
[0058] 數(shù)據(jù)中心N位于弗吉尼亞,由DominionVirginiaPower供電。DominionVirginia Power從多個設(shè)施購買電力,包括燃煤發(fā)電廠728和天然氣發(fā)電廠730。另外,Dominion VirginiaPower還從各種可再生的源(諸如風(離案和陸地),生物物質(zhì))購買電力。由 于燃煤電能與可再生的發(fā)電源的價格關(guān)稅優(yōu)惠相結(jié)合的比較高的成本,因此,弗吉尼亞數(shù) 據(jù)中心的電能的成本一般高于得克薩斯,并可能顯著高于昆西。然而,如AT&TIP主干網(wǎng)絡(luò) 圖示所示出的,在東北比美國的其余地區(qū)有多得多的數(shù)據(jù)網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu),一般而言,導致從 弗吉尼亞數(shù)據(jù)中心比從得克薩斯數(shù)據(jù)中心或昆西數(shù)據(jù)中心有較低的網(wǎng)絡(luò)傳輸成本。
[0059] 如上文所討論的,一些實現(xiàn)可以在VMM級別(或主機操作系統(tǒng)級別),可任選地, 在VM級別收集數(shù)據(jù)?,F(xiàn)代的操作系統(tǒng)通常支持一系列功率管理特征,諸如改變功率狀態(tài), 生成主機處理器的功率消耗數(shù)據(jù)。盡管可以從由VM主存的操作系統(tǒng)查詢功率消耗信息,但 是,此信息可能不準確,因為操作系統(tǒng)并非實際運行在物理硬件上。然而,可以有操作系統(tǒng) 可以提供的將指出VM正在使用核的多少處理能力的信息??扇芜x地,或另外,這樣的信息 可以由主機OS和/或VMM聚集。
[0060] 圖8示出了體系結(jié)構(gòu)800,其被配置成支持由VMM和多個VM通過使用被允許以 對等方式進行通信的軟件代理以及相關(guān)聯(lián)的應用程序編程接口(API),收集功率相關(guān)的信 息。更詳細地,體系結(jié)構(gòu)800包括用于主存多個虛擬機VMg的VMM(或系統(tǒng)管理程序)810。 VMM810由在服務器計算機830上運行的主機0S820主存。一般而言,主機0S820通過由固 件832所提供的接口,被允許訪問大多數(shù)平臺硬件834。同時,取決于服務器計算機830的 配置,平臺硬件834中的一些可以被主機0S820直接訪問,諸如通過使用適用的OS設(shè)備驅(qū) 動程序。
[0061] 在圖8中,在虛擬機VM1的操作系統(tǒng)86(^上運行的軟件代理85(^實現(xiàn)多個用于與 其他代理(諸如在虛擬機MV2的操作系統(tǒng)8602上運行的代理8502,以及主機OS代理840) 進行通信的通信機制。在一種實現(xiàn)中,代理850:與運行的代理8502實現(xiàn)對等通信機制,如 通過雙頭指針855所描繪的。在另一種實現(xiàn)中,代理850:充當來自其他虛擬機和主機系統(tǒng) 的性能信息的中心收集器。
[0062] 更詳細地,代理之間的通信可以以為那些精通軟件和通信技術(shù)人所知的許多方式 中的一種來促進。例如,主機OS代理840可以通過由主機OS代理和VM所提供的相應的API815和816與虛擬機進行通信。然后,代理850又可以通過API817,與虛擬機API816進 行通信,如圖8所示。根據(jù)另一實施例,API815可以直接與API817進行通信。根據(jù)再一個 方案,使用操作系統(tǒng)級別的通信來實現(xiàn)主機OS和VM主存的OS之間的通信。例如,相應的 網(wǎng)絡(luò)OS組件825和826 (例如,網(wǎng)絡(luò)棧)可以使用諸如TCP/IP或SOAP之類的網(wǎng)絡(luò)協(xié)議來 促進通信。相應的代理又可以通過API等等或某種其他OS-應用程序通信方案,與它們的 相應的OS主機進行通信。
[0063] 如在圖8中進一步示出的,在一個實施例中,各種性能、配置以及事件數(shù)據(jù)可以存 儲在通過主機OS代理840訪問的數(shù)據(jù)存儲880??扇芜x地,代理85(Vn中的每一個都可以 管理和/或被提供對這些數(shù)據(jù)的復制的實例的訪問,如通過數(shù)據(jù)存儲850b所描繪的。一般 而言,VM主存的代理可以使用分配給它們的相應的VM的系統(tǒng)存儲器的相應的部分和/或 分配給它們的相應的VM的本地或遠程磁盤存儲器空間。
[0064] 在服務器計算機830的操作過程中,功率使用及其他性能數(shù)據(jù)由VMM810使用代理 840收集,可任選地,在VM級別由代理85(Vn通過使用API815、816,以及817收集。服務器 計算機平臺(例如,服務器刀片)的數(shù)據(jù)被聚集并存儲在數(shù)據(jù)存儲800中。在某些實施例 中,使此數(shù)據(jù)對管理刀片或刀片式服務器基座或機架級別的其他管理實體可用。
[0065]除由VMM或主機OS收集到的功率和性能信息之外,刀片式服務器體系結(jié)構(gòu)可以 被配置成支持管理通道,在該管理通道下,各種性能信息可以被諸如管理刀片或管理服務 器之類的管理實體890訪問。管理通道可以是帶外(00B)通道,或者它可以是使用諸如 SOAP(簡單對象訪問協(xié)議)之類的適用的協(xié)議來收集數(shù)據(jù)的基于網(wǎng)絡(luò)的通道。現(xiàn)代的服務 器處理器和/或服務器底板已經(jīng)嵌入了管理邏輯,該管理邏輯被配置成促進對各種處理器 和核度量的訪問,并向操作系統(tǒng)和/或底板管理控制器(BMC) 836等等暴露度量。除從BMC收集數(shù)據(jù)之外,管理實體890中的代理可以通過任何合適的協(xié)議(諸如SOAP)和/或通過 使用API(諸如通過API891和892所描繪的)與代理840進行通信。
[0066] 在使用多個插槽的一些服務器實現(xiàn)中,可以有由同一個物理服務器主存的多個 VMM實例。相應地,代理708可以被配置成通過API892或單獨的API(未示出),向管理實 體890提供服務器使用信息,可任選地,可以被配置成聚集由代理840的多個實例所生成的 信息。與服務器使用信息的生成結(jié)合,代理708可以與BMC836連接,和/或從在多個插槽 中的每一個上運行的OS功率管理組件獲取使用信息。
[0067] 圖9示出了與代理層次結(jié)構(gòu)相結(jié)合的用于促進此處所描述的各實施例的操作的 分布式軟件組件的實現(xiàn)。代理層次結(jié)構(gòu)一般包括多個代理級別,其中,給定級別的代理聚 集從它們上方的一層或多層的代理生成和/或收集的數(shù)據(jù),并向其下面的一層或多層的一 個代理或多個代理提供聚集的數(shù)據(jù),該聚集的數(shù)據(jù)可以包括由代理本身所生成的另外的數(shù) 據(jù)。代理以樹形的方式排列,其中,代理的數(shù)量一般沿著層次結(jié)構(gòu)向上而增大。相對于圖9, 代理級別從頁面底部向頁面的頂部從較低向較高提高。在圖9中所示的實施例中,從最低 到最高的示例性代理級別包括數(shù)據(jù)中心級別、房間級別、集群級別、基座級別、服務器級別、 VMM級別,以及VM級別。一般而言,代理層次結(jié)構(gòu)可以包括比如圖9所示多一些或少一些級 另IJ,可以實現(xiàn)未示出的其他級別的代理。
[0068] 代理850、840以及708分別占用VM、VMM以及服務器代理級別,并以上文參考圖8 所描述的方式來操作。在一個實施例中,這些代理被實現(xiàn)為虛擬機包裝模塊400-M中的組 件,如此,可以被視為虛擬機封裝模塊代理。一般而言,這些代理將在單個服務器的基礎(chǔ)上 共同地生成對應于VM和物理服務器利用率的數(shù)據(jù),這樣的數(shù)據(jù)在VMM或服務器代理級別聚 集,表明在服務器級別使用代理708是可選的。例如,如果物理服務器主存單一VMM,并且 VMM級別(或主機OS級別)的代理可以被配置成生成VM利用率和服務器利用率數(shù)據(jù),而不 要求服務器級別的單獨代理。
[0069] 一般而言,分別在數(shù)據(jù)中心、DC房間、集群,以及基座代理級別實現(xiàn)的代理700、 701、705和706可以實現(xiàn)為與數(shù)據(jù)中心簡檔模塊200-M相關(guān)聯(lián)的組件。另外,服務器層的代 理708也可以包括與數(shù)據(jù)中心簡檔模塊200-M相關(guān)聯(lián)的功能。如所描繪的,代理700、702、 705以及706中的每一個都包括被配置成支持與其他代理進行通信的API和/或被配置成 支持與數(shù)據(jù)中心簡檔模塊200-M進行通信的API900。圖9中所描繪的API中的每一個都可 以被配置成支持單一API或多個API。
[0070] 代理706在基座級別操作,在一個實施例中,包括或以別的方式與圖8的管理實體 890連接。取決于特定刀片式服務器或服務器模塊體系結(jié)構(gòu),可以使用每一個基座的管理刀 片或模塊等等,收集各種服務器利用率數(shù)據(jù)。代理706也可以被配置成聚集來自代理708, 840以及850中的一個或多個的數(shù)據(jù)。代理706的API可以被配置成與集群代理705、DC房 間代理701的API和/或API900 (后兩者未示出以避免擁擠)進行通信。
[0071] 集群代理705被配置成在集群級別操作。如此處所使用的,集群包括與多個基座 相關(guān)聯(lián)的服務器刀片和/或模塊,雖然值得注意的是,對應于單一基座的虛擬服務器可以 被配置成支持集群操作;在此情況下,基座代理和集群代理將是冗余的,如此,與此處所討 論的那些有關(guān)的操作將通過基座代理來實現(xiàn)。在一個級別,集群可以被視為一組共同地管 理的服務器。在某些實施例中,集群可以被配置成支持由數(shù)據(jù)中心主存的一個或多個服務, 以便并非遷移支持服務的一部分的虛擬服務器,而是遷移完全支持服務器的整組服務器, 結(jié)果,在物理集群級別遷移虛擬服務器。
[0072] 更詳細地,用于促進基于云的服務的軟件通常使用n層體系結(jié)構(gòu)來實現(xiàn),該體系 結(jié)構(gòu)包括前端web服務器層、一個或多個應用程序服務層,以及數(shù)據(jù)存儲的后端層,諸如文 件存儲器,或更復雜的數(shù)據(jù)管理,諸如通過使用數(shù)據(jù)庫或大數(shù)據(jù)存儲方案。根據(jù)使用物理服 務器的常規(guī)方法,給定層中的服務器可以與一個單獨的機架或機架組相關(guān)聯(lián),以便整個機 架可以用支持web服務器功能的物理服務器填充,可以使用單獨的機架組來支持應用程序 服務服務器,等等。一般而言,數(shù)據(jù)存儲層使用諸如存儲器電器、存儲器陣列等等單獨的物 理設(shè)備來暗示。隨著大數(shù)據(jù)體系結(jié)構(gòu)的引入,數(shù)據(jù)可以以更分布的方式存儲,使使用刀片本 身上的本地存儲器成為實際的選項。與虛擬化相結(jié)合,這通過遷移虛擬服務和存儲在服務 器刀片本身中的適用的數(shù)據(jù),允許整個服務的主存在數(shù)據(jù)中心之間遷移。
[0073] 房間代理701對應于在集群級別和數(shù)據(jù)中心級別之間的聚集級別,該聚集級別對 應于整個數(shù)據(jù)中心。這里的術(shù)語"房間"不僅限于服務器的房間,而是收集并聚集其數(shù)據(jù)簡 檔數(shù)據(jù)的服務器的一些邏輯和/或物理分區(qū)。除物理房間之外,示例包括以機架為基礎(chǔ),以 一行機架或機架過道為基礎(chǔ),以多行/過道為基礎(chǔ)等等。
[0074] 如圖9所示,可以由數(shù)據(jù)中心代理700收集給定數(shù)據(jù)中心的數(shù)據(jù)中心簡檔數(shù)據(jù)的 聚集,或可以從較高級別的代理,諸如房間級別代理,集群級別代理或服務器級別代理,收 集這樣的數(shù)據(jù)??扇芜x地,可以使用收集方法的組合,其中,可以在API900從不同于數(shù)據(jù) 中心代理700的代理收集一些數(shù)據(jù),而由數(shù)據(jù)中心代理700收集并聚集其他數(shù)據(jù),并通過 API900,將它們傳遞到數(shù)據(jù)中心簡檔模塊200-M。
[0075] 圖9還示出了對應于此處所描述的各實施例的軟件體系結(jié)構(gòu)的分布特征。例如, 如圖所示,虛擬封裝模塊400-M可以包括對應于跨多個物理服務器分布的多個代理的軟件 組件,并可以通過在那些物理服務器上運行的操作系統(tǒng)和/或在由物理服務器主存的虛擬 機上運行的操作系統(tǒng)來實現(xiàn)。類似地,數(shù)據(jù)中心簡檔模塊200-M可以包括對應于在服務器 代理級別、基座代理級別、集群代理級別、房間代理級別以及數(shù)據(jù)中心代理級別中的一個或 多個中實現(xiàn)的多個代理的軟件組件。此外,無論代理被配置成在虛擬機還是在物理服務器 上運行,代理都包括軟件組件或組件組,包括被配置成在計算機上執(zhí)行的多個指令。
[0076] 返回到圖10,示出了兩個虛擬服務器遷移的示例。在第一虛擬服務器遷移過程中, 與由控制器500啟動的服務器遷移結(jié)合,將四個虛擬服務器714從位于弗吉尼亞的數(shù)據(jù)中 心N遷移到位于得克薩斯的數(shù)據(jù)中心B。如上文所討論的,服務器遷移可以由各種觸發(fā)器事 件產(chǎn)生,或通過處理聚集的數(shù)據(jù),以及確定執(zhí)行遷移有利。四個服務器的遷移的圖示是要遷 移的數(shù)量大得多的虛擬服務器的代表,因為典型數(shù)據(jù)中心機架單獨地可以主存100或者甚 至1000個虛擬服務器。例如,惠普公司最近引入了模塊化web服務器(MoonShot)的線, 該線具有每個4. 3U底座45個服務器模塊;充滿這些服務器模塊的機架可以單獨地支持高 達1000個物理服務器。
[0077] 虛擬服務器的遷移實際涉及實例化遷移到的數(shù)據(jù)中心上的虛擬服務器的新實例, 該虛擬服務器的實例被配置成執(zhí)行與正在被遷移的虛擬服務器相同的服務,該正在被遷移 的虛擬服務器在遷移之后在從其中遷移的數(shù)據(jù)中心中關(guān)閉。與實例化新虛擬服務器實例一 起,可能需要傳輸?shù)臄?shù)據(jù)。取決于特定物理服務器體系結(jié)構(gòu)以及由遷移的虛擬服務器主存 的服務,可以有數(shù)據(jù)存儲在要遷移的物理服務器中(從該物理服務器復制到遷移到的數(shù)據(jù) 中心中的物理服務器,或可能需要從數(shù)據(jù)存儲池等等遷移的對應于存儲在與物理服務器分 開的設(shè)備中的數(shù)據(jù)的數(shù)據(jù)。
[0078] 例如,有各種類型的用于存儲大量的涉及基于云的存儲服務的數(shù)據(jù)的網(wǎng)絡(luò)存儲器 電器,存儲器陣列,等等。在一些基于云的存儲體系結(jié)構(gòu)下面,存儲設(shè)施以及用于訪問存儲 設(shè)施的服務器設(shè)施位于一起或相距不遠。一些基于云的服務提供商使用地理數(shù)據(jù)復制,其 中,跨不同的地理位置的數(shù)據(jù)中心復制相同數(shù)據(jù)的實例。根據(jù)常見的方法,接收到的(用于 存儲)數(shù)據(jù)與上傳數(shù)據(jù)同時被寫入到兩個(或更多)存儲設(shè)備。周期性地,將此數(shù)據(jù)的副 本寫入到位于不同的地理位置的數(shù)據(jù)中心中的單獨的存儲設(shè)施中。根據(jù)一些遷移,由被遷 移的虛擬服務器實例使用的存儲設(shè)施的位置可能是一個重要考慮。
[0079] 如數(shù)據(jù)中心B和位于華盛頓昆西的數(shù)據(jù)中心A之間的第二虛擬服務器遷移所示 出的,與虛擬服務器實例的遷移一起,遷移對應于多個存儲卷1000的數(shù)據(jù)。除與數(shù)據(jù)存儲 卷的遷移有關(guān)的考慮之外,還可以有與在數(shù)據(jù)中心本身之間復制該數(shù)據(jù)有關(guān)的相關(guān)聯(lián)的成 本,以及遷移之后與為服務用戶而進行數(shù)據(jù)傳輸有關(guān)的增加的成本。例如,大數(shù)據(jù)中心通常 與網(wǎng)絡(luò)主干線路提供商協(xié)商有利的數(shù)據(jù)傳輸價格。這樣的價格可以包括支持提升的服務質(zhì) 量(QoS)的某些級別的帶寬分配--如果數(shù)據(jù)中心運營商超出分配的帶寬,運營商會產(chǎn)生 額外的成本,或可以節(jié)制多余的帶寬通信量。另外,移動數(shù)據(jù)存儲位置會導致用于訪問數(shù)據(jù) 的傳輸路線比較長。例如,如果大部分用戶位于東海岸,則將主存儲器從東海岸移動到西海 岸會導致運營商的另外的數(shù)據(jù)傳輸成本。這是讓數(shù)據(jù)中心位于東海岸的重要動機,因為對 于東海岸位置,能源消耗成本高得多。
[0080] 前述的內(nèi)容的凈關(guān)鍵點是,可以有與涉及數(shù)據(jù)傳輸?shù)姆掌鬟w移相關(guān)聯(lián)的成本, 這些額外的成本可以由控制器500建模,并且在判斷是否啟動虛擬服務器遷移時考慮它 們。在圖10中作為傳輸成本1002,描繪了此輸入。
[0081] 圖11示出了根據(jù)一個實施例的控制器500的進一步的詳情。除上文所討論的事 件處理程序600和數(shù)據(jù)收集器602之外,控制器500還包括數(shù)據(jù)傳輸成本模塊1000、能源 市場競標模塊1002、預測模塊1004、節(jié)省量/成本引擎1006、遷移/縮放判斷引擎1008、統(tǒng) 計模塊1010以及耦合到數(shù)據(jù)存儲1114的數(shù)據(jù)儲存庫1112。如上文所討論的,數(shù)據(jù)收集器 602被配置成從各種源和代理收集數(shù)據(jù),包括與數(shù)據(jù)中心簡檔模塊200-m相關(guān)聯(lián)的代理,電 力公司門戶網(wǎng)站902以及天氣門戶網(wǎng)站1116。如此處所使用的,門戶網(wǎng)站是可通過網(wǎng)絡(luò)訪 問的數(shù)據(jù)接口,該數(shù)據(jù)接口允許從諸如電力公司或氣象服務之類的對應的門戶網(wǎng)站主機檢 索數(shù)據(jù)。門戶網(wǎng)站可以提供公共接口,諸如通過因特網(wǎng)可訪問的或支持通過專用網(wǎng)絡(luò)鏈路 訪問的私有的接口。
[0082] 當由數(shù)據(jù)收集器602收集數(shù)據(jù)時,它通過數(shù)據(jù)儲存庫1112,存儲在數(shù)據(jù)存儲1114 中。數(shù)據(jù)儲存庫1112也可以將最近收集到的數(shù)據(jù)的一部分保留在控制器的存儲器中。統(tǒng) 計引擎被配置成對由數(shù)據(jù)儲存庫存儲的數(shù)據(jù)執(zhí)行統(tǒng)計分析,并生成對應的統(tǒng)計數(shù)據(jù),統(tǒng)計 數(shù)據(jù)也可以存儲在數(shù)據(jù)儲存庫1112中。例如,統(tǒng)計模塊1010可以被配置成生成每一白天 時間間隔的平均使用級別,產(chǎn)生數(shù)據(jù),可以從該數(shù)據(jù),生成和/或訪問平均使用曲線。更一 般而言,統(tǒng)計模塊1010可以被配置成生成涉及存儲在數(shù)據(jù)儲存庫1112中的任何數(shù)據(jù)參數(shù) 的統(tǒng)計數(shù)據(jù)。
[0083] 預測模塊1004被配置成預測與多個數(shù)據(jù)中心的數(shù)據(jù)中心操作有關(guān)的各種參數(shù), 諸如每個小時的電能利用率,預計的電力公司價格,固定的時間間隔或作為預計的能量利 用的函數(shù)。例如,基于對應于歷史使用模式的統(tǒng)計數(shù)據(jù),預測引擎可以預計所需的能量利用 級別,預計的能量價格,預計的觸發(fā)條件等等。另外,如果數(shù)據(jù)中心在具有包括諸如ERCOT 之類的日前市場的能源市場的區(qū)域運轉(zhuǎn),那么,預測引擎可以在那些市場時間段關(guān)閉時檢 索日前市場價格,并使用這些作為實際預計的價格,而不是來源于處理統(tǒng)計數(shù)據(jù)的估計的 價格。
[0084] 使用數(shù)據(jù)傳輸成本模塊1000來從數(shù)據(jù)網(wǎng)絡(luò)提供商1118檢索數(shù)據(jù)傳輸成本,并預 計與虛擬服務器遷移相關(guān)聯(lián)的數(shù)據(jù)傳輸成本,包括在各數(shù)據(jù)中心之間移動(通常是復制) 數(shù)據(jù)的成本和/或作為從不同的數(shù)據(jù)中心訪問服務的結(jié)果(在遷移之后),數(shù)據(jù)傳輸成本的 變化,諸如涉及將虛擬服務器遷移到與使用涉及被遷移的虛擬服務器的一個或多個服務的 消費者群體更靠近的或遠離消費者群體的數(shù)據(jù)中心的傳輸成本變化。
[0085] 節(jié)省量/成本引擎1006被配置成預計涉及執(zhí)行虛擬服務器遷移、向上或向下縮放 數(shù)據(jù)中心服務,或出于出價目的操作節(jié)省量和/或成本。如上文所討論的,通常將有與給定 遷移相關(guān)聯(lián)的某些節(jié)省量以及成本。這些節(jié)省量和成本是由節(jié)省量/成本引擎1006所生 成的。例如,節(jié)省量/成本引擎1106可以被配置成為多個數(shù)據(jù)中心遷移情況預計節(jié)省量和 成本。另外,節(jié)省量/成本引擎1106可以被配置成執(zhí)行涉及由數(shù)據(jù)中心通過在那些數(shù)據(jù)中 心中添加或刪除虛擬服務器實例所提供的縮放服務的成本比較。
[0086] 能源市場競標引擎1002被配置成與能源市場競標門戶1120連接,并對于能源消 耗進行市場出價。如果數(shù)據(jù)中心的運營商是注冊的市場參與者,則可以向能源市場ISO作 出這樣的出價,或如果能源市場不使用IS0,則可以向電力公司票據(jù)交換所等等作出這樣的 出價。典型的出價可以包括單一價格/數(shù)量組合,導致階梯式的價格/數(shù)量出價曲線的多 個價格/數(shù)量組合是由一個數(shù)學函數(shù)所定義的價格/數(shù)量出價曲線或一組定義價格/質(zhì)量 出價曲線的價格/數(shù)量數(shù)據(jù)點??梢詾椴煌愋偷氖袌觯T如日前市場和"現(xiàn)貨"市場(又 名,實時市場,雖然現(xiàn)貨出價比實際價格時間段領(lǐng)先某個預定的時間量)進行出價。此外, 競標出價通常是針對給定價格時間段的。可以至少部分地通過由節(jié)省量/成本引擎1006 所生成的數(shù)據(jù)來計算競標出價。競標出價結(jié)果將存儲在數(shù)據(jù)儲存庫1112中。取決于能源 市場結(jié)構(gòu)和規(guī)則,具有等于或高于競標時間段的結(jié)算價格的任何出價(或出價的一部分) 都將是滿足(filled)出價,而具有低于結(jié)算價格的價格的出價(或出價的一部分)將不能 被滿足。另外,取決于數(shù)據(jù)中心可能與本地電力公司簽訂的合同,數(shù)據(jù)中心可以基于結(jié)算 價格,對于給定競標時間段,不獲取,獲取其電能的一部分,或者甚至全部,電能的剩余部分 (如果有的話)從一家或多家本地電力公司購買。
[0087] 遷移/縮放判斷引擎1008被配置成處理來自各種輸入的數(shù)據(jù),并確定應該何時以 及如何執(zhí)行數(shù)據(jù)中心之間的虛擬服務器遷移,以及響應于服務需求的變化,當向上或向下 縮放服務時,確定向哪些數(shù)據(jù)中心添加虛擬服務器實例或去除虛擬服務器實例。例如,響應 于接收到某些事件觸發(fā)器,遷移/縮放判斷引擎1008可以啟動虛擬服務器遷移,而響應于 其他事件觸發(fā)器和/或其他輸入,遷移/縮放判斷引擎1008可以從節(jié)省量/成本引擎請求 額外的信息,以判斷是否應該執(zhí)行虛擬服務器遷移。
[0088] 如上文所討論的,也可以使用控制器500來擴大和縮小服務,據(jù)此,基于各種操作 的和成本考慮,添加虛擬服務器,或從所選擇的數(shù)據(jù)中心中刪除虛擬服務器。圖12示出了 根據(jù)一實施例的流程圖1200,示出了實現(xiàn)數(shù)據(jù)中心服務縮放的操作以及邏輯。在框1202, 控制器500檢測對由數(shù)據(jù)中心主存的給定服務的需求的增大或縮小,或?qū)⒋饲闆r通知給 控制器500。例如,數(shù)據(jù)中心可以主存其自己的服務,或簽約主存第三方服務;后者的示例 包括AmazonWebServices(AWS)和ElasticComputeCloud(EC2)以及一些Microsoft Azure服務。與服務需求變化有關(guān)的信息可以在控制器500外部確定,諸如由轉(zhuǎn)變觸發(fā)模塊 300-M確定,或可以根據(jù)由控制器500收集到的輸入數(shù)據(jù)確定。一般而言,來自轉(zhuǎn)變觸發(fā)模 塊300-M的輸入將對應于推模型(例如,可以向控制器500發(fā)送推通知),而由控制器500 收集到的檢測服務需求的變化的數(shù)據(jù)可以通過使用拉和/或推模型來獲取,如上文所討論 的。
[0089] 如由判斷框1204所描繪的,響應于"擴大"判斷(例如,標識的服務將被擴大), 邏輯轉(zhuǎn)到框1206,在此,就根據(jù)需要,哪一個數(shù)據(jù)中心要擴大、要實例化哪些虛擬服務器,以 及使哪些物理服務器上線作出判斷。例如,遷移/縮放判斷引擎1008可以基于來自節(jié)省/ 成本引擎1006的輸入和/或其他輸入數(shù)據(jù),確定要縮放的成本效率最高的數(shù)據(jù)中心。一般 而言,虛擬服務器將被配置成支持預定的服務功能,諸如Webserver功能或應用程序服務 器功能。web服務器功能對于許多不同類型的服務有點類似,一些web服務器可以被配置 成被實現(xiàn),用于支持多個服務。相比之下,常常定制應用程序服務器,以支持特定服務。在 很多情況下,web服務器軟件以及應用程序服務器軟件將作為被配置成在由物理服務器主 存的VM上運行的應用程序來預先安裝。添加虛擬服務器通常被稱為實例化虛擬服務器實 例。取決于要執(zhí)行的特定類型的縮放,可能需要使物理服務器上線;這樣的物理服務器在被 上線之前,可以處于現(xiàn)有的較低功率的空閑狀態(tài)或完全關(guān)閉。
[0090] 如判斷框1204作出的SCALEDOWN判斷所描繪的,邏輯轉(zhuǎn)到框1208,在此,就要向 哪個數(shù)據(jù)中心縮減,要關(guān)閉或空載哪些虛擬服務器,以及如果有的話,要使哪些物理服務器 離線或置于降低功率狀態(tài)作出判斷。如前所述,這些判斷可以由遷移/縮放判斷引擎1008 基于來自節(jié)省/成本引擎1006的輸入和/或其他輸入數(shù)據(jù)來作出。在縮減服務的情況下, 帶有每個虛擬服務器最高的操作成本的數(shù)據(jù)中心通常將被標識為要縮減,與擴大服務相 反,根據(jù)擴大服務,將標識帶有每個虛擬服務器最低的操作成本的數(shù)據(jù)中心。
[0091] 控制器500可以通過使用在一個或多個計算機器(包括物理計算機,服務器等等) 上運行的軟件,以及在物理計算機以及服務器上運行的虛擬機來實現(xiàn)。例如,圖11中所描 繪的每一模塊或引擎都可以包括單獨的軟件模塊、組件、一組模塊、組件、庫等等。出于解釋 的目的,選擇了被描繪成通過控制器500來實現(xiàn)的模塊和引擎,以示出用于實現(xiàn)由控制器 500支持的整體功能的軟件模塊、組件等等的示例性組。類似的功能可以使用較大或較小數(shù) 量的軟件模塊和組件來支持,所示出的模塊和組件組不是限制性的,僅僅是示例性的。
[0092] 雖然參考特定實現(xiàn)方式描述了一些實施例,但根據(jù)一些實施例,其他實現(xiàn)方式也 是可能的。另外,附圖中所示的和/或本文描述的元件或其它特征的配置和/或順序不需 要以所示和所描述的特定方式安排。根據(jù)某些實施例很多其它配置也是可能的。
[0093] 在附圖中示出的每個系統(tǒng)中,在一些情況下的元件可分別具有相同附圖標記或不 同的附圖標記,以暗示所表示的元件可能不同和/或相似。然而,元件是足夠靈活的以具有 不同的實現(xiàn)并與本文所示或所描述的系統(tǒng)中的部分或全部一起操作。附圖中所示的各元件 可以相同或不同。將哪個稱為第一元件以及將哪個稱為第二元件是任意的。
[0094] 在說明書和權(quán)利要求書中,可使用術(shù)語耦合摂和連接摂及其衍生詞。應當理解,這 些術(shù)語并不旨在作為彼此的同義詞。相反,在具體實施例中,"連接的"用于指示兩個或更 多個要素彼此直接物理或電接觸。"耦合的"可表示兩個或更多個元件直接物理或電接觸。 然而,"耦合的"也可表示兩個或更多個元件并未彼此直接接觸,但是仍然彼此協(xié)作、彼此相 互作用。
[0095] 實施例是本發(fā)明的實現(xiàn)或示例。說明書中對"實施例"、"一個實施例"、"一些實施 例"或其它實施例摂?shù)囊帽硎窘Y(jié)合這些實施例描述的特定特征、結(jié)構(gòu)或特性被包括在本 發(fā)明的至少一些實施例中,而不一定在所有的實施例中。各處出現(xiàn)的"實施例"、"一個實施 例"或"一些實施例"不一定都指相同的實施例。
[0096] 并非本文中描述和示出的所有組件、特征、結(jié)構(gòu)、特性等等都需要被包括在特定實 施例或多個實施例中。例如,如果說明書陳述"可"、"可能"或"能夠"包括組件、特征、結(jié)構(gòu) 或特性,則不一定包括該特定組件、特征、結(jié)構(gòu)或特性。如果說明書或權(quán)利要求書提到"一" 或"一個"元件,則這并不意味著僅有一個該元件。如果說明書或權(quán)利要求書引用"額外的" 元素,則不排除有一個以上的額外的元素。
[0097] 如上文所討論的,此處的各實施例的各方面可以通過對應的軟件和/或固件組件 以及應用程序,諸如在由服務器刀片、服務器模塊、獨立服務器等等主存的虛擬機上運行 的,或直接在服務器刀片、服務器模塊、獨立服務器等等的處理器上運行的軟件,來促進。 如此,本發(fā)明的各實施例可以被用作或支持在某種形式的處理核(諸如計算機或服務器 的CPU、多核處理器的一個或多個核)上執(zhí)行的軟件程序、軟件模塊、固件,和/或分布式軟 件),在處理器或核上運行的,或以別的方式在機器可讀取的介質(zhì)上面或其內(nèi)實現(xiàn)的虛擬 機。機器可讀介質(zhì)包括用于存儲或傳送機器(例如,計算機)可讀形式的信息的任何機制。 例如,機器可讀介質(zhì)可包括只讀存儲器(ROM)、隨機存取存儲器(RAM)、磁盤存儲介質(zhì)、光存 儲介質(zhì),以及閃存設(shè)備等。
[0098] 上文對本發(fā)明的所示出的本發(fā)明的各實施例的描述,包括在摘要所描述的,不是 詳盡的,或?qū)⒈景l(fā)明限于上文所公開的準確的形式。盡管為了說明,此處描述了本發(fā)明的具 體實施例以及示例,但是,如那些精通相關(guān)技術(shù)的人所理解的,各種可能的等效的修改也都 在本發(fā)明的范圍內(nèi)。
[0099] 可以根據(jù)上面的詳細描述摂對本發(fā)明進行這些修改。后面的權(quán)利要求中所使用的 術(shù)語不應該被理解為將本發(fā)明限制于說明書和附圖中所公開的特定實施例。相反,本文的 范圍完全由下列權(quán)利要求書來確定,權(quán)利要求書根據(jù)權(quán)利要求解釋的建立的原則來解釋。
【權(quán)利要求】
1. 一種計算機實現(xiàn)的方法,包括以下步驟: 自動地收集用作用于判斷是否在數(shù)據(jù)中心之間執(zhí)行虛擬服務器遷移的輸入的數(shù)據(jù),所 述數(shù)據(jù)是從多個數(shù)據(jù)中心中的每一個收集的并包括由多個代理在多個級別收集到的數(shù)據(jù), 其中,所述數(shù)據(jù)包括, 與虛擬機利用率有關(guān)的數(shù)據(jù); 與電利用成本有關(guān)的數(shù)據(jù); 與數(shù)據(jù)中心利用率有關(guān)的數(shù)據(jù);以及 與觸發(fā)器事件有關(guān)的數(shù)據(jù);以及 處理收集到的所述數(shù)據(jù),以判斷是否將虛擬服務器從第一數(shù)據(jù)中心遷移到第二數(shù)據(jù)中 心。
2. 如權(quán)利要求1所述的計算機實現(xiàn)的方法,其特征在于,所述多個代理包括: 對于下列各項中的至少一項的相應的代理, 數(shù)據(jù)中心級別; 房間或分區(qū)級別;以及 服務器集群級別; 對于下列各項中的至少一項的相應的代理, 服務器級別; 服務器基座級別;以及 集群級別的代理,以及 其中,所述多個代理被配置成實現(xiàn)用于與另一級別中的代理中的至少一個進行通信的 一個或多個應用程序接口(API),以及被實現(xiàn)為處理收集到的所述數(shù)據(jù)以判斷是否要遷移 虛擬服務器的控制器。
3. 如權(quán)利要求2所述的方法,進一步包括使用虛擬機管理器(VMM)級別的被配置成收 集與虛擬機利用率有關(guān)的數(shù)據(jù)的多個代理。
4. 如權(quán)利要求3所述的方法,進一步包括使用虛擬機(VM)級別的多個代理,其中,所述 所述VM級別的多個代理被配置成將VM利用率數(shù)據(jù)傳遞到所述VMM級別的所述代理,所述 VMM級別的代理被配置成聚集從多個VM代理收集到的與由所述VMM主存的VM的利用率有 關(guān)的VM利用率數(shù)據(jù),所述VM級別的所述代理進一步被配置成將所述聚集的VM利用率數(shù)據(jù) 傳遞到較低級別的代理和所述控制器中的至少一個。
5. 如權(quán)利要求2所述的方法,其特征在于,在代理層次結(jié)構(gòu)中配置了所述代理,根據(jù)該 層次結(jié)構(gòu),所述層次結(jié)構(gòu)的較低級別的代理從所述代理層次結(jié)構(gòu)的較高的級別代理收集并 聚集數(shù)據(jù)。
6. 如前面的權(quán)利要求中的任一項所述的方法,其特征在于,判斷是否執(zhí)行虛擬服務器 遷移包括節(jié)省/成本分析,包括考慮作為虛擬服務器的遷移的結(jié)果的預計的數(shù)據(jù)傳輸成 本。
7. 如前面的權(quán)利要求中的任一項所述的方法,其特征在于,還包括: 如果判斷遷移所述虛擬服務器,則自動地啟動多個虛擬服務器從所述第一數(shù)據(jù)中心向 所述第二數(shù)據(jù)中心的遷移,其中自動地啟動所述多個虛擬服務器的遷移包括標識要遷移到 哪些虛擬服務器實例。
8. 如前面的權(quán)利要求中的任一項所述的方法,其特征在于,與電利用成本有關(guān)的所述 數(shù)據(jù)包括每個能量單位的當前成本和所述多個數(shù)據(jù)中心中的每一個的當前消耗級別,以及 關(guān)于是否要遷移虛擬服務的判斷包括至少部分地基于所述當前消耗級別,考慮所述每個能 量單位的當前成本以及預計的每個能量單位的未來成本。
9. 如權(quán)利要求1所述的方法,其特征在于,與虛擬機利用率有關(guān)的數(shù)據(jù)包括在每服務 器刀片或服務器模塊級別、在刀片式服務器或服務器模塊底座級別或在多刀片服務器或服 務器模塊底座級別的聚集中的一項或多項聚集的虛擬服務器平均功率消耗率。
10. 如前面的權(quán)利要求所述的方法,其特征在于,涉及觸發(fā)器事件的所述數(shù)據(jù)包括高能 量利用率閾值和低能量利用率閾值觸發(fā)器中的至少一項,其中,響應于給定數(shù)據(jù)中心的高 能量利用率閾值或低能量利用率閾值的實際或預計的交叉,觸發(fā)遠離所述數(shù)據(jù)中心的虛擬 服務器遷移。
11. 如前面的權(quán)利要求中的任一項所述的方法,其特征在于,進一步包括使用數(shù)據(jù)收 集周期,根據(jù)該數(shù)據(jù)收集周期,由控制器使用拉模型和推模型中的一個或多個收集數(shù)據(jù),其 中,所述數(shù)據(jù)是對于所述數(shù)據(jù)中心中的每一個收集的,且包括數(shù)據(jù)中心簡檔數(shù)據(jù),本地電力 公司數(shù)據(jù)和本地天氣數(shù)據(jù)。
12. 如前面的權(quán)利要求中的任一項所述的方法,其特征在于,收集的每一個數(shù)據(jù)中心的 所述數(shù)據(jù)還包括本地環(huán)境數(shù)據(jù)。
13. 如前面的權(quán)利要求中的任一項所述的方法,其特征在于,還包括: 預測未來能源消耗級別;以及 向能源市場競標提交購買電能的出價,其中,所述出價包括單一價格/數(shù)量組合、導致 階梯式的價格/數(shù)量出價曲線的多個價格/數(shù)量組合中的一項或多項,所述出價是由一個 數(shù)學函數(shù)所定義的價格/數(shù)量出價曲線或一組定義價格/質(zhì)量出價曲線的一組價格/數(shù)量 數(shù)據(jù)點,其中,所述出價部分地基于預測的未來能源消耗級別。
14. 如前面的權(quán)利要求中的任一項所述的方法,其特征在于,還包括: 響應于服務縮放事件,處理收集到的所述數(shù)據(jù),以確定數(shù)據(jù)中心以實例化額外的虛擬 服務器以支持所述服務的擴大。
15. 在其上存儲了多個指令的非瞬時機器可讀的介質(zhì),包括被配置成在至少一個計算 機上執(zhí)行以實現(xiàn)控制器操作的多個模塊,包括: 收集要用作用于判斷是否在數(shù)據(jù)中心之間執(zhí)行虛擬服務器遷移的輸入的數(shù)據(jù),所述數(shù) 據(jù)是從多個數(shù)據(jù)中心中的每一個收集到的,并包括由多個代理在多個級別收集的數(shù)據(jù),其 中,所述數(shù)據(jù)包括, 與虛擬機利用率有關(guān)的數(shù)據(jù); 與電利用成本有關(guān)的數(shù)據(jù); 與數(shù)據(jù)中心利用率有關(guān)的數(shù)據(jù);以及 與觸發(fā)器事件有關(guān)的數(shù)據(jù);以及 處理收集到的所述數(shù)據(jù),以判斷是否將虛擬服務器從第一數(shù)據(jù)中心遷移到第二數(shù)據(jù)中 心。
16. 如權(quán)利要求15所述的非瞬時機器可讀的介質(zhì),其特征在于,所述多個模塊包括: 數(shù)據(jù)收集器模塊,所述數(shù)據(jù)收集器模塊被配置成從多個代理收集和接收數(shù)據(jù)以及通過 多個門戶收集數(shù)據(jù)中的至少一項,包括被配置成提供對電能數(shù)據(jù)的訪問的電力公司門戶以 及被配置成提供對天氣數(shù)據(jù)的訪問的天氣門戶; 事件處理程序,所述事件處理程序被配置成收集和接收涉及數(shù)據(jù)中心操作條件和事件 的數(shù)據(jù)中的至少一項, 其中,所述控制器在判斷是否觸發(fā)所述第一和第二數(shù)據(jù)中心之間的服務器遷移時至少 部分地使用所述事件處理程序。
17. 如權(quán)利要求16所述的非瞬時機器可讀的介質(zhì),其特征在于,所述多個模塊包括: 數(shù)據(jù)儲存庫模塊,所述數(shù)據(jù)儲存庫模塊被配置成存儲由所述數(shù)據(jù)收集器收集到的數(shù) 據(jù); 統(tǒng)計模塊,所述統(tǒng)計模塊被配置成對由所述數(shù)據(jù)儲存庫模塊存儲的數(shù)據(jù)執(zhí)行統(tǒng)計操 作,以生成數(shù)據(jù)中心操作統(tǒng)計數(shù)據(jù);以及 預測模塊,所述預測模塊被配置成基于所述數(shù)據(jù)中心操作統(tǒng)計數(shù)據(jù),預測未來數(shù)據(jù)中 心操作參數(shù)。
18. 如權(quán)利要求15-17中的任一項所述的非瞬時機器可讀的介質(zhì),其特征在于,所述多 個模塊包括: 遷移/縮放判斷引擎,被配置成, 接收與數(shù)據(jù)中心操作、事件以及成本有關(guān)的輸入數(shù)據(jù);以及 處理所述輸入數(shù)據(jù),以判斷是否將執(zhí)行數(shù)據(jù)中心之間的虛擬服務器遷移;以及 處理所述輸入數(shù)據(jù),以判斷是否將通過添加虛擬服務器來縮放服務,并標識將向所述 多個數(shù)據(jù)中心中的哪一個添加補充的虛擬服務器。
19. 如權(quán)利要求15-18中的任一項所述的非瞬時機器可讀的介質(zhì),其特征在于,所述多 個模塊包括: 數(shù)據(jù)傳輸成本模塊,所述數(shù)據(jù)傳輸成本模塊被配置成確定與在數(shù)據(jù)中心之間執(zhí)行虛擬 服務器遷移有關(guān)的數(shù)據(jù)傳輸成本,包括在所述數(shù)據(jù)中心之間傳輸數(shù)據(jù)的成本,與在完成所 述服務器遷移之后用戶接入有關(guān)的傳輸成本的變化。
20. 如權(quán)利要求15-19中的任一項所述的非瞬時機器可讀的介質(zhì),其特征在于,所述多 個模塊包括: 節(jié)省/成本引擎,所述節(jié)省/成本引擎被配置成接收與數(shù)據(jù)中心操作和服務器遷移成 本有關(guān)的多個輸入并且預計涉及數(shù)據(jù)中心之間的虛擬服務器遷移的估計的操作節(jié)省和成 本。
21. 在其上存儲了多個指令的非瞬時機器可讀的介質(zhì),包括被配置成在包括數(shù)據(jù)中心 中的計算機器的多個分布式計算機器上實現(xiàn)的多個模塊,所述多個模塊包括: 虛擬機封裝模塊,所述虛擬機封裝模塊被配置成生成與數(shù)據(jù)中心中的虛擬機利用率有 關(guān)的數(shù)據(jù); 電力成本簡檔模塊,所述電力成本簡檔模塊被配置成生成與所述數(shù)據(jù)中心的電利用成 本有關(guān)的數(shù)據(jù); 數(shù)據(jù)中心簡檔模塊,所述數(shù)據(jù)中心簡檔模塊被配置成生成與數(shù)據(jù)中心利用率有關(guān)的數(shù) 據(jù); 轉(zhuǎn)變觸發(fā)器模塊,所述轉(zhuǎn)變觸發(fā)器模塊被配置成生成與轉(zhuǎn)變觸發(fā)器事件有關(guān)的數(shù)據(jù); 以及 控制器模塊,所述控制器模塊被配置成從多個不同的數(shù)據(jù)中心接收包括由所述虛擬機 封裝模塊、所述電力成本簡檔模塊、所述數(shù)據(jù)中心簡檔模塊以及所述轉(zhuǎn)變觸發(fā)器模塊中的 每一個所生成的數(shù)據(jù)的輸入,并處理所述輸入,以判斷是否在數(shù)據(jù)中心之間遷移在所述數(shù) 據(jù)中心上運行的虛擬服務器。
22. 如權(quán)利要求21所述的非瞬時機器可讀的介質(zhì),其特征在于,所述電力成本簡檔模 塊被配置成檢索與所述數(shù)據(jù)中心的電利用價格有關(guān)的數(shù)據(jù),并生成所述數(shù)據(jù)中心的現(xiàn)在和 將來電利用價格數(shù)據(jù)中的至少一項,并將所述電利用價格數(shù)據(jù)傳遞到所述數(shù)據(jù)中心簡檔模 塊和所述控制器模塊中的至少一項。
23. 如權(quán)利要求21或22所述的非瞬時機器可讀的介質(zhì),其特征在于,所述轉(zhuǎn)變觸發(fā)器 模塊被配置成接收由所述數(shù)據(jù)中心簡檔所生成的數(shù)據(jù),并響應于檢測到多個轉(zhuǎn)變觸發(fā)器事 件和/或條件,生成轉(zhuǎn)變觸發(fā)器,所述轉(zhuǎn)變觸發(fā)器事件包括高能量利用率閾值交叉和低能 量利用率閾值交叉中的至少一項,其中,響應于給定數(shù)據(jù)中心的高能量利用率閾值或低能 量利用率閾值的實際或預計的交叉,觸發(fā)遠離所述數(shù)據(jù)中心的虛擬服務器遷移。
24. 如權(quán)利要求21-23中的任一項所述的非瞬時機器可讀的介質(zhì),其特征在于,所述多 個模塊包括多個代理和多個應用程序接口(API),其中,所述多個代理被配置成在包括多個 代理級別的代理層次結(jié)構(gòu)中實現(xiàn),所述代理使用所述多個API來促進所述代理層次結(jié)構(gòu)中 的不同級別的所述代理之間的通信。
25. 如權(quán)利要求21-23中的任一項所述的非瞬時機器可讀的介質(zhì),其特征在于,與電利 用成本有關(guān)的所述數(shù)據(jù)包括所述多個數(shù)據(jù)中心中的每一個的每個能量單位的當前成本和 當前消費級別,其中,所述控制器模塊被配置成至少部分地基于所述每個能量單位的當前 成本、每個能量單位的預計的未來成本以及所述當前消費級別的考慮,來判斷是否遷移虛 擬服務器。
【文檔編號】G06Q50/06GK104516768SQ201410499480
【公開日】2015年4月15日 申請日期:2014年9月25日 優(yōu)先權(quán)日:2013年9月26日
【發(fā)明者】C·帕弗拉斯, D·C·洪, S·P·杜巴爾, E·M·卡普勒, P·康納, M·A·賈德 申請人:英特爾公司