電子設(shè)備的用戶越來(lái)越多地使用外部計(jì)算資源(例如,在“公有云”中的資源)以用于他們的計(jì)算需要。例如,這樣的外部計(jì)算資源可以包括被配置為在各種應(yīng)用被執(zhí)行時(shí)處置用戶的需要的一個(gè)或者多個(gè)服務(wù)器。因此,用戶可以具有對(duì)比在用戶的個(gè)人設(shè)備上原本可用的計(jì)算資源(例如,存儲(chǔ)裝置、處理能力等)遠(yuǎn)遠(yuǎn)更多的計(jì)算資源的訪問(wèn)。
然而,公有地可用的服務(wù)(例如,使用“公有云”)可能難以在所有時(shí)間(例如,在許多用戶請(qǐng)求服務(wù)時(shí)的時(shí)間期間,這些服務(wù)合計(jì)要求提供商的“公有”資源中的大多數(shù)或者所有資源)提供充足計(jì)算資源。
技術(shù)實(shí)現(xiàn)要素:
根據(jù)一個(gè)主要方面,一種系統(tǒng)可以包括數(shù)據(jù)處理裝置,數(shù)據(jù)處理裝置包括存儲(chǔ)可執(zhí)行指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可執(zhí)行指令使得數(shù)據(jù)處理裝置獲得對(duì)用于執(zhí)行與公有地可用的服務(wù)關(guān)聯(lián)的應(yīng)用的一個(gè)或者多個(gè)計(jì)算資源要求的描述,并且從包括私有計(jì)算設(shè)備的計(jì)算實(shí)體機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn)。私有計(jì)算設(shè)備在公有地可用的服務(wù)外部并且與公有地可用的服務(wù)分離。智能地匹配計(jì)算資源要求與具有從私有計(jì)算設(shè)備源暫時(shí)地可用的私有計(jì)算資源的計(jì)算實(shí)體的可用計(jì)算資源。使用性能優(yōu)化分析來(lái)執(zhí)行智能匹配。
根據(jù)另一方面,一種系統(tǒng)可以包括至少一個(gè)處理器和存儲(chǔ)可由處理器執(zhí)行的可執(zhí)行代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。可執(zhí)行代碼包括機(jī)會(huì)性資源管理器,機(jī)會(huì)性資源管理器包括資源描述獲取模塊,資源描述獲取模塊獲得對(duì)用于執(zhí)行與動(dòng)態(tài)地改變的工作量關(guān)聯(lián)的一個(gè)或者多個(gè)應(yīng)用的一個(gè)或者多個(gè)計(jì)算資源要求的描述。在公有地可用的服務(wù)中包括資源描述獲取模塊。資源分配器通過(guò)匹配一個(gè)或者多個(gè)計(jì)算資源要求與在公有地可用的服務(wù)外部并且從公有地可用的服務(wù)分離的一個(gè)或者多個(gè)私有云的暫時(shí)地可用的計(jì)算資源來(lái)從一個(gè)或者多個(gè)私有云機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn)。公有主機(jī)模塊使用私有云的匹配的暫時(shí)地可用的計(jì)算資源來(lái)發(fā)起對(duì)執(zhí)行一個(gè)或者多個(gè)應(yīng)用的主控活動(dòng)的控制。
根據(jù)另一方面,一種計(jì)算機(jī)程序產(chǎn)品可以包括存儲(chǔ)可執(zhí)行代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可執(zhí)行代碼使得至少一個(gè)數(shù)據(jù)處理裝置獲得對(duì)用于執(zhí)行應(yīng)用的一個(gè)或者多個(gè)計(jì)算資源要求的描述。向公有地可用的服務(wù)的資源分配器提供對(duì)計(jì)算資源要求的描述,該資源分配器被配置為從包括在公有地可用的服務(wù)外部并且從公有地可用的服務(wù)分離的至少一個(gè)私有計(jì)算設(shè)備的計(jì)算實(shí)體機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn)。智能地匹配計(jì)算資源要求與包括至少一個(gè)私有計(jì)算設(shè)備的計(jì)算實(shí)體的可用計(jì)算資源。使用計(jì)算實(shí)體的匹配的可用計(jì)算資源來(lái)發(fā)起對(duì)為一個(gè)或者多個(gè)用戶執(zhí)行應(yīng)用的主控活動(dòng)的控制。
提供這一發(fā)明內(nèi)容以用簡(jiǎn)化的形式介紹以下在具體實(shí)施方式中進(jìn)一步描述的對(duì)概念的選擇。這一發(fā)明內(nèi)容沒(méi)有旨在于標(biāo)識(shí)要求保護(hù)的主題內(nèi)容的關(guān)鍵特征或者實(shí)質(zhì)特征,它也沒(méi)有旨在于用來(lái)限制要求保護(hù)的主題內(nèi)容的范圍。在附圖和以下描述中闡述了一個(gè)或者多個(gè)實(shí)現(xiàn)方式的細(xì)節(jié)。其它特征將從描述和附圖以及從權(quán)利要求變得清楚。
附圖說(shuō)明
圖1是用于將私有計(jì)算資源連接到外部服務(wù)的示例系統(tǒng)的框圖。
圖2是圖示了用于智能地分配在私有云上可用的計(jì)算資源以從在私有云外部的源執(zhí)行應(yīng)用的示例步驟的流程圖。
圖3是圖示了用于將私有計(jì)算資源連接到外部服務(wù)的示例廣義系統(tǒng)的框圖。
圖4A至圖4E是圖示了圖3的系統(tǒng)的示例操作的流程圖。
圖5A至圖5B是圖示了圖3的系統(tǒng)的示例操作的流程圖。
圖6是圖示了圖3的系統(tǒng)的示例操作的流程圖。
具體實(shí)施方式
I.引論
存在其中不能使用(或者可能由于各種原因而不希望使用)公有云而需要(或者以別的方式更希望有)現(xiàn)場(chǎng)、本地或者地區(qū)數(shù)據(jù)中心的許多計(jì)算場(chǎng)景。例如,這可以是在用于滿足對(duì)于數(shù)據(jù)或者運(yùn)行的程序的商業(yè)保密需要、對(duì)用戶的延時(shí)、對(duì)于定制硬件或者與從公有云不可用的定制系統(tǒng)對(duì)接的需要、法規(guī)要求(比如某些數(shù)據(jù)不能穿越的國(guó)界)等的各種場(chǎng)景中的情況。在本文中,這些現(xiàn)場(chǎng)、本地或者地區(qū)數(shù)據(jù)中心或者計(jì)算資源可以在這里被稱為“私有云”。私有云可能受限制,因?yàn)樗鼈儾荒軓呐c公有云相同的銷售經(jīng)濟(jì)獲益。例如,可以有在時(shí)特定地區(qū)沒(méi)有任何待服務(wù)于的需求時(shí)的時(shí)間(例如,在地區(qū)中的深夜),但是有對(duì)于公有云中的計(jì)算資源的需求。
在本文中,“云”可以是指多種計(jì)算概念,這些計(jì)算概念涉及可以通過(guò)通信網(wǎng)絡(luò)(比如因特網(wǎng))被連接的一個(gè)或者多個(gè)設(shè)備或者計(jì)算機(jī)。例如,“云計(jì)算”可以是指在網(wǎng)絡(luò)之上的分布式計(jì)算,并且可以涉及用于在多個(gè)連接的計(jì)算機(jī)上運(yùn)行程序或者應(yīng)用的能力。作為具體示例,這樣的分布式計(jì)算機(jī)系統(tǒng)可以包括企業(yè)建筑中的臺(tái)式個(gè)人計(jì)算機(jī)(PC)或者個(gè)人計(jì)算設(shè)備,這些臺(tái)式PC或者個(gè)人計(jì)算設(shè)備將擁有充分計(jì)算資源以在工作時(shí)間期間服務(wù)于它們的用戶,但是可能在用戶離開參加會(huì)議時(shí)或在工作時(shí)間之后空閑。
數(shù)據(jù)處理領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,這里討論的示例技術(shù)可以使用“云”或者任何其它遠(yuǎn)程設(shè)備(例如,遠(yuǎn)程服務(wù)器或者更簡(jiǎn)單類型的遠(yuǎn)程設(shè)備)而沒(méi)有脫離這里的討論的精神實(shí)質(zhì)。
根據(jù)這里討論的示例技術(shù),以上情形可以通過(guò)將私有云連接到公有云、從而使得私有云可以向公有云銷售它的未使用資源而被有利地化解。與可以通過(guò)智能電網(wǎng)技術(shù)向電力電網(wǎng)回售本地發(fā)電或者環(huán)境上收獲的能量有些相似地,如這里討論的示例智能云技術(shù)可以實(shí)現(xiàn)在有需求時(shí)向公有云回售可用的過(guò)量計(jì)算資源。
然而,在公有云可以使用私有云中的空閑資源之前存在待解決的難點(diǎn)。例如,每個(gè)私有云的網(wǎng)絡(luò)連通性和計(jì)算性能可能與公有云的網(wǎng)絡(luò)連通性和計(jì)算性能相差可變數(shù)量。例如,某個(gè)私有云性能特性與公有云比較可能明顯地下降并且可能不可接受用于服務(wù)于公有云可能服務(wù)于的所有需求類型。例如,數(shù)據(jù)存儲(chǔ)裝置可能要求私有云可能不能支持的連續(xù)可用性。例如,這里討論的彌補(bǔ)私有云限制或者使公有云消費(fèi)者的需求適應(yīng)私有云能力的示例技術(shù)可以有些被視為在公有云與私有云之間的“阻抗匹配”形式。
這里討論的示例技術(shù)可以有利地化解(至少)那些技術(shù)挑戰(zhàn)。例如,這里討論的技術(shù)可以有利地化解問(wèn)題,比如(1)向最優(yōu)私有云路由需求以用于在高性能與低成本之間的折衷,以及(2)隨著私有云可用性的動(dòng)態(tài)改變來(lái)保證可靠操作。
也可以存在其它挑戰(zhàn),比如保證私有云可以運(yùn)行和主控與為公有云開發(fā)的軟件相同的軟件。例如,對(duì)于一些實(shí)現(xiàn)方式,可以在私有云和公有云上使用允許為一個(gè)服務(wù)器集合編寫的軟件在任何其它服務(wù)器集合上運(yùn)行的適當(dāng)虛擬化平臺(tái)??梢赃\(yùn)用其它示例機(jī)制,比如在沒(méi)有向共有云回售容量時(shí)將它們的操作系統(tǒng)(OS)引導(dǎo)到私有使用模式中而在其它時(shí)間引導(dǎo)到共有云模式中的雙或者多引導(dǎo)機(jī)器。
例如,內(nèi)容遞送網(wǎng)絡(luò)(CDN)常規(guī)地已經(jīng)解決了向最近CDN節(jié)點(diǎn)路由需求的問(wèn)題,但是它們可能沒(méi)有考慮私有數(shù)據(jù)中心的可用性和性能的高可變性。例如,盡管最近(在網(wǎng)絡(luò)延遲方面)CDN節(jié)點(diǎn)(如果它具有待服務(wù)的內(nèi)容)可能對(duì)于客戶端是最優(yōu)的,但是最近私有云可能對(duì)于客戶端不是最優(yōu)的,例如,因?yàn)樵撍接性瓶赡墚?dāng)前不可用、可能沒(méi)有用于特定客戶端的目的的適當(dāng)計(jì)算資源(例如,網(wǎng)絡(luò)帶寬、存儲(chǔ)裝置等)或者可能沒(méi)有被預(yù)計(jì)對(duì)于特定客戶端的當(dāng)前需要的整個(gè)持續(xù)時(shí)間保持可用。
用于解決可靠性的先前解決方案可能對(duì)于私有云的可用性的動(dòng)態(tài)波動(dòng)沒(méi)有直接地起作用。例如,應(yīng)用可能要求存儲(chǔ)持久數(shù)據(jù)(例如,在電子商務(wù)應(yīng)用中保留的存貨)并且可能沒(méi)有對(duì)于這樣的數(shù)據(jù)總是可用的私有云。因此,如這里討論的那樣,示例可靠性機(jī)制可以被配置為支持在“智能云”設(shè)立中的私有云。
根據(jù)這里討論的示例技術(shù),示例系統(tǒng)架構(gòu)可以保證為了主控在暫時(shí)基礎(chǔ)上變得可用的私有云位置處的動(dòng)態(tài)地改變的工作量而需要的后端數(shù)據(jù)的可用性。
根據(jù)這里討論的示例技術(shù),示例技術(shù)可以發(fā)現(xiàn)當(dāng)前私有云可用性并且向當(dāng)前計(jì)算需求分配可用性。
另外,這里討論的示例機(jī)制和技術(shù)可以對(duì)于客戶的計(jì)算需要選擇性能最優(yōu)的私有云。例如,可以在屬性(比如計(jì)算吞吐量、網(wǎng)絡(luò)延時(shí)、網(wǎng)絡(luò)帶寬和/或存儲(chǔ)性能)方面定義這樣的最優(yōu)性能。
另外,這里討論的示例機(jī)制和技術(shù)可以在客戶的計(jì)算需要源于多個(gè)位置(例如,網(wǎng)站具有用于服務(wù)于位于世界的不同部分中的客戶端的計(jì)算需要)時(shí)選擇性能最優(yōu)的私有云。
另外,這里討論的示例技術(shù)可以在選擇最佳(或者最適合)的可用私有云以服務(wù)于當(dāng)前計(jì)算需求時(shí)折衷成本和性能。
另外,這里討論的示例技術(shù)可以聯(lián)合地優(yōu)化多個(gè)計(jì)算負(fù)荷向多個(gè)可用私有云的分配以優(yōu)化全局度量,比如向客戶端的99%賦予的性能、總收入或者其它度量。
另外,這里討論的示例技術(shù)可以隨著私有云可用性或者其它成本改變而動(dòng)態(tài)地推斷負(fù)荷遷移要求和遷移工作量。
另外,這里討論的示例居間拍賣機(jī)制和技術(shù)可以匹配客戶的計(jì)算需要與由各種可用私有云賦予的最佳(或者如由示例技術(shù)確定的最適合或者最優(yōu))的性能和價(jià)格折衷。
另外,這里討論的示例技術(shù)可以提供用于在它們可以被分讓(例如,可用于由在私有云外部的用戶使用)時(shí)的時(shí)間提供回私有云的備用私有計(jì)算資源的機(jī)制,私有計(jì)算資源以性能和/或標(biāo)準(zhǔn)兼容方式回到公有云。
另外,這里討論的示例技術(shù)可以提供用于選擇特定私有云的集合以主控特定應(yīng)用并且其次選擇該私有云集合的子集以服務(wù)于從特定應(yīng)用的客戶端接收的一個(gè)或者多個(gè)特定請(qǐng)求的機(jī)制。例如,可以智能地選擇私有云集合以主控NETFLIX,并且然后可以智能地選擇該集合的相應(yīng)的子集以服務(wù)于用于查看電影的相應(yīng)的個(gè)別NETFLIX客戶端請(qǐng)求。
圖1是用于將私有(例如,預(yù)置的)計(jì)算資源連接到外部服務(wù)的示例系統(tǒng)100的框圖。如在圖1的示例中所示,私有計(jì)算設(shè)備102代表示例企業(yè)或者個(gè)人計(jì)算設(shè)備(例如,現(xiàn)場(chǎng)數(shù)據(jù)中心、在服務(wù)器房間中的服務(wù)器、辦公個(gè)人計(jì)算機(jī)(PC)、膝上型、平板、家用PC等),該計(jì)算設(shè)備當(dāng)前具有空閑計(jì)算容量以服務(wù)于除了來(lái)自它的本地用戶的需求之外的任何計(jì)算需求。系統(tǒng)100中的私有計(jì)算設(shè)備102的數(shù)目可以隨時(shí)間改變并且可以在特定時(shí)間為零。在那些設(shè)備中的每個(gè)設(shè)備可用的備用容量的數(shù)量可以時(shí)間變化并且可以在特定時(shí)間為零。在本文中,私有計(jì)算設(shè)備102可以被稱為“私有云”。
如在圖1的示例中所示,公有云104代表專用于服務(wù)于客戶端108希望的應(yīng)用的云基礎(chǔ)結(jié)構(gòu)。它的設(shè)計(jì)被優(yōu)化用于這樣的使用并且在一些實(shí)現(xiàn)方式中可以沒(méi)有本地用戶。在公有云104中可用的計(jì)算容量也可以隨時(shí)間變化(例如,更多容量在用于向服務(wù)器上電的太陽(yáng)電池板輸出較高時(shí)可用)。例如,可用容量可以在其中使用私有計(jì)算設(shè)備102來(lái)服務(wù)于所有需求(或者基本上所有需求)的系統(tǒng)中為零(或者基本上接近零)。在一些實(shí)現(xiàn)方式中,公有云104基礎(chǔ)結(jié)構(gòu)本身無(wú)需被局限于一個(gè)位置,而是可以包括在多個(gè)位置的多個(gè)數(shù)據(jù)中心或者服務(wù)器。
在圖1的示例中,客戶端108可以代表其計(jì)算需求需要由應(yīng)用軟件110服務(wù)的用戶。例如,對(duì)于大數(shù)據(jù)分析應(yīng)用,客戶端108可以是希望運(yùn)行數(shù)據(jù)分析作業(yè)并且因此需要計(jì)算資源的財(cái)務(wù)分析公司。作為另一示例,對(duì)于web應(yīng)用,客戶端108可以是希望訪問(wèn)由應(yīng)用110服務(wù)的web內(nèi)容的網(wǎng)站用戶。例如,對(duì)于云游戲應(yīng)用,客戶端108可以是希望玩該游戲的玩家。例如,對(duì)于云視頻流傳輸應(yīng)用,客戶端108可以是希望觀看電影、電視播映、視頻等的查看者。例如,用于具體應(yīng)用軟件110的客戶端108可以在一個(gè)位置中或者可以跨多個(gè)位置被展開。
在圖1的示例中,應(yīng)用軟件110代表客戶端108希望使用的應(yīng)用(例如,網(wǎng)站、web服務(wù)、批計(jì)算引擎、游戲服務(wù)器等)。盡管圖1為了以下討論的簡(jiǎn)化而示出了僅一個(gè)應(yīng)用110,但是數(shù)據(jù)處理領(lǐng)域技術(shù)人員將理解,這里討論的示例技術(shù)也適用于系統(tǒng)100中的多個(gè)應(yīng)用110。另外,對(duì)于這里討論的一些實(shí)現(xiàn)方式,假設(shè)可以在可用私有計(jì)算設(shè)備102的至少子集上主控應(yīng)用軟件110。例如,應(yīng)用軟件110可以沒(méi)有存在于每個(gè)私有計(jì)算設(shè)備102處,并且因此可以在已經(jīng)做出使用適當(dāng)私有計(jì)算設(shè)備(或者多個(gè)設(shè)備)的決定之后被復(fù)制到該具體設(shè)備(或者多個(gè)設(shè)備)。
根據(jù)這里討論的示例技術(shù),如果應(yīng)用軟件110要求在不同私有計(jì)算設(shè)備102上執(zhí)行任何修改,則可以使軟件110的不同版本可用,或者可以使用用于做出那些修改的自動(dòng)化機(jī)制。例如,公有云104可以提供ASP.NET平臺(tái),并且可以使用ASP.NET來(lái)編寫軟件應(yīng)用110。然而,如果私有計(jì)算設(shè)備102沒(méi)有提供ASP.NET平臺(tái)而是僅具有WINDOWS OS而沒(méi)有ASP.NET,則自動(dòng)化技術(shù)可以用來(lái)與ASP.NET運(yùn)行時(shí)間和庫(kù)一起封裝應(yīng)用,從而使得組合的封裝可以在基于WINDOWS OS的私有計(jì)算設(shè)備102上運(yùn)行。如果希望或者需要,則也可以與OS一起封裝應(yīng)用。在一些實(shí)例中,私有云運(yùn)營(yíng)商可以添加對(duì)于公有云使用模式而需要(或者希望)的硬件,其中這樣的硬件未被私有云中的任何本地應(yīng)用使用(例如,具有高級(jí)糾錯(cuò)的安全協(xié)處理器或者存儲(chǔ)器)。
在圖1的示例中,app數(shù)據(jù)122代表應(yīng)用軟件112需要執(zhí)行的數(shù)據(jù)。私有計(jì)算設(shè)備102中的一些或者所有私有計(jì)算設(shè)備也可以具有用于存儲(chǔ)app數(shù)據(jù)112的能力,并且它們中的一些即使在私有設(shè)備102本身不可用(沒(méi)有備用空閑容量)以服務(wù)于需求時(shí)仍然可以能夠維持這一數(shù)據(jù)112。例如,這可以幫助如果數(shù)據(jù)112先前被傳送給私有設(shè)備102則避免在它被選擇用于服務(wù)于計(jì)算需求時(shí)必須向它傳送數(shù)據(jù)112。例如,在私有設(shè)備102處的app數(shù)據(jù)存儲(chǔ)裝置112可以不存在(或者被省略),并且在這樣的情況下,應(yīng)用軟件110可以使用公有云104(例如,該公有云轉(zhuǎn)而可以使用其它私有云)以用于它的數(shù)據(jù)存儲(chǔ)需要,并且僅使用在私有設(shè)備102處的計(jì)算資源。作為另一示例,在私有設(shè)備102處的app數(shù)據(jù)112可能過(guò)期,并且在這樣的情況下可以執(zhí)行更新。在任何情況下,使用在私有設(shè)備102處存儲(chǔ)的app數(shù)據(jù)112可以有利地幫助減少網(wǎng)絡(luò)要求。
在圖1的示例中,資源分配器114代表向在公有云104和私有云102中的各種可用計(jì)算服務(wù)提供商分配計(jì)算需求(來(lái)自客戶端108)的示例邏輯。例如,可以在公有云104處、在分離的服務(wù)器處或者作為在多個(gè)私有云和公有云104處運(yùn)行的分布式應(yīng)用主控資源分配器114。
作為網(wǎng)絡(luò)部件,圖1也描繪了三個(gè)示例網(wǎng)絡(luò)鏈路:(1)客戶端到私有云(私有計(jì)算設(shè)備)(116)、(2)客戶端到公有云(118),以及(3)私有云到公有云(120)。這些網(wǎng)絡(luò)鏈路的相對(duì)性能可以對(duì)于不同客戶端108和私有云設(shè)備102而不同。例如,如果客戶端108正使用寬帶因特網(wǎng)連接,并且私有云具有到因特網(wǎng)的企業(yè)網(wǎng)絡(luò)連接(例如,T1線路),而公有云104具有到因特網(wǎng)的核心網(wǎng)絡(luò)連接,則客戶端108可以具有到公有云104的“最佳”連接和到私有云的略微地較差的連接。在這一示例中,可用于私有云的用于向本身傳送應(yīng)用軟件110和app數(shù)據(jù)112的網(wǎng)絡(luò)鏈路可以對(duì)于許多應(yīng)用很快。作為另一示例,如果客戶端108是被連接到機(jī)場(chǎng)熱點(diǎn)的膝上型計(jì)算機(jī),私有云設(shè)備102是被連接到相同機(jī)場(chǎng)熱點(diǎn)的膝上型計(jì)算機(jī),而公有云104與前例相同,則客戶端108很可能具有到私有云的較佳網(wǎng)絡(luò)鏈路(局域網(wǎng))而到公有云104的鏈路較慢。在這一情況下的私有云也可以具有相對(duì)慢的連接以向本身傳送應(yīng)用軟件110和app數(shù)據(jù)112。
在以下討論中,呈現(xiàn)了用于根據(jù)客戶端需求來(lái)確定在私有云資源與外部資源之間的連接的若干示例技術(shù)。這樣的示例技術(shù)可以包括(至少)基于發(fā)現(xiàn)的技術(shù)、基于性能的技術(shù)、基于性能和成本的技術(shù)、多應(yīng)用技術(shù)以及動(dòng)態(tài)分配技術(shù)。
例如,基于發(fā)現(xiàn)的技術(shù)的目標(biāo)是使可用備用容量可由需要計(jì)算服務(wù)(例如,這些服務(wù)可能沒(méi)有直接地考慮性能或者成本)的客戶端108使用。這樣的基于發(fā)現(xiàn)的技術(shù)的焦交點(diǎn)是發(fā)現(xiàn)可用資源。
為了備用私有云容量可由客戶端108使用,備用容量的存在為客戶端所知,并且備用容量具有充分計(jì)算資源(例如,CPU、網(wǎng)絡(luò)、存儲(chǔ)裝置等)以服務(wù)于客戶端需要;存在從客戶端108到備用容量的網(wǎng)絡(luò)鏈路(例如,在物理連通性和用于穿越相關(guān)防火墻的權(quán)限方面);并且在考慮的私有云上主控應(yīng)用軟件。
根據(jù)這里討論的示例技術(shù),可以使示例系統(tǒng)100能夠滿足這些條件,例如,步驟,比如如圖2中示出和如以下討論的發(fā)現(xiàn)、選擇和路由。
圖2是圖示了用于智能地分配在私有云上可用的計(jì)算資源以從在私有云外部的源執(zhí)行應(yīng)用的示例步驟的流程圖200。
在本文中,“智能地”是指關(guān)于選擇自愿地被私有云變成可用的計(jì)算資源做出“智能”選擇。例如,如果公有服務(wù)(例如,AMAZON、NETFLIX等)希望具有性能要求的主機(jī)應(yīng)用(例如,以高效和高性能方式向客戶用流傳輸電影),則公有服務(wù)希望保證以智能方式使用“自愿”資源(例如,來(lái)自私有主控實(shí)體)(例如,不是簡(jiǎn)單地連接它們并且在它們上運(yùn)行軟件,而是實(shí)際上根據(jù)應(yīng)用需要什么,關(guān)于哪個(gè)志愿者的資源為公有服務(wù)的相應(yīng)的客戶提供用于應(yīng)用的執(zhí)行的最佳或者最優(yōu)性能做出智能選擇)。因此,“智能”涉及在為相應(yīng)的應(yīng)用選擇最適合資源時(shí)的示例技術(shù)。例如,如果應(yīng)用的客戶端位于西雅圖內(nèi)并且捐助計(jì)算機(jī)恰好位于西雅圖以外,則可能確定在網(wǎng)絡(luò)接入上的“良好相配”,但是如果應(yīng)用需要大量存儲(chǔ)裝置并且捐助計(jì)算機(jī)沒(méi)有應(yīng)用需要的存儲(chǔ)裝置類型(例如,捐助計(jì)算機(jī)具有更多存儲(chǔ)器但是更少硬驅(qū)動(dòng)空間,可是應(yīng)用需要更多硬驅(qū)動(dòng)空間而不是這么多的存儲(chǔ)器),則捐助計(jì)算機(jī)可能不是用于應(yīng)用的要求的最優(yōu)匹配。
如在圖2的示例中所示,在202(發(fā)現(xiàn))處,客戶端已經(jīng)知道存在可以服務(wù)于希望的應(yīng)用軟件的至少一個(gè)主機(jī)。例如,這可以是公有云,但是可以是任何服務(wù)器。客戶端的知道可以基于用于客戶端希望訪問(wèn)的應(yīng)用的DNS(域名服務(wù)器)記錄或者通過(guò)用于共享這樣的信息的其它通道。例如,如果客戶端希望訪問(wèn)MICROSOFT.COM,則客戶端可以查找現(xiàn)有DNS服務(wù)器以確定MICROSOFT.COM應(yīng)用可用的網(wǎng)絡(luò)地址。在這一示例中,在204處,客戶端在這一第一已知網(wǎng)絡(luò)地址處聯(lián)系應(yīng)用。
在206(選擇)處,應(yīng)用接收這一客戶端請(qǐng)求并且向資源分配器路由它。資源分配器從具有備用容量可用的每個(gè)私有云接收詳述可用容量的性質(zhì)的消息。資源分配器也維護(hù)關(guān)于與那些私有云的網(wǎng)絡(luò)連通和防火墻規(guī)則的信息。
在208處,資源分配器使用這一信息以選擇滿足由應(yīng)用軟件指定的資源要求的私有和/或公有云計(jì)算資源。它檢查以基于網(wǎng)絡(luò)配置和防火墻規(guī)則來(lái)確定客戶端是否可以連接到這些資源。例如,如果私有云不允許位于敘利亞內(nèi)的客戶端連接到它,并且客戶端請(qǐng)求已經(jīng)在敘利亞客戶端處被始發(fā),則將不考慮該私有云。
在滿足客戶端要求的計(jì)算資源(公有和私有)之中選擇一個(gè)。這一選擇可以是任意的或者可以基于如以下進(jìn)一步討論的基于性能和成本的技術(shù)。
在210(路由)處,一旦選擇了服務(wù)位置,就向它路由客戶端請(qǐng)求。如果這一服務(wù)位置尚沒(méi)有應(yīng)用軟件和app數(shù)據(jù)以服務(wù)于請(qǐng)求,則例如從公有云或者附近的私有云首先獲得這樣的軟件和數(shù)據(jù)(例如,使用對(duì)等聯(lián)網(wǎng)方法)。然后處理請(qǐng)求并且計(jì)算響應(yīng)。
如果應(yīng)用軟件希望,則來(lái)自該位置的客戶端響應(yīng)指示它自己的地址,因此可以向這一選擇的服務(wù)器直接地路由來(lái)自客戶端的后續(xù)請(qǐng)求。向客戶端發(fā)送響應(yīng)。
例如,基于性能的技術(shù)可以優(yōu)化在基于發(fā)現(xiàn)的技術(shù)中的選擇步驟。在選擇計(jì)算資源以服務(wù)于客戶端時(shí),這些技術(shù)可以在做出選擇時(shí)考慮多個(gè)性能標(biāo)準(zhǔn)。例如,性能標(biāo)準(zhǔn)可以包括因素,比如用于第一響應(yīng)的時(shí)間、對(duì)多個(gè)請(qǐng)求的平均響應(yīng)時(shí)間和/或云的可靠性。
例如,用于第一響應(yīng)的時(shí)間可以包括為了選擇的私有或者公有云計(jì)算對(duì)來(lái)自客戶端的第一請(qǐng)求的響應(yīng)而包括的時(shí)間。例如,這可以包括用于獲得在該位置處的應(yīng)用軟件和app數(shù)據(jù)的時(shí)間。
例如,對(duì)多個(gè)請(qǐng)求的平均響應(yīng)時(shí)間可以包括為了服務(wù)于來(lái)自客戶端的所有請(qǐng)求而平均涉及的時(shí)間。例如,一旦已經(jīng)計(jì)算了第一響應(yīng),這就可以依賴于選擇的服務(wù)器位置的計(jì)算能力、到客戶端的網(wǎng)絡(luò)延時(shí)和在這一位置處可用的app數(shù)據(jù)的小部分。
例如,在考慮云的可靠性時(shí),一些私有云可能經(jīng)歷比其它私有云更多的故障。
附加性能標(biāo)準(zhǔn)可以對(duì)于某些應(yīng)用是相關(guān)的,比如優(yōu)選在某些地理區(qū)域以外主控的私有云位置、使用具體商標(biāo)的硬件的私有云等??梢栽谝韵屡c以上討論相似地討論的示例技術(shù)中包括這樣的因素。數(shù)據(jù)處理領(lǐng)域技術(shù)人員將理解,可以使用許多其它因素而沒(méi)有脫離這里的討論的精神實(shí)質(zhì);然而,這里為了這里討論清楚而討論了以上選擇的因素。
另外,數(shù)據(jù)處理領(lǐng)域技術(shù)人員將理解,在性能標(biāo)準(zhǔn)上“最佳”(例如,被確定為最優(yōu))的云可能在其它標(biāo)準(zhǔn)上不是“最佳”(例如,被確定為最優(yōu))。例如,與客戶端很近的云位置可以具有對(duì)多個(gè)請(qǐng)求的最有利(如根據(jù)這里討論的示例技術(shù)被確定)的平均延時(shí),但是這一云位置可能沒(méi)有供應(yīng)用軟件和app數(shù)據(jù)開始,并且獲得那些項(xiàng)目可能涉及用于第一響應(yīng)的顯著地長(zhǎng)的時(shí)間。具有所有所需應(yīng)用軟件和app數(shù)據(jù)元素的另一云位置可以將要變成離線,并且因此即使它可以提供用于第一響應(yīng)的“良好的”時(shí)間(如根據(jù)這里討論的示例技術(shù)被確定),也仍然可能沒(méi)有服務(wù)于后續(xù)請(qǐng)求、因此涉及選擇備選位置和引起“更差”(例如,如根據(jù)這里討論的示例技術(shù)確定的次優(yōu))的平均請(qǐng)求延時(shí)。
鑒于以上問(wèn)題,基于性能的示例方法可以如以下討論的那樣操作。
向每個(gè)性能標(biāo)準(zhǔn)指派定量分?jǐn)?shù)。通過(guò)取用于個(gè)別性能度量的所有分?jǐn)?shù)的加權(quán)求和來(lái)計(jì)算組合的分?jǐn)?shù)。選擇產(chǎn)生最高分?jǐn)?shù)的云位置。數(shù)據(jù)處理領(lǐng)域技術(shù)人員將理解,可以使用任何可用多標(biāo)準(zhǔn)優(yōu)化技術(shù)來(lái)執(zhí)行對(duì)加權(quán)分?jǐn)?shù)的最大化。例如,用于每個(gè)因素的權(quán)值依賴于應(yīng)用和客戶端偏好??梢栽趤?lái)自應(yīng)用和客戶端的這樣的信息不可用時(shí)使用默認(rèn)值。
另外,基于性能和成本的示例方法可以如以下討論的那樣操作。
例如,這些方法還可以增強(qiáng)先前呈現(xiàn)的方法以附加地考慮計(jì)算資源和帶寬的成本。例如,不是所有私有云可以在相同價(jià)格可用。作為示例,一些云可能由于它們的位置而具有更高帶寬成本、因此可能成本更多。例如,一些其它云可能由于在該時(shí)間和位置的能量定價(jià)而具有更高能量成本,從而同樣導(dǎo)致更高成本。例如,一些云可以具有向私有云所有者賦予特定價(jià)值的本地工作量,然后僅如果賦予的價(jià)格高于本地價(jià)值才可以使私有云可用于提出的系統(tǒng)。因此,每個(gè)私有云可以具有用于賦予它的資源以服務(wù)于當(dāng)前計(jì)算需求的固有成本。以下更具體討論示例技術(shù)。
例如,用于第i個(gè)私有云賦予它的計(jì)算資源的成本因素可以被表示為PvtCost(i),其中不同私有云(例如,被表示為第1私有云、第2私有云、…第i個(gè)私有云、…)可以具有它們?cè)敢鈪⑴c智能云的不同成本。例如,從公有云客戶端到第i個(gè)私有云的網(wǎng)絡(luò)延時(shí)可以被表示為L(zhǎng)at(i)。另外,第i個(gè)私有云的示例服務(wù)時(shí)間(例如,基于它的計(jì)算、存儲(chǔ)器、存儲(chǔ)裝置和其它資源的組成)可以被表示為Svc(i)。給定在第i個(gè)私有云處存儲(chǔ)的數(shù)據(jù)的當(dāng)前狀態(tài),示例啟動(dòng)成本(例如,用于第一響應(yīng)的時(shí)間)可以被表示為Stp(i)。然后,示例加權(quán)成本可以被表達(dá)為:
C(i)=w1*PvtCost(i)+w2*Lat(i)+w3*Svc(i)+W4*Stp(i)
在許多情形中,可能沒(méi)有確定性地知道實(shí)際網(wǎng)絡(luò)延時(shí)、服務(wù)時(shí)間等,并且可以使用作為具體參數(shù)的概率分布的第一瞬間而統(tǒng)計(jì)地計(jì)算的示例期望值:
E[C(i)]=w1*E[PvtCost(i)]+w2*E[Lat(i)]+w3*E[Svc(i)]+W4*E[Stp(i)]
然后可以將示例優(yōu)化問(wèn)題用公式表示為:
選擇受制于由客戶端指定的性能和成本約束(如以下所示)使E[C(i)]最小化的(i):
約束1:PvtCost(i)<=min(PubCost,ClientLimit),其中PubCost表示從公有云獲得資源的當(dāng)前成本并且如果沒(méi)有資源在公有云中可用則可以被設(shè)置成無(wú)窮值(或者其它適當(dāng)值),并且ClientLimit表示客戶端愿意支付的最大成本,
約束2:Lat(i)+Svc(i)<=ClientPerfLatencyLimit,其中ClientPerLatencyLimit表示由客戶端指定的示例最差情況性能限制(例如,從客戶端獲得或者接收),以及
約束3:Stp(i)<=ClientStartupLimit,其中ClientStartupLimit表示在設(shè)立時(shí)間可接受的示例最大延遲值。
以上所示的示例約束中的一些或者所有約束可以在可以愿意接受任何性能而最小化成本或者可以在任何可用成本想要他們的所需性能水平的特定客戶端的情況下不存在。
除了成本之外,私有云的所有者也可以使他們的價(jià)格適應(yīng)需求。例如,可以向賦予比任何其它競(jìng)爭(zhēng)云更高的性能的私有云賦予溢價(jià)(例如,明顯地高于其它競(jìng)爭(zhēng)云)。作為另一示例,價(jià)格可以依賴于客戶端位置和要求。例如,與客戶端需求很接近地匹配的云的所有者可以報(bào)價(jià)更高價(jià)格,而沒(méi)有那么適當(dāng)(例如,由于遠(yuǎn)離位置而具有更高延時(shí))的云的所有者可以賦予更低價(jià)格(例如,低于其它競(jìng)爭(zhēng)云)。
基于性能和成本的示例方法確定用于應(yīng)用的計(jì)算需求向可用云的最優(yōu)分配。基于云價(jià)格和應(yīng)用必需(例如,具有可用)為云資源支付的預(yù)算執(zhí)行匹配。示例技術(shù)(比如多標(biāo)準(zhǔn)優(yōu)化、自動(dòng)化拍賣和基于規(guī)則的分配)可以用來(lái)執(zhí)行匹配。
另外,示例多應(yīng)用方法可以如以下討論的那樣操作。
在一些場(chǎng)景中,獨(dú)立地對(duì)待每個(gè)應(yīng)用可以生成次優(yōu)解決方案或者留下一些應(yīng)用被服務(wù)不夠。如這里討論的那樣,示例多應(yīng)用方法與以上討論的基于性能和成本的方法相似操作,但是它一次考慮多個(gè)應(yīng)用(例如,一起考慮)。因此,使用的匹配技術(shù)(比如優(yōu)化解算器、拍賣或者基于規(guī)則的系統(tǒng))除了多個(gè)可用云之外還包括來(lái)自多個(gè)應(yīng)用客戶端的要求。
另外,示例動(dòng)態(tài)分配方法可以如以下討論的那樣操作。
在一些場(chǎng)景中,沒(méi)有分配私有云可以可行以對(duì)計(jì)算負(fù)荷服務(wù)它希望的服務(wù)長(zhǎng)度,因?yàn)闆](méi)有單個(gè)私有云可以可用于整個(gè)持續(xù)時(shí)間。例如,在這樣的場(chǎng)景中,可以動(dòng)態(tài)地修改分配以使用隨時(shí)間變得可用的新可用云資源,并且釋放不再可用的先前分配(例如,“更舊”分配)的資源。
在這一示例技術(shù)中,計(jì)算需求被時(shí)隙化成短時(shí)間持續(xù)時(shí)間(例如,根據(jù)私有云運(yùn)營(yíng)商聲明它的可用性的時(shí)隙持續(xù)時(shí)間而為1分鐘或者30分鐘)。為每個(gè)時(shí)隙列舉來(lái)自客戶端和應(yīng)用的性能和成本約束,并且動(dòng)態(tài)優(yōu)化方案(比如動(dòng)態(tài)優(yōu)化、Viterbi算法或者其它多時(shí)隙優(yōu)化方法)用來(lái)隨時(shí)間優(yōu)化分配。
例如,Viterbi算法是用于發(fā)現(xiàn)隱藏狀態(tài)的最可能序列(Viterbi路徑)的動(dòng)態(tài)編程算法,該序列產(chǎn)生觀測(cè)的事件的序列(例如,在Markov信息源和隱藏Markov模型的情境中)。
除了用給定的成本或者性能約束工作之外,公有云也可以希望優(yōu)化向?qū)⑺鼈兊馁Y源自愿給公有云的私有云賦予的補(bǔ)償?;诳蛻舳说男阅芎统杀炯s束,示例優(yōu)化技術(shù)然后可以用來(lái)計(jì)算資源隨時(shí)間向私有云賦予的最佳(例如,最優(yōu)、最希望的)補(bǔ)償。示例優(yōu)化目標(biāo)因此可以從最小化客戶端成本改變成最大化私有云補(bǔ)償。使用以上定義的變量,問(wèn)題可以用被表示為:
選擇(i)以受制于由客戶端指定的性能和成本約束最大化PvtCost(i)。
可以在T個(gè)時(shí)隙的時(shí)間范圍內(nèi)執(zhí)行以上優(yōu)化以最大化合計(jì)補(bǔ)償或者在私有云之中的公平,這可以被表示為:
在每個(gè)時(shí)隙(t)選擇(i)以隨時(shí)間t=1,…,T最大化PvtCost(i)的最小值。
數(shù)據(jù)處理領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,許多其它類型的技術(shù)可以用于分析和優(yōu)化對(duì)應(yīng)用的執(zhí)行而沒(méi)有脫離這里的討論的精神實(shí)質(zhì)。
數(shù)據(jù)處理領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,可以有用于實(shí)現(xiàn)如這里討論的那樣匹配可用私有計(jì)算資源和與來(lái)自應(yīng)用的外部請(qǐng)求關(guān)聯(lián)的計(jì)算需求的許多方式而沒(méi)有脫離這里的討論的精神實(shí)質(zhì)。
II.示例操作環(huán)境
這里討論的特征被提供作為可以用數(shù)據(jù)處理領(lǐng)域技術(shù)人員可以理解的許多不同方式實(shí)施的示例實(shí)施例,而沒(méi)有脫離這里的討論的精神實(shí)質(zhì)。這樣的特征將僅被解釋為示例實(shí)施例特征,而沒(méi)有旨在于被解釋為僅限于那些具體描述。
如這里進(jìn)一步討論的那樣,圖3是用于將私有計(jì)算資源連接到外部服務(wù)的廣義系統(tǒng)300的框圖。如圖所示的廣義化系統(tǒng)300僅旨在于舉例說(shuō)明可以在如這里討論的示例技術(shù)中包括的各種示例功能和/或邏輯,而沒(méi)有旨在于在各種硬件和/或軟件配置中的實(shí)現(xiàn)方式方面限制。
例如,系統(tǒng)300可以包括存儲(chǔ)用于由至少一個(gè)處理器執(zhí)行的指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。如圖3中所示,系統(tǒng)300可以包括設(shè)備302,設(shè)備302包括至少一個(gè)處理器304。設(shè)備302可以包括機(jī)會(huì)性資源管理器306,機(jī)會(huì)性資源管理器306可以包括資源描述獲取模塊308,資源描述獲取模塊308可以獲得對(duì)用于執(zhí)行與多個(gè)動(dòng)態(tài)地改變的工作量關(guān)聯(lián)的一個(gè)或者多個(gè)應(yīng)用312的一個(gè)或者多個(gè)計(jì)算資源要求的描述310??梢栽诠械乜捎玫姆?wù)314中包括資源描述獲取模塊308。
例如,資源描述獲取模塊308可以獲得對(duì)用于執(zhí)行與公有地可用的服務(wù)314關(guān)聯(lián)的應(yīng)用312的一個(gè)或者多個(gè)計(jì)算資源要求的描述310。
根據(jù)一個(gè)示例實(shí)施例,機(jī)會(huì)性資源管理器306或者它的一個(gè)或者多個(gè)部分可以包括可以如以下討論的那樣在有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)的可執(zhí)行指令。根據(jù)一個(gè)示例實(shí)施例,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以包括任何數(shù)目的存儲(chǔ)設(shè)備和任何數(shù)目的存儲(chǔ)介質(zhì)類型、包括分布式設(shè)備。
在本文中,“處理器”可以包括被配置為處理與處理系統(tǒng)關(guān)聯(lián)的指令的單個(gè)處理器或者多個(gè)處理器。處理器因此可以包括并行和/或以分布式方式處理指令的一個(gè)或者多個(gè)處理器。雖然在圖3中將設(shè)備處理器304描繪為在機(jī)會(huì)性資源管理器306外部,但是數(shù)據(jù)處理領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,設(shè)備處理器304可以被實(shí)施為單個(gè)部件和/或?yàn)榭梢晕挥跈C(jī)會(huì)性資源管理器306的內(nèi)部或者外部和/或是它的單元中的任何單元的分布式單元。
例如,系統(tǒng)300可以包括一個(gè)或者多個(gè)處理器304。例如,系統(tǒng)300可以包括存儲(chǔ)可由一個(gè)或者多個(gè)處理器304執(zhí)行的指令的至少一個(gè)有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可執(zhí)行指令被配置為使得至少一個(gè)計(jì)算裝置(例如,數(shù)據(jù)處理裝置)執(zhí)行如這里討論的那樣與在系統(tǒng)300中包括的各種示例部件關(guān)聯(lián)的操作。例如,可以在至少一個(gè)計(jì)算裝置中包括一個(gè)或者多個(gè)處理器304。數(shù)據(jù)處理領(lǐng)域技術(shù)人員將理解,存在可以根據(jù)這里的討論而被配置的許多處理器和計(jì)算裝置配置,而沒(méi)有脫離這里的討論的精神實(shí)質(zhì)。
在本文中,“部件”可以是指可以被配置為在硬件的輔助下執(zhí)行某些操作的可執(zhí)行指令或者硬件??梢栽诓考噶罱M內(nèi)包括或者可以在多于一組內(nèi)分布這樣的指令。例如,可以在與第二部件(或者更多部件)的操作關(guān)聯(lián)的一組指令中包括與第一部件的操作關(guān)聯(lián)的一些指令。例如,這里的“部件”可以是指配置具有如下功能的計(jì)算實(shí)體類型,該功能可以由可以位于單個(gè)實(shí)體中的或者可以在多個(gè)實(shí)體內(nèi)展開或者分布的并且可以與其它部件關(guān)聯(lián)的指令和/或硬件重疊的可執(zhí)行指令實(shí)施。在本文中,“可執(zhí)行”指令是指被具體地配置用于由一個(gè)或者多個(gè)硬件設(shè)備執(zhí)行的指令而不是指軟件本身。
根據(jù)一個(gè)示例實(shí)施例,可以與一個(gè)或者多個(gè)用戶設(shè)備關(guān)聯(lián)地實(shí)施機(jī)會(huì)性資源管理器306。例如,機(jī)會(huì)性資源管理器306可以如以下進(jìn)一步討論的那樣與一個(gè)或者多個(gè)服務(wù)器通信。
例如,實(shí)體貯存庫(kù)316可以包括一個(gè)或者多個(gè)數(shù)據(jù)庫(kù),并且可以經(jīng)由數(shù)據(jù)庫(kù)接口部件318被訪問(wèn)。數(shù)據(jù)處理領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,存在用于存儲(chǔ)這里討論的貯存庫(kù)信息的許多技術(shù),比如各種類型的數(shù)據(jù)庫(kù)配置(例如,關(guān)系數(shù)據(jù)庫(kù)、分級(jí)數(shù)據(jù)庫(kù)、分布式數(shù)據(jù)庫(kù))和非數(shù)據(jù)庫(kù)配置。
根據(jù)一個(gè)示例實(shí)施例,機(jī)會(huì)性資源管理器306可以包括可以例如存儲(chǔ)用于機(jī)會(huì)性資源管理器306的中間數(shù)據(jù)的存儲(chǔ)器320。在本文中,“存儲(chǔ)器”可以包括被配置為存儲(chǔ)數(shù)據(jù)和/或指令的單個(gè)存儲(chǔ)器設(shè)備或者多個(gè)存儲(chǔ)器設(shè)備。另外,存儲(chǔ)器320可以跨越多個(gè)分布式存儲(chǔ)設(shè)備。
根據(jù)一個(gè)示例實(shí)施例,用戶接口部件322可以管理在用戶324與機(jī)會(huì)性資源管理器306之間的通信。用戶324可以與可以關(guān)聯(lián)于顯示器328和/或其它輸入/輸出設(shè)備的接收設(shè)備326關(guān)聯(lián)。例如,顯示器328可以被配置為經(jīng)由內(nèi)部設(shè)備總線通信或者經(jīng)由至少一個(gè)網(wǎng)絡(luò)連接來(lái)與接收設(shè)備326通信。
根據(jù)一個(gè)示例實(shí)施例,顯示器328可以被實(shí)施為平面屏幕顯示器、打印形式的顯示器、二維顯示器、三維顯示器、靜態(tài)顯示器、移動(dòng)顯示器、感測(cè)顯示器(比如觸覺(jué)輸出、音頻輸出和用于與用戶(例如,用戶324)通信的任何其它形式的輸出)。
根據(jù)一個(gè)示例實(shí)施例,機(jī)會(huì)性資源管理器306可以包括網(wǎng)絡(luò)通信部件330,網(wǎng)絡(luò)通信部件330可以管理在機(jī)會(huì)性資源管理器306與可以經(jīng)由至少一個(gè)網(wǎng)絡(luò)332與機(jī)會(huì)性資源管理器306通信的其它實(shí)體之間的網(wǎng)絡(luò)通信。例如,網(wǎng)絡(luò)332可以包括以下各項(xiàng)中的至少一項(xiàng):因特網(wǎng)、至少一個(gè)無(wú)線網(wǎng)絡(luò)或者至少一個(gè)有線網(wǎng)絡(luò)。例如,網(wǎng)絡(luò)332可以包括蜂窩網(wǎng)絡(luò)、無(wú)線電網(wǎng)絡(luò)或者可以支持傳輸用于機(jī)會(huì)性資源管理器306的數(shù)據(jù)的任何類型的網(wǎng)絡(luò)。例如,網(wǎng)絡(luò)通信部件330可以管理在機(jī)會(huì)性資源管理器306與接收設(shè)備326之間的網(wǎng)絡(luò)通信。例如,網(wǎng)絡(luò)通信部件330可以管理在用戶接口部件322與接收設(shè)備326之間的網(wǎng)絡(luò)通信。
資源分配器340可以通過(guò)匹配一個(gè)或者多個(gè)計(jì)算資源要求與在公有地可用的服務(wù)314外部和從公有地可用的服務(wù)314分離的一個(gè)或者多個(gè)私有云344a、344b的暫時(shí)地可用的計(jì)算資源來(lái)從一個(gè)或者多個(gè)私有云344a、344b機(jī)會(huì)性地獲得對(duì)計(jì)算資源342a、342b的訪問(wèn)。盡管在圖3中資源分配器340被示出為在機(jī)會(huì)性資源管理器306內(nèi)部,但是將理解,如以上討論的那樣,可以在許多形式中實(shí)施資源分配器340,比如作為資源分配器340的部分或者作為在公有地可用的服務(wù)314和私有云344a、344b中的一個(gè)或者多個(gè)私有云的設(shè)備之上分布的分布式應(yīng)用。另外,盡管在圖3中示出了僅兩個(gè)私有云344a、344b(為了易于圖示和討論),但是將理解,可以存在其計(jì)算資源可以由系統(tǒng)300使用的一個(gè)或者多得多的私有云。
在本文中,“機(jī)會(huì)性地”是指在機(jī)會(huì)出現(xiàn)時(shí)利用它們。例如,資源分配器340在計(jì)算資源342a、342b由于未使用而變得可用時(shí)獲得對(duì)計(jì)算資源342a、342b的訪問(wèn)(例如,計(jì)算資源342a、342b從私有云344a、344b的角度來(lái)看當(dāng)前空閑——但是計(jì)算資源342a、342b可以在除了“可用”于資源分配器340的當(dāng)前時(shí)間之外的時(shí)間由私有云344a、344b使用)。根據(jù)這里討論的示例技術(shù),私有云344a、344b隨時(shí)間向系統(tǒng)300報(bào)告它們的相應(yīng)的計(jì)算資源342a、342b的自愿可用性(例如,這可以包括如果它們的相應(yīng)的計(jì)算資源342a、342b沒(méi)有總是可用于由系統(tǒng)300使用,則報(bào)告這些計(jì)算資源中的哪個(gè)計(jì)算資源將在什么時(shí)間可用)。
公有主機(jī)模塊346可以使用一個(gè)或者多個(gè)私有云344a、344b的匹配的暫時(shí)地可用的計(jì)算資源來(lái)發(fā)起對(duì)執(zhí)行一個(gè)或者多個(gè)應(yīng)用312的主控活動(dòng)的控制。
例如,資源發(fā)現(xiàn)模塊348可以基于從一個(gè)或者多個(gè)私有云344a、344b接收的資源可用性描述350來(lái)確定在一個(gè)或者多個(gè)私有云344a、344b處可用的備用容量計(jì)算資源。
例如,資源分配器340可以通過(guò)選擇一個(gè)或者多個(gè)私有云344a、344b的暫時(shí)地可用的計(jì)算資源來(lái)機(jī)會(huì)性地獲得對(duì)計(jì)算資源342a、342b的訪問(wèn),這些暫時(shí)地可用計(jì)算資源滿足一個(gè)或者多個(gè)計(jì)算資源要求310的至少一部分。
例如,資源發(fā)現(xiàn)模塊348可以基于從一個(gè)或者多個(gè)私有云344a、344b接收的資源可用性描述350來(lái)確定在一個(gè)或者多個(gè)私有云處可用的備用容量計(jì)算資源。
例如,性能分析模塊352可以執(zhí)行對(duì)在一個(gè)或者多個(gè)私有云344a、344b處可用的備用容量計(jì)算資源的性能標(biāo)準(zhǔn)354的分析。
例如,資源分配器340可以通過(guò)基于對(duì)性能標(biāo)準(zhǔn)354的分析、選擇一個(gè)或者多個(gè)私有云344a、344b的暫時(shí)地可用計(jì)算資源來(lái)機(jī)會(huì)性地獲得對(duì)計(jì)算資源342a、342b的訪問(wèn),這些暫時(shí)性地可用計(jì)算資源滿足一個(gè)或者多個(gè)計(jì)算資源要求310的至少一部分并且提供執(zhí)行一個(gè)或者多個(gè)應(yīng)用312的優(yōu)化的性能。
例如,在一個(gè)或者多個(gè)私有云344a、344b處可用的備用容量計(jì)算資源的性能標(biāo)準(zhǔn)354可以包括以下各項(xiàng)中的一項(xiàng)或者多項(xiàng):用于包括選擇的暫時(shí)地可用計(jì)算資源的一個(gè)或者多個(gè)私有云344a、344b的初始響應(yīng)的時(shí)間、包括選擇的暫時(shí)地可用計(jì)算資源的一個(gè)或者多個(gè)私有云344a、344b對(duì)多個(gè)請(qǐng)求的平均響應(yīng)時(shí)間或者包括選擇的暫時(shí)地可用計(jì)算資源的一個(gè)或者多個(gè)私有云344a、344b的可靠性。例如,可以根據(jù)私有云344a、344b隨時(shí)間的性能(例如,與私有云344a、344b關(guān)聯(lián)的歷史數(shù)據(jù))來(lái)確定或者可以基于在私有云344a、344b處當(dāng)前可用的資源來(lái)確定或者可以如這里進(jìn)一步討論的那樣確定平均響應(yīng)時(shí)間和/或可靠性值。數(shù)據(jù)處理領(lǐng)域技術(shù)人員將理解,可以存在用于確定這些值的許多技術(shù),而沒(méi)有脫離這里的討論的精神實(shí)質(zhì)。
例如,資源發(fā)現(xiàn)模塊348可以基于從一個(gè)或者多個(gè)私有云344a、344b接收的資源可用性描述350來(lái)確定在一個(gè)或者多個(gè)私有云344a、344b處可用的備用容量計(jì)算資源。
例如,成本分析模塊356可以執(zhí)行對(duì)在私有云344a、344b處可用的備用容量計(jì)算資源的成本標(biāo)準(zhǔn)358和用于訪問(wèn)備用容量計(jì)算資源的帶寬成本的分析。
例如,資源分配器340可以通過(guò)基于對(duì)成本標(biāo)準(zhǔn)358的分析、選擇一個(gè)或者多個(gè)私有云344a、344b的暫時(shí)地可用計(jì)算資源來(lái)機(jī)會(huì)性地獲得對(duì)計(jì)算資源342a、342b的訪問(wèn),這些暫時(shí)地可用計(jì)算資源滿足一個(gè)或者多個(gè)計(jì)算資源要求310的至少一部分并且提供執(zhí)行一個(gè)或者多個(gè)計(jì)算資源要求312的優(yōu)化的成本。
例如,資源分配器340可以通過(guò)基于多標(biāo)準(zhǔn)優(yōu)化技術(shù)、自動(dòng)化拍賣或者基于規(guī)則的分配技術(shù)中的一項(xiàng)或者多項(xiàng)匹配一個(gè)或者多個(gè)計(jì)算資源要求310與在公有地可用的服務(wù)314外部和從公有地可用的服務(wù)314分離的一個(gè)或者多個(gè)私有云344a、344b的暫時(shí)地可用的計(jì)算資源來(lái)從一個(gè)或者多個(gè)私有云344a、344b機(jī)會(huì)性地獲得對(duì)計(jì)算資源342a、342b的訪問(wèn)。
例如,資源分配器340可以通過(guò)基于整數(shù)線性編程技術(shù)、分支和有界啟發(fā)法或者貪心優(yōu)化技術(shù)中的一項(xiàng)或者多項(xiàng)匹配一個(gè)或者多個(gè)計(jì)算資源要求310與在公有地可用的服務(wù)314外部和從公有地可用的服務(wù)314分離的多個(gè)私有云344a、344b的暫時(shí)地可用的計(jì)算資源賴從多個(gè)私有云344a、344b機(jī)會(huì)性地獲得對(duì)計(jì)算資源342a、342b的訪問(wèn)。
例如,線性編程是指對(duì)具有受制于特定聲明條件(約束)的數(shù)學(xué)問(wèn)題的求解,該數(shù)學(xué)問(wèn)題涉及一階(線性)代數(shù)表達(dá)式的最大和最小值。其中要求所有變量為整數(shù)的整數(shù)編程問(wèn)題被稱為純整數(shù)編程問(wèn)題。例如,分支和有界是指用于尤其地在離散和組合優(yōu)化中找到各種優(yōu)化問(wèn)題的最優(yōu)求解的一般算法。分支和有界算法可以包括所有候選求解的系統(tǒng)枚舉,其中通過(guò)使用正被優(yōu)化的數(shù)量的估計(jì)的上界和下界來(lái)共同丟棄無(wú)結(jié)果候選的大子集。
例如,貪心算法可以遵循以確定全局最優(yōu)為目標(biāo)在每級(jí)做出局部最優(yōu)選擇的問(wèn)題求解啟發(fā)法。例如,貪心策略可能一般地沒(méi)有產(chǎn)生最優(yōu)求解,然而,貪心啟發(fā)法可以在合理時(shí)間內(nèi)產(chǎn)生近似于全局最優(yōu)求解的局部最優(yōu)求解。
例如,居間拍賣可以涉及買家(例如,公有云或者客戶端)和賣家(例如,具有待賦予資源的私有云)和用于居間在買家與賣家之間的交易(例如,經(jīng)由要約、報(bào)價(jià)等)的居間人。
例如,資源發(fā)現(xiàn)模塊348可以基于隨時(shí)間從一個(gè)或者多個(gè)私有云342a、342b動(dòng)態(tài)地接收的資源可用性描述350來(lái)確定在一個(gè)或者多個(gè)私有云342a、342b處動(dòng)態(tài)地可用的備用容量計(jì)算資源。例如,資源分配器340可以隨著計(jì)算資源隨時(shí)間變得可用、通過(guò)動(dòng)態(tài)地選擇一個(gè)或者多個(gè)私有云342a、342b的滿足一個(gè)或者多個(gè)計(jì)算資源要求310的至少一部分的暫時(shí)地可用的計(jì)算資源來(lái)動(dòng)態(tài)地獲得對(duì)計(jì)算資源342a、342b的訪問(wèn),并且如果先前獲得了其訪問(wèn)的先前計(jì)算資源變得不可用,則動(dòng)態(tài)地釋放先前計(jì)算資源。
例如,隨時(shí)間從一個(gè)或者多個(gè)私有云342a、342b動(dòng)態(tài)地接收的資源可用性描述350可以包括用于預(yù)定時(shí)間間隔的時(shí)隙的資源可用性。例如,資源分配器340可以隨著計(jì)算資源隨時(shí)間變得可用、通過(guò)基于資源可用性描述350動(dòng)態(tài)地選擇一個(gè)或者多個(gè)私有云342a、342b的滿足一個(gè)或者多個(gè)計(jì)算資源要求310的至少一部分的暫時(shí)地可用的計(jì)算資源來(lái)動(dòng)態(tài)地獲得對(duì)計(jì)算資源342a、342b的訪問(wèn),并且如果先前獲得了其訪問(wèn)的先前計(jì)算資源變得不可用,則動(dòng)態(tài)地釋放先前計(jì)算資源。
例如,資源發(fā)現(xiàn)模塊348可以對(duì)于時(shí)隙中的每個(gè)時(shí)隙,基于隨時(shí)間從一個(gè)或者多個(gè)私有云動(dòng)態(tài)地接收的資源可用性描述350來(lái)確定在一個(gè)或者多個(gè)私有云342a、342b處動(dòng)態(tài)地可用的備用容量計(jì)算資源的列表。例如,資源描述獲取模塊308可以對(duì)于時(shí)隙中的每個(gè)時(shí)隙,確定與用于執(zhí)行一個(gè)或者多個(gè)應(yīng)用312的一個(gè)或者多個(gè)計(jì)算資源要求的相應(yīng)的描述關(guān)聯(lián)的成本約束和性能約束的列表。例如,資源分配器340可以隨時(shí)間動(dòng)態(tài)地優(yōu)化對(duì)計(jì)算資源342a、342b的分配訪問(wèn)。
例如,資源分配器340可以基于動(dòng)態(tài)優(yōu)化技術(shù)、Viterbi算法技術(shù)或者多時(shí)隙優(yōu)化技術(shù)中的一個(gè)或者多個(gè)技術(shù)來(lái)動(dòng)態(tài)地優(yōu)化對(duì)計(jì)算資源342a、342b的分配訪問(wèn)。
例如,資源分配器340可以通過(guò)智能地匹配一個(gè)或者多個(gè)計(jì)算資源要求310與包括在公有地可用的服務(wù)314外部和從公有地可用的服務(wù)314分離的至少一個(gè)私有計(jì)算設(shè)備344a、344b的計(jì)算實(shí)體的可用計(jì)算資源來(lái)從包括至少一個(gè)私有計(jì)算設(shè)備的計(jì)算實(shí)體機(jī)會(huì)性地獲得對(duì)計(jì)算資源342a、342b的訪問(wèn),該至少一個(gè)私有計(jì)算設(shè)備具有從私有計(jì)算設(shè)備源暫時(shí)地可用的私有計(jì)算資源,該智能匹配使用性能優(yōu)化分析被執(zhí)行。例如,性能分析模塊352可以執(zhí)行性能優(yōu)化分析。
例如,性能優(yōu)化分析可以包括基于一個(gè)或者多個(gè)計(jì)算資源要求的獲得的描述310和基于對(duì)計(jì)算實(shí)體的可用計(jì)算資源的描述350的對(duì)與公有地可用的服務(wù)314關(guān)聯(lián)的應(yīng)用312的執(zhí)行性能的預(yù)測(cè)分析。
例如,性能優(yōu)化分析可以包括對(duì)計(jì)算吞吐量、網(wǎng)絡(luò)延時(shí)、網(wǎng)絡(luò)帶寬或者存儲(chǔ)性能中的一項(xiàng)或者多項(xiàng)的分析。
例如,計(jì)算實(shí)體可以包括在至少一個(gè)私有云中的至少一個(gè)私有計(jì)算設(shè)備。
例如,計(jì)算實(shí)體可以包括在至少一個(gè)私有云和至少一個(gè)公有云中的多個(gè)計(jì)算設(shè)備。
作為另一示例,資源描述獲取模塊308可以獲得對(duì)用于執(zhí)行應(yīng)用312的一個(gè)或者多個(gè)計(jì)算資源要求的描述310。
例如,可以向公有地可用的服務(wù)314的資源分配器340提供對(duì)一個(gè)或者多個(gè)計(jì)算資源要求的描述310,資源分配器340被配置為通過(guò)智能地匹配一個(gè)或者多個(gè)計(jì)算資源要求310與包括在公有地可用的服務(wù)314外部和從公有地可用的服務(wù)314分離的至少一個(gè)私有計(jì)算設(shè)備344a、344b的計(jì)算實(shí)體的可用計(jì)算資源來(lái)從包括至少一個(gè)私有計(jì)算設(shè)備的計(jì)算實(shí)體機(jī)會(huì)性地獲得對(duì)計(jì)算資源342a、342b的訪問(wèn)。
例如,公有主機(jī)模塊346可以使用計(jì)算實(shí)體的匹配的可用計(jì)算資源來(lái)發(fā)起對(duì)為一個(gè)或者多個(gè)用戶執(zhí)行應(yīng)用312的主控活動(dòng)的控制。
例如,可以在與公有地可用的服務(wù)314關(guān)聯(lián)的公有云處主控資源分配器340。
例如,可以在從主控公有地可用的服務(wù)314的公有云分離的服務(wù)器主控資源分配器340。
例如,資源分配器340可以被主控為在與公有地可用的服務(wù)314關(guān)聯(lián)的公有云處和在多個(gè)私有云處主控的分布式資源分配應(yīng)用。
數(shù)據(jù)處理領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,許多不同技術(shù)可以用于智能地分配在私有云(或者私有設(shè)備)上可用的計(jì)算資源以從在私有云外部的源執(zhí)行應(yīng)用,而沒(méi)有脫離這里的討論的精神實(shí)質(zhì)。
III.流程圖描述
這里討論的特征被提供作為可以用數(shù)據(jù)處理領(lǐng)域技術(shù)人員可以理解的許多不同方式實(shí)施的而沒(méi)有脫離這里的討論的精神實(shí)質(zhì)的示例實(shí)施例。這樣的特征將僅被解釋為示例實(shí)施例特征,而沒(méi)有旨在于被解釋為僅限于那些具體描述。
圖4A至圖4E是圖示了根據(jù)示例實(shí)施例的、圖3的系統(tǒng)的示例操作的流程圖。在圖4A的示例中,由在公有地可用的服務(wù)中包括的資源描述獲取模塊獲得對(duì)用于執(zhí)行與多個(gè)動(dòng)態(tài)地改變的工作量關(guān)聯(lián)的一個(gè)或者多個(gè)應(yīng)用的一個(gè)或者多個(gè)計(jì)算資源要求的描述(402)。
通過(guò)匹配一個(gè)或者多個(gè)計(jì)算資源要求與在公有地可用的服務(wù)外部和從公有地可用的服務(wù)分離的一個(gè)或者多個(gè)私有云的暫時(shí)地可用的計(jì)算資源來(lái)從一個(gè)或者多個(gè)私有云機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn)(404)。
使用一個(gè)或者多個(gè)私有云的匹配的暫時(shí)地可用的計(jì)算資源來(lái)發(fā)起對(duì)執(zhí)行一個(gè)或者多個(gè)應(yīng)用的主控活動(dòng)的控制(406)。
例如,可以在圖4B的示例中基于從一個(gè)或者多個(gè)私有云接收的資源可用性描述來(lái)確定在一個(gè)或者多個(gè)私有云處可用的備用容量計(jì)算資源(408)。
例如,可以通過(guò)選擇一個(gè)或者多個(gè)私有云的滿足一個(gè)或者多個(gè)計(jì)算資源要求的至少一部分的暫時(shí)地可用的計(jì)算資源來(lái)機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn)(410)。
例如,可以基于從一個(gè)或者多個(gè)私有云接收的資源可用性描述來(lái)確定在一個(gè)或者多個(gè)私有云處可用的備用容量計(jì)算資源(412)。
例如,可以執(zhí)行對(duì)在一個(gè)或者多個(gè)私有云處可用的備用容量計(jì)算資源的性能標(biāo)準(zhǔn)的分析(414)。
例如,可以通過(guò)基于對(duì)性能標(biāo)準(zhǔn)的分析、選擇一個(gè)或者多個(gè)私有云的暫時(shí)地可用的計(jì)算資源來(lái)機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn),這些暫時(shí)地可用計(jì)算資源滿足一個(gè)或者多個(gè)計(jì)算資源要求的至少一部分并且提供執(zhí)行一個(gè)或者多個(gè)應(yīng)用的優(yōu)化性能(416)。
例如,在一個(gè)或者多個(gè)私有云處可用的備用容量計(jì)算資源的性能標(biāo)準(zhǔn)可以包括以下各項(xiàng)中的一項(xiàng)或者多項(xiàng):用于包括選擇的暫時(shí)地可用的計(jì)算資源的一個(gè)或者多個(gè)私有云的初始響應(yīng)的時(shí)間、包括選擇的暫時(shí)地可用的計(jì)算資源的一個(gè)或者多個(gè)私有云對(duì)多個(gè)請(qǐng)求的平均響應(yīng)時(shí)間或者包括選擇的暫時(shí)地可用的計(jì)算資源的一個(gè)或者多個(gè)私有云的可靠性(418)。
例如,可以在圖4C的示例中基于從一個(gè)或者多個(gè)私有云接收的資源可用性描述來(lái)確定在一個(gè)或者多個(gè)私有云處可用的備用容量計(jì)算資源(420)。
例如,可以執(zhí)行對(duì)在一個(gè)或者多個(gè)私有云可用的備用容量計(jì)算資源的成本標(biāo)準(zhǔn)和用于訪問(wèn)備用容量計(jì)算資源的帶寬成本的分析(422)。
例如,可以通過(guò)基于對(duì)成本標(biāo)準(zhǔn)的分析、選擇一個(gè)或者多個(gè)私有云的暫時(shí)地可用的計(jì)算資源來(lái)機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn),這些暫時(shí)地可用的計(jì)算資源滿足一個(gè)或者多個(gè)計(jì)算資源要求的至少一部分并且提供執(zhí)行一個(gè)或者多個(gè)應(yīng)用的優(yōu)化性能(424)。
例如,可以通過(guò)基于多標(biāo)準(zhǔn)優(yōu)化技術(shù)、自動(dòng)化拍賣或者基于規(guī)則的分配技術(shù)中的一項(xiàng)或者多項(xiàng)匹配一個(gè)或者多個(gè)計(jì)算資源要求與在公有地可用的服務(wù)外部和從公有地可用的服務(wù)分離的一個(gè)或者多個(gè)私有云的暫時(shí)地可用的計(jì)算資源來(lái)從一個(gè)或者多個(gè)私有云機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn)(426)。
例如,可以通過(guò)基于整數(shù)線性編程技術(shù)、分支和有界啟發(fā)法或者貪心優(yōu)化技術(shù)中的一項(xiàng)或者多項(xiàng)匹配一個(gè)或者多個(gè)計(jì)算資源要求與在公有地可用的服務(wù)外部和從公有地可用的服務(wù)分離的多個(gè)私有云的暫時(shí)地可用的計(jì)算資源來(lái)從多個(gè)私有云機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn)(428)。
例如,可以在圖4D的示例中基于隨時(shí)間從一個(gè)或者多個(gè)私有云動(dòng)態(tài)地接收的資源可用性描述來(lái)確定在一個(gè)或者多個(gè)私有云處動(dòng)態(tài)地可用的備用容量計(jì)算資源(430)。
例如,可以隨著計(jì)算資源隨時(shí)間變得可用、通過(guò)動(dòng)態(tài)地選擇一個(gè)或者多個(gè)私有云的滿足一個(gè)或者多個(gè)計(jì)算資源要求的至少一部分的暫時(shí)地可用的計(jì)算資源來(lái)動(dòng)態(tài)地獲得對(duì)計(jì)算資源的訪問(wèn),并且如果先前獲得了其訪問(wèn)的先前計(jì)算資源變得不可用,則動(dòng)態(tài)地釋放先前計(jì)算資源(432)。
例如,隨時(shí)間從一個(gè)或者多個(gè)私有云動(dòng)態(tài)地接收的資源可用性描述可以包括用于預(yù)定時(shí)間間隔的時(shí)隙的資源可用性(434)。
例如,可以隨著計(jì)算資源隨時(shí)間變得可用、通過(guò)基于資源可用性描述動(dòng)態(tài)地選擇一個(gè)或者多個(gè)私有云的滿足一個(gè)或者多個(gè)計(jì)算資源要求的至少一部分的暫時(shí)地可用的計(jì)算資源來(lái)動(dòng)態(tài)地獲得對(duì)計(jì)算資源的訪問(wèn),并且如果先前獲得了其訪問(wèn)的先前計(jì)算資源變得不可用,則動(dòng)態(tài)地釋放先前計(jì)算資源(436)。
例如,在圖4E的示例中,對(duì)于時(shí)隙中的每個(gè)時(shí)隙,可以基于隨時(shí)間從一個(gè)或者多個(gè)私有云動(dòng)態(tài)地接收的資源可用性描述來(lái)確定在一個(gè)或者多個(gè)私有云處動(dòng)態(tài)地可用的備用容量計(jì)算資源的列表(438)。
例如,對(duì)于時(shí)隙中的每個(gè)時(shí)隙,可以確定與用于執(zhí)行一個(gè)或者多個(gè)應(yīng)用的一個(gè)或者多個(gè)計(jì)算資源要求的相應(yīng)的描述關(guān)聯(lián)的成本約束和性能約束的列表(440)。
例如,可以隨時(shí)間動(dòng)態(tài)地優(yōu)化對(duì)計(jì)算資源的分配訪問(wèn)(442)。例如,可以基于動(dòng)態(tài)優(yōu)化技術(shù)、Viterbi算法技術(shù)或者多時(shí)隙優(yōu)化技術(shù)中的一個(gè)或者多個(gè)技術(shù)來(lái)隨時(shí)間動(dòng)態(tài)地優(yōu)化對(duì)計(jì)算資源的分配訪問(wèn)(444)。例如,資源分配器114可以基于動(dòng)態(tài)優(yōu)化技術(shù)、Viterbi算法技術(shù)或者多時(shí)隙優(yōu)化技術(shù)中的一個(gè)或者多個(gè)技術(shù)來(lái)隨時(shí)間動(dòng)態(tài)地優(yōu)化對(duì)計(jì)算資源的分配訪問(wèn)。
圖5A至圖5B是圖示了根據(jù)示例實(shí)施例的、圖3的系統(tǒng)的示例操作的流程圖。在圖5A的示例中,獲得對(duì)用于執(zhí)行與公有地可用的服務(wù)關(guān)聯(lián)的應(yīng)用的一個(gè)或者多個(gè)計(jì)算資源要求的描述(502)。通過(guò)智能地匹配一個(gè)或者多個(gè)計(jì)算資源要求與包括在公有地可用的服務(wù)外部和從公有地可用服務(wù)的分離的至少一個(gè)私有計(jì)算設(shè)備的計(jì)算實(shí)體的可用計(jì)算資源來(lái)從包括至少一個(gè)私有計(jì)算設(shè)備的計(jì)算實(shí)體機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn),該至少一個(gè)私有計(jì)算設(shè)備具有從私有計(jì)算設(shè)備源暫時(shí)地可用的私有計(jì)算資源(504)。使用性能優(yōu)化分析來(lái)執(zhí)行智能匹配。
例如,計(jì)算實(shí)體可以包括在至少一個(gè)私有云中的至少一個(gè)私有計(jì)算設(shè)備(506)。
例如,計(jì)算實(shí)體可以包括在至少一個(gè)私有云和至少一個(gè)公有云中的多個(gè)計(jì)算設(shè)備。
例如,性能優(yōu)化分析可以如在圖5B中指示的那樣包括基于一個(gè)或者多個(gè)計(jì)算資源要求的獲得的描述和基于計(jì)算實(shí)體的可用計(jì)算資源的描述的對(duì)與公有地可用的服務(wù)關(guān)聯(lián)的應(yīng)用的執(zhí)行性能的預(yù)測(cè)分析(510)。
例如,性能優(yōu)化分析可以包括對(duì)計(jì)算吞吐量、網(wǎng)絡(luò)延時(shí)、網(wǎng)絡(luò)帶寬或者存儲(chǔ)性能中的一項(xiàng)或者多項(xiàng)的分析(512)。
圖6是圖示了根據(jù)示例實(shí)施例的、圖3的系統(tǒng)的示例操作的流程圖。在圖6的示例中,獲得對(duì)用于執(zhí)行應(yīng)用的一個(gè)或者多個(gè)計(jì)算資源要求的描述(602)。
向公有地可用的服務(wù)的資源分配器提供對(duì)一個(gè)或者多個(gè)計(jì)算資源要求的描述,該資源分配器被配置為通過(guò)智能地匹配一個(gè)或者多個(gè)計(jì)算資源要求與包括在公有地可用的服務(wù)外部和從公有地可用的服務(wù)分離的至少一個(gè)私有計(jì)算設(shè)備的計(jì)算實(shí)體的可用的計(jì)算資源來(lái)從包括至少一個(gè)私有計(jì)算設(shè)備的計(jì)算實(shí)體機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn)(604)。
使用計(jì)算實(shí)體的匹配的可用計(jì)算資源來(lái)發(fā)起對(duì)為一個(gè)或者多個(gè)用戶執(zhí)行應(yīng)用的主控活動(dòng)的控制(606)。
例如,可以在與公有地可用的服務(wù)關(guān)聯(lián)的公有云處主控資源分配器(608)。
例如,可以在從主控公有地可用的服務(wù)的公有云分離的服務(wù)器處主控資源分配器。
例如,資源分配器可以被主控為在與公有地可用的服務(wù)關(guān)聯(lián)的公有云和在多個(gè)私有云處主控的分布式資源分配應(yīng)用(612)。
IV.某些實(shí)施例的方面
提供這里討論的特征作為可以用數(shù)據(jù)處理領(lǐng)域技術(shù)人員可以理解的許多不同方式實(shí)施的示例實(shí)施例,而沒(méi)有脫離這里的討論的精神實(shí)質(zhì)。這樣的特征將僅被解釋為示例實(shí)施例特征,而沒(méi)有旨在于被解釋為僅限于那些具體描述。
一種數(shù)據(jù)處理裝置包括存儲(chǔ)可執(zhí)行指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可執(zhí)行指令使得數(shù)據(jù)處理裝置獲得對(duì)用于執(zhí)行與公有地可用的服務(wù)關(guān)聯(lián)的應(yīng)用的一個(gè)或者多個(gè)計(jì)算資源要求的描述,并且通過(guò)智能地匹配一個(gè)或者多個(gè)計(jì)算資源要求與包括在公有地可用的服務(wù)外部和從公有地可用的服務(wù)分離的至少一個(gè)私有計(jì)算設(shè)備的計(jì)算實(shí)體的可用計(jì)算資源來(lái)從包括至少一個(gè)私有計(jì)算設(shè)備的計(jì)算實(shí)體機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn),該至少一個(gè)私有計(jì)算設(shè)備具有從私有計(jì)算設(shè)備源暫時(shí)地可用的私有計(jì)算資源,智能匹配使用性能優(yōu)化分析被執(zhí)行。
性能優(yōu)化分析包括基于一個(gè)或者多個(gè)計(jì)算資源要求的獲得的描述和基于計(jì)算實(shí)體的可用計(jì)算資源的描述來(lái)對(duì)與公有地可用的服務(wù)關(guān)聯(lián)的應(yīng)用的執(zhí)行性能的預(yù)測(cè)分析。
性能優(yōu)化分析包括對(duì)計(jì)算吞吐量、網(wǎng)絡(luò)延時(shí)、網(wǎng)絡(luò)帶寬或者存儲(chǔ)性能中的一項(xiàng)或者多項(xiàng)的分析。
計(jì)算實(shí)體包括在至少一個(gè)私有云中的至少一個(gè)私有計(jì)算設(shè)備。
計(jì)算實(shí)體包括在至少一個(gè)私有云和至少一個(gè)公有云中的多個(gè)計(jì)算設(shè)備。
一種系統(tǒng)包括至少一個(gè)處理器和存儲(chǔ)可由至少一個(gè)處理器執(zhí)行的可執(zhí)行代碼的至少一個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可執(zhí)行代碼包括機(jī)會(huì)性資源管理器。機(jī)會(huì)性資源管理器包括資源描述獲取模塊,資源描述獲取模塊獲得對(duì)用于執(zhí)行與多個(gè)動(dòng)態(tài)地改變的工作量關(guān)聯(lián)的一個(gè)或者多個(gè)應(yīng)用的一個(gè)或者多個(gè)計(jì)算資源要求的描述,資源描述獲取模塊被包括在公有地可用的服務(wù)中。資源管理器包括資源分配器,資源分配器通過(guò)匹配一個(gè)或者多個(gè)計(jì)算資源要求與在公有地可用的服務(wù)外部和從公有地可用服務(wù)的分離的一個(gè)或者多個(gè)私有云的暫時(shí)地可用計(jì)算資源來(lái)經(jīng)由至少一個(gè)設(shè)備處理器從一個(gè)或者多個(gè)私有云機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn)。機(jī)會(huì)性資源管理器包括公有主機(jī)模塊,公有主機(jī)模塊使用一個(gè)或者多個(gè)私有云的匹配的暫時(shí)地可用的計(jì)算資源來(lái)發(fā)起對(duì)執(zhí)行一個(gè)或者多個(gè)應(yīng)用的主控活動(dòng)的控制。
該系統(tǒng)還包括資源發(fā)現(xiàn)模塊,資源發(fā)現(xiàn)模塊基于從一個(gè)或者多個(gè)私有云接收的資源可用性描述來(lái)確定在一個(gè)或者多個(gè)私有云處可用的備用容量計(jì)算資源,其中資源分配器通過(guò)選擇一個(gè)或者多個(gè)私有云的滿足一個(gè)或者多個(gè)計(jì)算資源要求的至少一部分的暫時(shí)地可用的計(jì)算資源來(lái)機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn)。
該系統(tǒng)還包括資源發(fā)現(xiàn)模塊,資源發(fā)現(xiàn)模塊基于從一個(gè)或者多個(gè)私有云接收的資源可用性描述來(lái)確定在一個(gè)或者多個(gè)私有云處可用的備用容量計(jì)算資源。該系統(tǒng)還包括性能分析模塊,性能分析模塊執(zhí)行對(duì)在一個(gè)或者多個(gè)私有云處可用的備用容量計(jì)算資源的性能標(biāo)準(zhǔn)的分析,其中資源分配器通過(guò)基于對(duì)性能標(biāo)準(zhǔn)的分析、選擇一個(gè)或者多個(gè)私有云的暫時(shí)地可用的計(jì)算資源來(lái)機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn),這些暫時(shí)地可用的計(jì)算資源滿足一個(gè)或者多個(gè)計(jì)算資源要求的至少一部分并且提供執(zhí)行一個(gè)或者多個(gè)應(yīng)用的優(yōu)化性能。
在一個(gè)或者多個(gè)私有云處可用的備用容量計(jì)算資源的性能標(biāo)準(zhǔn)包括以下各項(xiàng)中的一項(xiàng)或者多項(xiàng):用于包括選擇的暫時(shí)地可用的計(jì)算資源的一個(gè)或者多個(gè)私有云的初始響應(yīng)的時(shí)間、包括選擇的暫時(shí)地可用的計(jì)算資源的一個(gè)或者多個(gè)私有云對(duì)多個(gè)請(qǐng)求的平均響應(yīng)時(shí)間或者包括選擇的暫時(shí)地可用的計(jì)算資源的一個(gè)或者多個(gè)私有云的可靠性。
該系統(tǒng)還包括:資源發(fā)現(xiàn)模塊,資源發(fā)現(xiàn)模塊基于從一個(gè)或者多個(gè)私有云接收的資源可用性描述來(lái)確定在一個(gè)或者多個(gè)私有云處可用的備用容量計(jì)算資源;以及成本分析模塊,成本分析模塊執(zhí)行對(duì)在一個(gè)或者多個(gè)私有云處可用的備用容量計(jì)算資源的成本標(biāo)準(zhǔn)和用于訪問(wèn)備用容量計(jì)算資源的帶寬成本的分析,其中資源分配器通過(guò)基于對(duì)成本標(biāo)準(zhǔn)的分析、選擇一個(gè)或者多個(gè)私有云的暫時(shí)地可用的計(jì)算資源來(lái)機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn),這些暫時(shí)地可用的計(jì)算資源滿足一個(gè)或者多個(gè)計(jì)算資源要求的至少一部分并且提供執(zhí)行一個(gè)或者多個(gè)應(yīng)用的優(yōu)化性能。
資源分配器通過(guò)基于多標(biāo)準(zhǔn)優(yōu)化技術(shù)、自動(dòng)化拍賣或者基于規(guī)則的分配技術(shù)中的一項(xiàng)或者多項(xiàng)匹配一個(gè)或者多個(gè)計(jì)算資源要求與在公有地可用的服務(wù)外部和從公有地可用的服務(wù)分離的一個(gè)或者多個(gè)私有云的暫時(shí)地可用的計(jì)算資源來(lái)從一個(gè)或者多個(gè)私有云機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn)。
資源分配器通過(guò)基于整數(shù)線性編程技術(shù)、分支和有界啟發(fā)法或者貪心優(yōu)化技術(shù)中的一項(xiàng)或者多項(xiàng)匹配一個(gè)或者多個(gè)計(jì)算資源要求與在公有地可用的服務(wù)外部和從公有地可用的服務(wù)分離的多個(gè)私有云的暫時(shí)地可用的計(jì)算資源來(lái)從多個(gè)私有云機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn)。
該系統(tǒng)還包括資源發(fā)現(xiàn)模塊,資源發(fā)現(xiàn)模塊基于隨時(shí)間從一個(gè)或者多個(gè)私有云動(dòng)態(tài)地接收的資源可用性描述來(lái)確定在一個(gè)或者多個(gè)私有云處動(dòng)態(tài)地可用的備用容量計(jì)算資源,其中資源分配器隨著計(jì)算資源隨時(shí)間變得可用、通過(guò)動(dòng)態(tài)地選擇一個(gè)或者多個(gè)私有云的滿足一個(gè)或者多個(gè)計(jì)算資源要求的至少一部分的暫時(shí)地可用的計(jì)算資源來(lái)動(dòng)態(tài)地獲得對(duì)計(jì)算資源的訪問(wèn),并且如果先前獲得了其訪問(wèn)的先前計(jì)算資源變得不可用,則動(dòng)態(tài)地釋放先前計(jì)算資源。
隨時(shí)間從一個(gè)或者多個(gè)私有云動(dòng)態(tài)地接收的資源可用性描述包括用于預(yù)定時(shí)間間隔的時(shí)隙的資源可用性,其中資源分配器隨著計(jì)算資源隨時(shí)間變得可用、通過(guò)基于資源可用性描述動(dòng)態(tài)地選擇一個(gè)或者多個(gè)私有云的滿足一個(gè)或者多個(gè)計(jì)算資源要求的至少一部分的暫時(shí)地可用的計(jì)算資源來(lái)動(dòng)態(tài)地獲得對(duì)計(jì)算資源的訪問(wèn),并且如果先前獲得了其訪問(wèn)的先前計(jì)算資源變得不可用,則動(dòng)態(tài)地釋放先前計(jì)算資源。
資源發(fā)現(xiàn)模塊對(duì)于時(shí)隙中的每個(gè)時(shí)隙,基于隨時(shí)間從一個(gè)或者多個(gè)私有云動(dòng)態(tài)地接收的資源可用性描述來(lái)確定在一個(gè)或者多個(gè)私有云處動(dòng)態(tài)地可用的備用容量計(jì)算資源的列表。資源描述獲取模塊對(duì)于時(shí)隙中的每個(gè)時(shí)隙,確定與用于執(zhí)行一個(gè)或者多個(gè)應(yīng)用的一個(gè)或者多個(gè)計(jì)算資源要求的相應(yīng)的描述關(guān)聯(lián)的成本約束和性能約束的列表。資源分配器隨時(shí)間動(dòng)態(tài)地優(yōu)化對(duì)計(jì)算資源的分配訪問(wèn)。
資源分配器基于動(dòng)態(tài)優(yōu)化技術(shù)、Viterbi算法技術(shù)或者多時(shí)隙優(yōu)化技術(shù)中的一個(gè)或者多個(gè)技術(shù)來(lái)隨時(shí)間動(dòng)態(tài)地優(yōu)化對(duì)計(jì)算資源的分配訪問(wèn)。
一種計(jì)算機(jī)程序產(chǎn)品包括存儲(chǔ)可執(zhí)行代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可執(zhí)行代碼使得至少一個(gè)數(shù)據(jù)處理裝置獲得對(duì)用于執(zhí)行應(yīng)用的一個(gè)或者多個(gè)計(jì)算資源要求的描述,向公有地可用的服務(wù)的資源分配器提供對(duì)一個(gè)或者多個(gè)計(jì)算資源要求的描述,資源分配器被配置為通過(guò)智能地匹配一個(gè)或者多個(gè)計(jì)算資源要求與包括在公有地可用的服務(wù)外部和從公有地可用的服務(wù)分離的至少一個(gè)私有計(jì)算設(shè)備的計(jì)算實(shí)體的可用計(jì)算資源來(lái)從包括至少一個(gè)私有計(jì)算設(shè)備的計(jì)算實(shí)體機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn),以及使用計(jì)算實(shí)體的匹配的可用計(jì)算資源來(lái)發(fā)起對(duì)為一個(gè)或者多個(gè)用戶執(zhí)行應(yīng)用的主控活動(dòng)的控制。
在與公有地可用的服務(wù)關(guān)聯(lián)的公有云處主控資源分配器。
在從主控公有地可用的服務(wù)的公有云分離的服務(wù)器處主控資源分配器。
資源分配器被主控為在與公有地可用的服務(wù)關(guān)聯(lián)的公有云處和在多個(gè)私有云處主控的分布式資源分配應(yīng)用。
一種方法包括由在公有地可用的服務(wù)中包括的資源描述獲取模塊獲得對(duì)用于執(zhí)行與多個(gè)動(dòng)態(tài)地改變的工作量關(guān)聯(lián)的一個(gè)或者多個(gè)應(yīng)用的一個(gè)或者多個(gè)計(jì)算資源要求的描述。
該方法包括通過(guò)匹配一個(gè)或者多個(gè)計(jì)算資源要求與在公有地可用的服務(wù)外部和從公有地可用的服務(wù)分離的一個(gè)或者多個(gè)私有云的暫時(shí)地可用的計(jì)算資源來(lái)從一個(gè)或者多個(gè)私有云機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn)。
該方法包括使用一個(gè)或者多個(gè)私有云的匹配的暫時(shí)地可用的計(jì)算資源來(lái)發(fā)起對(duì)執(zhí)行一個(gè)或者多個(gè)應(yīng)用的主控活動(dòng)的控制。
該方法包括基于從一個(gè)或者多個(gè)私有云接收的資源可用性描述來(lái)確定在一個(gè)或者多個(gè)私有云處可用的備用容量計(jì)算資源。
該方法包括通過(guò)選擇一個(gè)或者多個(gè)私有云的滿足一個(gè)或者多個(gè)計(jì)算資源要求的至少一部分的暫時(shí)地可用的計(jì)算資源來(lái)機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn)。
該方法包括基于從一個(gè)或者多個(gè)私有云接收的資源可用性描述來(lái)確定在一個(gè)或者多個(gè)私有云處可用的備用容量計(jì)算資源。
該方法包括執(zhí)行對(duì)在一個(gè)或者多個(gè)私有云處可用的備用容量計(jì)算資源的性能標(biāo)準(zhǔn)的分析。
該方法包括通過(guò)基于對(duì)性能標(biāo)準(zhǔn)的分析、選擇一個(gè)或者多個(gè)私有云的暫時(shí)地可用的計(jì)算資源來(lái)機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn),這些暫時(shí)地可用的計(jì)算資源滿足一個(gè)或者多個(gè)計(jì)算資源要求的至少一部分并且提供執(zhí)行一個(gè)或者多個(gè)應(yīng)用的優(yōu)化性能。
在一個(gè)或者多個(gè)私有云可用的備用容量計(jì)算資源的性能標(biāo)準(zhǔn)可以包括以下各項(xiàng)中的一項(xiàng)或者多項(xiàng):用于包括選擇的暫時(shí)地可用的計(jì)算資源的一個(gè)或者多個(gè)私有云的初始響應(yīng)的時(shí)間、包括選擇的暫時(shí)地可用的計(jì)算資源的一個(gè)或者多個(gè)私有云對(duì)多個(gè)請(qǐng)求的平均響應(yīng)時(shí)間或者包括選擇的暫時(shí)地可用的計(jì)算資源的一個(gè)或者多個(gè)私有云的可靠性。
該方法包括基于從一個(gè)或者多個(gè)私有云接收的資源可用性描述來(lái)確定在一個(gè)或者多個(gè)私有云處可用的備用容量計(jì)算資源。
該方法包括執(zhí)行對(duì)在一個(gè)或者多個(gè)私有云處可用的備用容量計(jì)算資源的成本標(biāo)準(zhǔn)和用于訪問(wèn)備用容量計(jì)算資源的帶寬成本的分析。
該方法包括通過(guò)基于對(duì)成本標(biāo)準(zhǔn)的分析、選擇一個(gè)或者多個(gè)私有云的暫時(shí)地可用的計(jì)算資源來(lái)機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn),這些暫時(shí)地可用的計(jì)算資源滿足一個(gè)或者多個(gè)計(jì)算資源要求的至少一部分并且提供執(zhí)行一個(gè)或者多個(gè)應(yīng)用的優(yōu)化性能。
該方法包括通過(guò)基于多標(biāo)準(zhǔn)優(yōu)化技術(shù)、自動(dòng)化拍賣或者基于規(guī)則的分配技術(shù)中的一項(xiàng)或者多項(xiàng)匹配一個(gè)或者多個(gè)計(jì)算資源要求與在公有地可用的服務(wù)外部和從公有地可用的服務(wù)分離的一個(gè)或者多個(gè)私有云的暫時(shí)地可用的計(jì)算資源來(lái)從一個(gè)或者多個(gè)私有云機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn)。
該方法包括通過(guò)基于整數(shù)線性編程技術(shù)、分支和有界啟發(fā)法或者貪心優(yōu)化技術(shù)中的一項(xiàng)或者多項(xiàng)匹配一個(gè)或者多個(gè)計(jì)算資源要求與在公有地可用的服務(wù)外部和從公有地可用的服務(wù)分離的多個(gè)私有云的暫時(shí)地可用的計(jì)算資源來(lái)從多個(gè)私有云機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn)。
該方法包括基于隨時(shí)間從一個(gè)或者多個(gè)私有云動(dòng)態(tài)地接收的資源可用性描述來(lái)確定在一個(gè)或者多個(gè)私有云處動(dòng)態(tài)地可用的備用容量計(jì)算資源。
該方法包括隨著計(jì)算資源隨時(shí)間變得可用、通過(guò)動(dòng)態(tài)地選擇一個(gè)或者多個(gè)私有云的滿足一個(gè)或者多個(gè)計(jì)算資源要求的至少一部分的暫時(shí)地可用的計(jì)算資源來(lái)動(dòng)態(tài)地獲得對(duì)計(jì)算資源的訪問(wèn),并且如果先前獲得了其訪問(wèn)的先前計(jì)算資源變得不可用則動(dòng)態(tài)地釋放先前計(jì)算資源。
隨時(shí)間從一個(gè)或者多個(gè)私有云動(dòng)態(tài)地接收的資源可用性描述可以包括用于預(yù)定時(shí)間間隔的時(shí)隙的資源可用性
該方法包括隨著計(jì)算資源隨時(shí)間變得可用,通過(guò)基于資源可用性描述動(dòng)態(tài)地選擇一個(gè)或者多個(gè)私有云的滿足一個(gè)或者多個(gè)計(jì)算資源要求的至少一部分的暫時(shí)地可用的計(jì)算資源來(lái)動(dòng)態(tài)地獲得對(duì)計(jì)算資源的訪問(wèn),并且如果先前獲得了其訪問(wèn)的先前計(jì)算資源變得不可用,則動(dòng)態(tài)地釋放先前計(jì)算資源。
該方法包括對(duì)于時(shí)隙中的每個(gè)時(shí)隙,基于隨時(shí)間從一個(gè)或者多個(gè)私有云動(dòng)態(tài)地接收的資源可用性描述來(lái)確定在一個(gè)或者多個(gè)私有云處動(dòng)態(tài)地可用的備用容量計(jì)算資源的列表。
該方法包括對(duì)于時(shí)隙中的每個(gè)時(shí)隙,確定與用于執(zhí)行一個(gè)或者多個(gè)應(yīng)用的一個(gè)或者多個(gè)計(jì)算資源要求的相應(yīng)的描述關(guān)聯(lián)的成本約束和性能約束的列表。
該方法包括隨時(shí)間動(dòng)態(tài)地優(yōu)化對(duì)計(jì)算資源的分配訪問(wèn)。
該方法包括基于動(dòng)態(tài)優(yōu)化技術(shù)、Viterbi算法技術(shù)或者多時(shí)隙優(yōu)化技術(shù)中的一個(gè)或者多個(gè)技術(shù)來(lái)動(dòng)態(tài)地優(yōu)化對(duì)計(jì)算資源的分配訪問(wèn)。
該方法包括基于動(dòng)態(tài)優(yōu)化技術(shù)、Viterbi算法技術(shù)或者多時(shí)隙優(yōu)化技術(shù)中的一個(gè)或者多個(gè)技術(shù)來(lái)隨時(shí)間動(dòng)態(tài)地優(yōu)化對(duì)計(jì)算資源的分配訪問(wèn)。
一種方法包括獲得對(duì)用于執(zhí)行與公有地可用服務(wù)關(guān)聯(lián)的應(yīng)用的一個(gè)或者多個(gè)計(jì)算資源要求的描述。
該方法包括通過(guò)智能地匹配一個(gè)或者多個(gè)計(jì)算資源要求與包括在公有地可用的服務(wù)外部和從公有地可用的服務(wù)分離的至少一個(gè)私有計(jì)算設(shè)備的計(jì)算實(shí)體的可用計(jì)算資源來(lái)從包括至少一個(gè)私有計(jì)算設(shè)備的計(jì)算實(shí)體機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn),該至少一個(gè)私有計(jì)算設(shè)備具有從私有計(jì)算設(shè)備源暫時(shí)地可用的私有計(jì)算資源,智能匹配使用性能優(yōu)化分析被執(zhí)行。
性能優(yōu)化分析包括基于一個(gè)或者多個(gè)計(jì)算資源要求的獲得的描述和基于計(jì)算實(shí)體的可用計(jì)算資源的描述的對(duì)與公有地可用的服務(wù)關(guān)聯(lián)的應(yīng)用的執(zhí)行性能的預(yù)測(cè)分析。
性能優(yōu)化分析包括對(duì)計(jì)算吞吐量、網(wǎng)絡(luò)延時(shí)、網(wǎng)絡(luò)帶寬或者存儲(chǔ)性能中的一項(xiàng)或者多項(xiàng)的分析。
計(jì)算實(shí)體包括在至少一個(gè)私有云中的至少一個(gè)私有計(jì)算設(shè)備。
計(jì)算實(shí)體包括在至少一個(gè)私有云和至少一個(gè)公有云中的多個(gè)計(jì)算設(shè)備。
一種方法包括獲得對(duì)用于執(zhí)行應(yīng)用的一個(gè)或者多個(gè)計(jì)算資源要求的描述。
該方法包括向公有地可用的服務(wù)的資源分配器提供一個(gè)或者多個(gè)計(jì)算資源要求的描述,該資源分配器被配置為通過(guò)智能地匹配一個(gè)或者多個(gè)計(jì)算資源要求與包括在公有地可用的服務(wù)外部和從公有地可用服務(wù)的分離的至少一個(gè)私有計(jì)算設(shè)備的計(jì)算實(shí)體的可用計(jì)算資源來(lái)從包括至少一個(gè)私有計(jì)算設(shè)備的計(jì)算實(shí)體機(jī)會(huì)性地獲得對(duì)計(jì)算資源的訪問(wèn)。
該方法包括使用計(jì)算實(shí)體的匹配的可用計(jì)算資源來(lái)發(fā)起對(duì)為一個(gè)或者多個(gè)用戶執(zhí)行應(yīng)用的主控活動(dòng)的控制。
在與公有地可用服務(wù)關(guān)聯(lián)的公有云處主控資源分配器。
在從主控公有地可用的服務(wù)的公有云分離的服務(wù)器處主控資源分配器。
資源分配器被主控為在與公有地可用的服務(wù)關(guān)聯(lián)的公有云處和在多個(gè)私有云處主控的分布式資源分配應(yīng)用
數(shù)據(jù)處理領(lǐng)域技術(shù)人員將理解,可以存在智能地分配在私有云(或者私有設(shè)備)上可用的計(jì)算資源以從在私有云外部的源執(zhí)行應(yīng)用的許多方式,而沒(méi)有脫離如這里的討論的精神實(shí)質(zhì)。
客戶隱私和保密已經(jīng)在數(shù)據(jù)處理環(huán)境中予以考慮有許多年。因此,用于獲得這樣的計(jì)算資源的示例技術(shù)可以使用由已經(jīng)經(jīng)由與這樣的技術(shù)關(guān)聯(lián)的關(guān)聯(lián)應(yīng)用或者服務(wù)的一個(gè)或者多個(gè)預(yù)訂協(xié)定(例如,“服務(wù)條款(TOS)”協(xié)定)提供權(quán)限的用戶提供的用戶輸入和/或數(shù)據(jù)。例如,用戶可以提供同意讓他們的輸入/數(shù)據(jù)被存儲(chǔ)和存儲(chǔ)于設(shè)備上,盡管可以顯式地指示(例如,經(jīng)由用戶接受的協(xié)定)每一方如果有則可以控制傳輸和/或存儲(chǔ)如何出現(xiàn)以及可以為此什么水平或者持續(xù)時(shí)間的存儲(chǔ)。另外,可以例如通過(guò)將實(shí)際用戶信息散列化來(lái)模糊可以用來(lái)標(biāo)識(shí)由用戶使用的設(shè)備的標(biāo)識(shí)符。將理解,可以根據(jù)任何相關(guān)管轄權(quán)的隱私法律和法規(guī)獲得任何用戶輸入/數(shù)據(jù)。
另外,虛擬化和加密可以用來(lái)保證可以保護(hù)公有服務(wù)的客戶的隱私信息不被私有云的捐助所有者所知。
可以在數(shù)字電子電路裝置中或者在計(jì)算機(jī)硬件、固件、軟件中或者在它們的組合(例如,被配置為執(zhí)行指令以執(zhí)行各種功能的裝置)中實(shí)施這里描述的各種技術(shù)的實(shí)現(xiàn)方式。
實(shí)現(xiàn)方式可以被實(shí)施為在信號(hào)(例如,純信號(hào),比如純傳播信號(hào))中體現(xiàn)的計(jì)算機(jī)程序。這樣的實(shí)現(xiàn)方式將在這里被稱為經(jīng)由“計(jì)算機(jī)可讀傳輸介質(zhì)”實(shí)施,該計(jì)算機(jī)可讀傳輸介質(zhì)這里沒(méi)有被限定為如以下討論的“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”或者“計(jì)算機(jī)可讀存儲(chǔ)設(shè)備”。
備選地,可以經(jīng)由在機(jī)器可用或者機(jī)器可讀存儲(chǔ)設(shè)備(例如,磁或者數(shù)字介質(zhì),比如通用串行總線(USB)存儲(chǔ)設(shè)備、磁帶、硬盤驅(qū)動(dòng)、緊致盤、數(shù)字視頻盤(DVD)等)中體現(xiàn)的用于由計(jì)算裝置(例如,數(shù)據(jù)處理裝置)、例如,可編程處理器、專用處理器或者設(shè)備、計(jì)算機(jī)或者多個(gè)計(jì)算機(jī)執(zhí)行或者用于控制該計(jì)算裝置的操作的計(jì)算機(jī)程序?qū)嵤?shí)現(xiàn)方式。這樣的實(shí)現(xiàn)方式可以在這里被稱為經(jīng)由“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”或者“計(jì)算機(jī)可讀存儲(chǔ)設(shè)備”實(shí)施,并且因此不同于純信號(hào)(比如純傳播信號(hào))的實(shí)現(xiàn)方式(因此這里沒(méi)有被限定為如以上討論的“計(jì)算機(jī)可讀傳輸介質(zhì)”)。因此,如這里所用,對(duì)“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”或者“計(jì)算機(jī)可讀存儲(chǔ)設(shè)備”的引用具體地排除作為純信號(hào)(例如,傳播信號(hào))本身的實(shí)現(xiàn)方式。
可以用任何形式的編程語(yǔ)言(包括編譯、解譯或者機(jī)器語(yǔ)言)編寫并且可以用任何形式(包括作為單獨(dú)程序或者作為適合用于在計(jì)算環(huán)境中使用的模塊、部件、子例程或者其它單元)來(lái)部署計(jì)算機(jī)程序(比如以上描述的計(jì)算機(jī)程序)??梢栽跈C(jī)器可用或者機(jī)器可讀存儲(chǔ)設(shè)備(例如,計(jì)算機(jī)可讀介質(zhì))上有形地將計(jì)算機(jī)程序體現(xiàn)為可執(zhí)行代碼(例如,可執(zhí)行指令)。可以部署可能實(shí)施以上討論的技術(shù)的計(jì)算機(jī)程序以在一個(gè)計(jì)算機(jī)上或者在一個(gè)地點(diǎn)的或者跨多個(gè)地點(diǎn)分布和由通信網(wǎng)絡(luò)互連的多個(gè)計(jì)算機(jī)上被執(zhí)行。
方法步驟可以由執(zhí)行計(jì)算機(jī)程序以通過(guò)對(duì)輸入數(shù)據(jù)操作和生成輸出來(lái)執(zhí)行功能的一個(gè)或者多個(gè)可編程處理器執(zhí)行。一個(gè)或者多個(gè)可編程處理器可以并行執(zhí)行指令和/或可以在分布式配置中被布置用于分布式處理。這里討論的示例功能也可以由一個(gè)或者多個(gè)硬件邏輯部件執(zhí)行,并且裝置可以至少部分被實(shí)施為一個(gè)或者多個(gè)硬件邏輯部件。舉例而言而非限制,可以使用的硬件邏輯部件的示例類型可以包括現(xiàn)場(chǎng)可編程門陣列(FPGA)、專用集成電路(ASIC)、專用標(biāo)準(zhǔn)產(chǎn)品(ASSP)、專用標(biāo)準(zhǔn)產(chǎn)品(ASSP)、片上系統(tǒng)(SOC)、復(fù)雜可編程邏輯器件(CPLD)等。
適合用于執(zhí)行計(jì)算機(jī)程序的處理器例如包括通用和專用微處理器以及任何種類的數(shù)字計(jì)算機(jī)的任何一個(gè)或者多個(gè)處理器。一般而言,處理器將從只讀存儲(chǔ)器或者隨機(jī)存取存儲(chǔ)器或者這二者接收指令和數(shù)據(jù)。計(jì)算機(jī)的單元可以包括用于執(zhí)行指令的至少一個(gè)處理器以及用于存儲(chǔ)指令和數(shù)據(jù)的一個(gè)或者多個(gè)存儲(chǔ)器設(shè)備。一般而言,計(jì)算機(jī)也可以包括用于存儲(chǔ)數(shù)據(jù)的一個(gè)或者多個(gè)海量存儲(chǔ)設(shè)備(例如,磁盤、光磁盤或者光盤)或者被操作地耦合以從該一個(gè)或者多個(gè)海量存儲(chǔ)設(shè)備接收數(shù)據(jù)或者向該一個(gè)或者多個(gè)海量存儲(chǔ)設(shè)備傳送數(shù)據(jù)或者這二者。適合用于體現(xiàn)計(jì)算機(jī)指令和數(shù)據(jù)的信息載體包括所有形式的非易失性存儲(chǔ)器,例如,包括半導(dǎo)體存儲(chǔ)器設(shè)備(例如,EPROM、EEPROM和閃存設(shè)備);磁盤(例如,內(nèi)部硬盤或者可去除盤);光磁盤;以及CD ROM和DVD-ROM盤。處理器和存儲(chǔ)器可以由專用邏輯電路裝置補(bǔ)充或者被并入于專用邏輯電路裝置中。
為了提供與用戶的交互,可以在計(jì)算機(jī)上實(shí)施實(shí)現(xiàn)方式,該計(jì)算機(jī)具有用于向用戶顯示信息的顯示設(shè)備(例如,陰極射線管(CRT)、液晶顯示器(LCD)或者等離子體監(jiān)視器)以及用戶可以用來(lái)向計(jì)算機(jī)提供輸入的鍵盤和指點(diǎn)設(shè)備(例如,鼠標(biāo)或者跟蹤球)。其它種類的設(shè)備也可以用來(lái)提供與用戶的交互;例如,向用戶提供的反饋可以是任何形式的感官反饋,例如,視覺(jué)反饋、聽(tīng)覺(jué)反饋或者觸覺(jué)反饋。例如,可以經(jīng)由任何形式的感官輸出(包括(但不限于)視覺(jué)輸出(例如,視覺(jué)手勢(shì)、視頻輸出)、音頻輸出(例如,語(yǔ)音、設(shè)備聲音)、觸覺(jué)輸出(例如,觸摸、設(shè)備移動(dòng))、溫度、氣味等)提供輸出。
另外,可以用任何形式(包括聲音、話音或者觸覺(jué)輸入)來(lái)接收來(lái)自用戶的輸入。例如,可以經(jīng)由任何形式的感官輸入(包括(但不限于)、視覺(jué)輸入(例如,手勢(shì)、視頻輸入)、音頻輸入(例如,語(yǔ)音、設(shè)備聲音)、觸覺(jué)輸入(例如,觸摸、設(shè)備移動(dòng))、溫度、氣味等)來(lái)從用戶接收輸入。
另外,自然用戶接口(NUI)可以用來(lái)與用戶交互。在本文中,“NUI”可以是指使得用戶能夠以沒(méi)有由輸入設(shè)備(比如鼠標(biāo)、鍵盤、遙控器等)施加的人為約束的“自然”方式與設(shè)備交互的任何接口技術(shù)。
NUI技術(shù)的示例可以包括依賴于話音識(shí)別、觸摸和觸筆識(shí)別、在屏幕上和與屏幕相鄰的手勢(shì)識(shí)別、空氣手勢(shì)、頭部和眼睛跟蹤、語(yǔ)音和話音、視覺(jué)、觸摸、懸停、手勢(shì)以及機(jī)器智能的NUI技術(shù)。NUI技術(shù)的示例可以包括但不限于觸敏顯示器、語(yǔ)音和話音識(shí)別、意圖和目標(biāo)理解、使用深度相機(jī)(例如,立體或者飛行時(shí)間相機(jī)系統(tǒng)、紅外線相機(jī)系統(tǒng)、RGB(紅、綠、藍(lán))相機(jī)系統(tǒng)及其組合)的運(yùn)動(dòng)手勢(shì)檢測(cè)、使用加速度計(jì)/陀螺儀的運(yùn)動(dòng)手勢(shì)檢測(cè)、臉部識(shí)別、3D顯示器、頭部、眼睛和凝視跟蹤、浸沒(méi)式增強(qiáng)現(xiàn)實(shí)和虛擬現(xiàn)實(shí)系統(tǒng),所有這些示例可以提供更自然的接口和用于使用電廠感測(cè)點(diǎn)集來(lái)感測(cè)腦部活動(dòng)的技術(shù)(例如,腦電圖描記法(EEG)和有關(guān)技術(shù))。
可以在計(jì)算系統(tǒng)中實(shí)施實(shí)現(xiàn)方式,該計(jì)算系統(tǒng)包括后端部件(例如,數(shù)據(jù)服務(wù)器)、或者包括中間件部件(例如,應(yīng)用服務(wù)器)、或者包括前端部件(例如,具有圖形用戶界面或者Web瀏覽器——用戶可以通過(guò)該圖形用戶界面或者Web瀏覽器與實(shí)現(xiàn)方式組合——的客戶端計(jì)算機(jī))或者這樣后端、中間件或者前端部件的任何組合。部件可以由數(shù)字?jǐn)?shù)據(jù)通信任何形式或者介質(zhì)(例如,通信網(wǎng)絡(luò))互連。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)(LAN)和廣域網(wǎng)(WAN)、例如因特網(wǎng)。
雖然已經(jīng)用結(jié)構(gòu)特征和/或方法動(dòng)作特有的語(yǔ)言描述主題內(nèi)容,但是將理解,在所附權(quán)利要求中定義的主題內(nèi)容未必地限于以上描述的具體特征或者動(dòng)作。實(shí)際上,公開以上描述的具體特征和動(dòng)作作為實(shí)施權(quán)利要求的示例形式。盡管已經(jīng)如這里描述的那樣舉例說(shuō)明了描述的實(shí)現(xiàn)方式的某些特征,但是許多修改、替換、改變和等效物現(xiàn)在將為本領(lǐng)域技術(shù)人員所想到。因此,將理解,所附權(quán)利要求旨在于覆蓋如落在實(shí)施例的范圍內(nèi)的所有這樣的修改和改變。