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

使用等價(jià)集合來(lái)計(jì)算優(yōu)化虛擬機(jī)分配的方法和裝置制造方法

文檔序號(hào):6537291閱讀:205來(lái)源:國(guó)知局
使用等價(jià)集合來(lái)計(jì)算優(yōu)化虛擬機(jī)分配的方法和裝置制造方法
【專利摘要】一種用于確定虛擬機(jī)的分配的方法包括:被配置為在網(wǎng)絡(luò)上運(yùn)行的虛擬機(jī)(VM)的列表的產(chǎn)生和訪問(wèn)的至少一個(gè),每個(gè)VM具有至少一個(gè)網(wǎng)絡(luò)資源要求,在所述列表中的每一個(gè)VM與所述至少一個(gè)網(wǎng)絡(luò)資源要求的大小相關(guān)聯(lián);選擇至少一個(gè)等價(jià)集合的具有至少大體相同的資源要求大小的VM;從所述至少一個(gè)等價(jià)集合的VM產(chǎn)生多個(gè)元組合,每一個(gè)元組合表示從所述等價(jià)集合選擇的多個(gè)單獨(dú)VM的所有可能的組合;確定在所述網(wǎng)絡(luò)中的節(jié)點(diǎn)的最大資源容量;并且,向所述節(jié)點(diǎn)提供元組合指派,所述元組合指派包括具有小于或等于所述最大資源容量的累積資源要求大小值的一組元組合。
【專利說(shuō)明】使用等價(jià)集合來(lái)計(jì)算優(yōu)化虛擬機(jī)分配的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及虛擬機(jī)(VM)的管理,并且更具體地涉及用于優(yōu)化VM分配的方法和算法。
【背景技術(shù)】
[0002]當(dāng)代虛擬機(jī)(VM)是如物理機(jī)器那樣執(zhí)行程序的機(jī)器(即,計(jì)算機(jī))的軟件實(shí)現(xiàn)方式。該VM通常模擬物理計(jì)算環(huán)境,但是通過(guò)虛擬層來(lái)管理對(duì)于中央處理單元(CPU)、存儲(chǔ)器、硬盤、網(wǎng)絡(luò)和其他硬件資源的請(qǐng)求,該虛擬層將這些請(qǐng)求轉(zhuǎn)換為基礎(chǔ)的物理硬件。在諸如在客戶機(jī)或服務(wù)器操作系統(tǒng)的頂部運(yùn)行的超管理器(hypervisor)或虛擬平臺(tái)的虛擬層內(nèi)建立VM。該虛擬層通常用于在單個(gè)物理機(jī)器內(nèi)建立許多單獨(dú)的孤立的VM。通常在服務(wù)器聯(lián)合體中使用許多VM,其中,先前在單獨(dú)機(jī)器上運(yùn)行的不同服務(wù)相反在同一的物理機(jī)器上的孤立的VM中運(yùn)行。
[0003]對(duì)于云托管和其他網(wǎng)絡(luò)管理服務(wù)的提供者的一個(gè)持續(xù)挑戰(zhàn)是系統(tǒng)資源的有效使用。期望VM向諸如網(wǎng)絡(luò)服務(wù)器的不同網(wǎng)絡(luò)節(jié)點(diǎn)的有效分配,以便最大化網(wǎng)絡(luò)資源的使用,并且減少向客戶提供計(jì)算服務(wù)所需的物理服務(wù)器和/或物理資源的數(shù)量。

【發(fā)明內(nèi)容】

[0004]根據(jù)一個(gè)實(shí)施例,一種用于確定虛擬機(jī)向網(wǎng)絡(luò)節(jié)點(diǎn)的分配的方法包括:被配置為在網(wǎng)絡(luò)上運(yùn)行的虛擬機(jī)(VM)的列表的產(chǎn)生和訪問(wèn)的至少一個(gè),每個(gè)VM具有至少一個(gè)網(wǎng)絡(luò)資源要求,在所述列表中的每一個(gè)VM與所述至少一個(gè)網(wǎng)絡(luò)資源要求的大小相關(guān)聯(lián);選擇至少一個(gè)等價(jià)集合的具有至少大體相同的資源要求大小的VM;從所述至少一個(gè)等價(jià)集合的VM產(chǎn)生多個(gè)元組合,每一個(gè)元組合表示從所述等價(jià)集合選擇的多個(gè)單獨(dú)VM的所有可能的組合;確定在所述網(wǎng)絡(luò)中的節(jié)點(diǎn)的最大資源容量;并且,向所述節(jié)點(diǎn)提供元組合指派,所述元組合指派包括具有小于或等于所述最大資源容量的累積資源要求大小值的一組元組合。
[0005]根據(jù)另一個(gè)實(shí)施例,一種用于確定虛擬機(jī)向網(wǎng)絡(luò)節(jié)點(diǎn)的分配的計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包含程序代碼。所述程序代碼能夠被處理器讀取/執(zhí)行以執(zhí)行一種方法,所述方法包括:被配置為在網(wǎng)絡(luò)上運(yùn)行的虛擬機(jī)(VM)的列表的產(chǎn)生和訪問(wèn)的至少一個(gè),每個(gè)VM具有至少一個(gè)網(wǎng)絡(luò)資源要求,在所述列表中的每一個(gè)VM與所述至少一個(gè)網(wǎng)絡(luò)資源要求的大小相關(guān)聯(lián);選擇至少一個(gè)等價(jià)集合的具有至少大體相同的資源要求大小的VM ;從所述至少一個(gè)等價(jià)集合的VM產(chǎn)生多個(gè)元組合,每一個(gè)元組合表示從所述等價(jià)集合選擇的多個(gè)單獨(dú)VM的所有可能的組合;確定在所述網(wǎng)絡(luò)中的節(jié)點(diǎn)的最大資源容量;并且,向所述節(jié)點(diǎn)提供元組合指派,所述元組合指派包括具有小于或等于所述最大資源容量的累積資源要求大小值的一組元組合。
[0006]根據(jù)另一個(gè)實(shí)施例,一種裝置包括在網(wǎng)絡(luò)節(jié)點(diǎn)和網(wǎng)絡(luò)控制設(shè)備的至少一個(gè)中布置的至少一個(gè)處理設(shè)備與其上存儲(chǔ)了指令的存儲(chǔ)設(shè)備。當(dāng)被所述至少一個(gè)處理設(shè)備執(zhí)行時(shí),所述指令使得所述裝置:被配置為在網(wǎng)絡(luò)上運(yùn)行的虛擬機(jī)(VM)的列表的產(chǎn)生和訪問(wèn)的至少一個(gè),每個(gè)VM具有至少一個(gè)網(wǎng)絡(luò)資源要求,在所述列表中的每一個(gè)VM與所述至少一個(gè)網(wǎng)絡(luò)資源要求的大小相關(guān)聯(lián);選擇至少一個(gè)等價(jià)集合的具有至少大體相同的資源要求大小的VM ;從所述至少一個(gè)等價(jià)集合的VM產(chǎn)生多個(gè)元組合,每一個(gè)元組合表示從所述等價(jià)集合選擇的多個(gè)單獨(dú)W的所有可能的組合;確定在所述網(wǎng)絡(luò)中的節(jié)點(diǎn)的最大資源容量;并且,向所述節(jié)點(diǎn)提供元組合指派,所述元組合指派包括具有小于或等于所述最大資源容量的累積資源要求大小值的一組元組合。
[0007]通過(guò)本發(fā)明的技術(shù)來(lái)實(shí)現(xiàn)另外的特制和優(yōu)點(diǎn)。本發(fā)明的其他實(shí)施例和方面在此被詳細(xì)描述,并且被看作所要求保護(hù)的發(fā)明的一部分。為了更好地明白具有優(yōu)點(diǎn)和特制的本發(fā)明,參見說(shuō)明書和附圖。
【專利附圖】

【附圖說(shuō)明】
[0008]在說(shuō)明書的結(jié)尾處的權(quán)利要求中具體指出和清楚地要求保護(hù)被看作本發(fā)明的主題。通過(guò)下面結(jié)合附圖獲得的詳細(xì)說(shuō)明,本發(fā)明的上述和其他特征與優(yōu)點(diǎn)顯然,在附圖中:
[0009]圖1描述了根據(jù)本發(fā)明的一個(gè)實(shí)施例的云計(jì)算節(jié)點(diǎn);
[0010]圖2描述了根據(jù)本發(fā)明的一個(gè)實(shí)施例的云計(jì)算環(huán)境;
[0011]圖3描述了根據(jù)本發(fā)明的一個(gè)實(shí)施例的抽象模型層;
[0012]圖4描述了包括被配置來(lái)執(zhí)行和/或促進(jìn)虛擬機(jī)(VM)分配的節(jié)點(diǎn)處理器的示例性網(wǎng)絡(luò)計(jì)算系統(tǒng);
[0013]圖5是示出建立VM分配(allocation)模型或用于對(duì)于網(wǎng)絡(luò)節(jié)點(diǎn)有效分配VM的指派(assignment)的方法的流程圖;以及
[0014]圖6是示出向所選擇的網(wǎng)絡(luò)節(jié)點(diǎn)分配VM的方法的流程圖。
【具體實(shí)施方式】
[0015]在此所述的實(shí)施例涉及方法、設(shè)備和計(jì)算機(jī)程序產(chǎn)品,用于建模虛擬機(jī)(VM)分配,并且將VM封裝或分配到在例如服務(wù)器或?qū)Φ扔?jì)算機(jī)網(wǎng)絡(luò)內(nèi)的獨(dú)立主機(jī)或節(jié)點(diǎn)。在此所述的實(shí)施例對(duì)于許多網(wǎng)絡(luò)應(yīng)用有效,該許多網(wǎng)絡(luò)應(yīng)用例如是包括提供IaaS、PaaS或SaaS云托管的那些的虛擬機(jī)基礎(chǔ)結(jié)構(gòu)。
[0016]例如,聯(lián)合體或VM管理軟件建模向主機(jī)的VM分配,以便模擬可能的云數(shù)據(jù)中心VM分配。軟件利用VM等價(jià)類的象征性操縱(S卩,相對(duì)于一個(gè)或多個(gè)資源的消耗有效地克隆的單獨(dú)的具體VM的廣泛組)以提供VM的最佳分配。
[0017]在一個(gè)實(shí)施例中,在運(yùn)行時(shí)間可獲得的VM被編組為各種等價(jià)集合(set),它們是具有至少大體等價(jià)的資源要求的VM的列表??梢韵鄬?duì)于諸如存儲(chǔ)器要求的單個(gè)資源類型編組該等價(jià)集合,或者可以相對(duì)于諸如存儲(chǔ)器和CPU核心數(shù)量要求的多個(gè)資源類型來(lái)編組該等價(jià)集合。對(duì)于每一個(gè)等價(jià)集合產(chǎn)生多個(gè)元組合,每一個(gè)元組合表示在相應(yīng)的等價(jià)集合內(nèi)的所選擇的多個(gè)VM的所有可能的組合。元組合被配置來(lái)表示來(lái)自等價(jià)集合的多個(gè)VM,而不具體列舉在該集合內(nèi)的W的單獨(dú)具體實(shí)例。VM管理軟件可以產(chǎn)生用于在網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn)的或至少用于相對(duì)于最大資源容量的在網(wǎng)絡(luò)中的最大節(jié)點(diǎn)的一個(gè)或多個(gè)元組合列表或指派。為了產(chǎn)生元組合列表或指派,該軟件可以例如執(zhí)行用于選擇具有最佳地滿足每一個(gè)節(jié)點(diǎn)的資源容量的累積資源要求的一組元組合的算法(例如,貪婪啟發(fā)算法)。[0018]在一個(gè)實(shí)施例中,運(yùn)行時(shí)間滿足器或其他應(yīng)用利用元組合和/或元組合指派來(lái)向一個(gè)或多個(gè)節(jié)點(diǎn)分配VM。例如,可獲得或未分配的VM的列表可以與等價(jià)類相關(guān)聯(lián),并且用于根據(jù)對(duì)應(yīng)的元組合指派來(lái)選擇和向節(jié)點(diǎn)分配VM??梢耘c元組合指派相結(jié)合地使用諸如現(xiàn)有分配和遷移開銷的額外考慮,以進(jìn)一步優(yōu)化分配。
[0019]首先應(yīng)當(dāng)理解,盡管本公開包括關(guān)于云計(jì)算的詳細(xì)描述,但其中記載的技術(shù)方案的實(shí)現(xiàn)卻不限于云計(jì)算環(huán)境,而是能夠結(jié)合現(xiàn)在已知或以后開發(fā)的任何其它類型的計(jì)算環(huán)境(例如,任何客戶機(jī)一服務(wù)器模型)而實(shí)現(xiàn)。
[0020]云計(jì)算是一種服務(wù)交付模式,用于對(duì)共享的可配置計(jì)算資源池進(jìn)行方便、按需的網(wǎng)絡(luò)訪問(wèn)??膳渲糜?jì)算資源是能夠以最小的管理成本或與服務(wù)提供者進(jìn)行最少的交互就能快速部署和釋放的資源,例如可以是網(wǎng)絡(luò)、網(wǎng)絡(luò)帶寬、服務(wù)器、處理、內(nèi)存、存儲(chǔ)、應(yīng)用、虛擬機(jī)和服務(wù)。這種云模式可以包括至少五個(gè)特征、至少三個(gè)服務(wù)模型和至少四個(gè)部署模型。
[0021]特征包括:
[0022]按需自助式服務(wù):云的消費(fèi)者在無(wú)需與服務(wù)提供者進(jìn)行人為交互的情況下能夠單方面自動(dòng)地按需部署諸如服務(wù)器時(shí)間和網(wǎng)絡(luò)存儲(chǔ)等的計(jì)算能力。
[0023]廣泛的網(wǎng)絡(luò)接入:計(jì)算能力可以通過(guò)標(biāo)準(zhǔn)機(jī)制在網(wǎng)絡(luò)上獲取,這種標(biāo)準(zhǔn)機(jī)制促進(jìn)了通過(guò)不同種類的瘦客戶機(jī)平臺(tái)或厚客戶機(jī)平臺(tái)(例如移動(dòng)電話、膝上型電腦、個(gè)人數(shù)字助理PDA)對(duì)云的使用。
[0024]資源池:提供者的計(jì)算資源被歸入資源池并通過(guò)多租戶(mult1-tenant)模式服務(wù)于多重消費(fèi)者,其中按需將不同的實(shí)體資源和虛擬資源動(dòng)態(tài)地分配和再分配。一般情況下,消費(fèi)者不能控制或甚至并不知曉所提供的資源的確切位置,但可以在較高抽象程度上指定位置(例如國(guó)家、州或數(shù)據(jù)中心),因此具有位置無(wú)關(guān)性。
[0025]迅速?gòu)椥?能夠迅速、有彈性地(有時(shí)是自動(dòng)地)部署計(jì)算能力,以實(shí)現(xiàn)快速擴(kuò)展,并且能迅速釋放來(lái)快速縮小。在消費(fèi)者看來(lái),用于部署的可用計(jì)算能力往往顯得是無(wú)限的,并能在任意時(shí)候都能獲取任意數(shù)量的計(jì)算能力。
[0026]可測(cè)量的服務(wù):云系統(tǒng)通過(guò)利用適于服務(wù)類型(例如存儲(chǔ)、處理、帶寬和活躍用戶帳號(hào))的某種抽象程度的計(jì)量能力,自動(dòng)地控制和優(yōu)化資源效用。可以監(jiān)測(cè)、控制和報(bào)告資源使用情況,為服務(wù)提供者和消費(fèi)者雙方提供透明度。
[0027]服務(wù)模型如下:
[0028]軟件即服務(wù)(SaaS):向消費(fèi)者提供的能力是使用提供者在云基礎(chǔ)架構(gòu)上運(yùn)行的應(yīng)用??梢酝ㄟ^(guò)諸如網(wǎng)絡(luò)瀏覽器的瘦客戶機(jī)接口(例如基于網(wǎng)絡(luò)的電子郵件)從各種客戶機(jī)設(shè)備訪問(wèn)應(yīng)用。除了有限的特定于用戶的應(yīng)用配置設(shè)置外,消費(fèi)者既不管理也不控制包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)、存儲(chǔ)、乃至單個(gè)應(yīng)用能力等的底層云基礎(chǔ)架構(gòu)。
[0029]平臺(tái)即服務(wù)(PaaS):向消費(fèi)者提供的能力是在云基礎(chǔ)架構(gòu)上部署消費(fèi)者創(chuàng)建或獲得的應(yīng)用,這些應(yīng)用利用提供者支持的程序設(shè)計(jì)語(yǔ)言和工具創(chuàng)建。消費(fèi)者既不管理也不控制包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)或存儲(chǔ)的底層云基礎(chǔ)架構(gòu),但對(duì)其部署的應(yīng)用具有控制權(quán),對(duì)應(yīng)用托管環(huán)境配置可能也具有控制權(quán)。
[0030]基礎(chǔ)架構(gòu)即服務(wù)(IaaS):向消費(fèi)者提供的能力是消費(fèi)者能夠在其中部署并運(yùn)行包括操作系統(tǒng)和應(yīng)用的任意軟件的處理、存儲(chǔ)、網(wǎng)絡(luò)和其他基礎(chǔ)計(jì)算資源。消費(fèi)者既不管理也不控制底層的云基礎(chǔ)架構(gòu),但是對(duì)操作系統(tǒng)、存儲(chǔ)和其部署的應(yīng)用具有控制權(quán),對(duì)選擇的網(wǎng)絡(luò)組件(例如主機(jī)防火墻)可能具有有限的控制權(quán)。
[0031]部署模型如下:
[0032]私有云:云基礎(chǔ)架構(gòu)單獨(dú)為某個(gè)組織運(yùn)行。云基礎(chǔ)架構(gòu)可以由該組織或第三方管理并且可以存在于該組織內(nèi)部或外部。
[0033]共同體云:云基礎(chǔ)架構(gòu)被若干組織共享并支持有共同利害關(guān)系(例如任務(wù)使命、安全要求、政策和合規(guī)考慮)的特定共同體。共同體云可以由共同體內(nèi)的多個(gè)組織或第三方管理并且可以存在于該共同體內(nèi)部或外部。
[0034]公共云:云基礎(chǔ)架構(gòu)向公眾或大型產(chǎn)業(yè)群提供并由出售云服務(wù)的組織擁有。
[0035]混合云:云基礎(chǔ)架構(gòu)由兩個(gè)或更多部署模型的云(私有云、共同體云或公共云)組成,這些云依然是獨(dú)特的實(shí)體,但是通過(guò)使數(shù)據(jù)和應(yīng)用能夠移植的標(biāo)準(zhǔn)化技術(shù)或私有技術(shù)(例如用于云之間的負(fù)載平衡的云突發(fā)流量分擔(dān)技術(shù))綁定在一起。
[0036]云計(jì)算環(huán)境是面向服務(wù)的,特點(diǎn)集中在無(wú)狀態(tài)性、低耦合性、模塊性和語(yǔ)意的互操作性。云計(jì)算的核心是包含互連節(jié)點(diǎn)網(wǎng)絡(luò)的基礎(chǔ)架構(gòu)。
[0037]現(xiàn)在參考圖1,其中顯示了云計(jì)算節(jié)點(diǎn)的一個(gè)例子。圖1顯示的云計(jì)算節(jié)點(diǎn)10僅僅是適合的云計(jì)算節(jié)點(diǎn)的一個(gè)示例,不應(yīng)對(duì)本發(fā)明實(shí)施例的功能和使用范圍帶來(lái)任何限制。總之,云計(jì)算節(jié)點(diǎn)10能夠被用來(lái)實(shí)現(xiàn)和/或執(zhí)行以上所述的任何功能。
[0038]云計(jì)算節(jié)點(diǎn)10具有計(jì)算機(jī)系統(tǒng)/服務(wù)器12,其可與眾多其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置一起操作。眾所周知,適于與計(jì)算機(jī)系統(tǒng)/服務(wù)器12 —起操作的計(jì)算系統(tǒng)、環(huán)境和/或配置的例子包括但不限于:個(gè)人計(jì)算機(jī)系統(tǒng)、服務(wù)器計(jì)算機(jī)系統(tǒng)、瘦客戶機(jī)、厚客戶機(jī)、手持或膝上設(shè)備、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)個(gè)人電腦、小型計(jì)算機(jī)系統(tǒng)、大型計(jì)算機(jī)系統(tǒng)和包括上述任意系統(tǒng)的分布式云計(jì)算技術(shù)環(huán)境,等
坐寸ο
[0039]計(jì)算機(jī)系統(tǒng)/服務(wù)器12可以在由計(jì)算機(jī)系統(tǒng)執(zhí)行的計(jì)算機(jī)系統(tǒng)可執(zhí)行指令(諸如程序模塊)的一般語(yǔ)境下描述。通常,程序模塊可以包括執(zhí)行特定的任務(wù)或者實(shí)現(xiàn)特定的抽象數(shù)據(jù)類型的例程、程序、目標(biāo)程序、組件、邏輯、數(shù)據(jù)結(jié)構(gòu)等。計(jì)算機(jī)系統(tǒng)/服務(wù)器12可以在通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行任務(wù)的分布式云計(jì)算環(huán)境中實(shí)施。在分布式云計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備的本地或遠(yuǎn)程計(jì)算系統(tǒng)存儲(chǔ)介質(zhì)上。
[0040]如圖1所示,云計(jì)算節(jié)點(diǎn)10中的計(jì)算機(jī)系統(tǒng)/服務(wù)器12以通用計(jì)算設(shè)備的形式表現(xiàn)。計(jì)算機(jī)系統(tǒng)/服務(wù)器12的組件可以包括但不限于:一個(gè)或者多個(gè)處理器或者處理單元16,系統(tǒng)存儲(chǔ)器28,連接不同系統(tǒng)組件(包括系統(tǒng)存儲(chǔ)器28和處理單元16)的總線18。
[0041]總線18表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲(chǔ)器總線或者存儲(chǔ)器控制器,外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉例來(lái)說(shuō),這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線,微通道體系結(jié)構(gòu)(MAC)總線,增強(qiáng)型ISA總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局域總線以及外圍組件互連(PCI)總線。
[0042]計(jì)算機(jī)系統(tǒng)/服務(wù)器12典型地包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是能夠被計(jì)算機(jī)系統(tǒng)/服務(wù)器12訪問(wèn)的任意可獲得的介質(zhì),包括易失性和非易失性介質(zhì),可移動(dòng)的和不可移動(dòng)的介質(zhì)。
[0043]系統(tǒng)存儲(chǔ)器28可以包括易失性存儲(chǔ)器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存取存儲(chǔ)器(RAM)30和/或高速緩存存儲(chǔ)器32。計(jì)算機(jī)系統(tǒng)/服務(wù)器12可以進(jìn)一步包括其它可移動(dòng)/不可移動(dòng)的、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。僅作為舉例,存儲(chǔ)系統(tǒng)34可以用于讀寫不可移動(dòng)的、非易失性磁介質(zhì)(圖1未顯示,通常稱為“硬盤驅(qū)動(dòng)器”)。盡管圖1中未示出,可以提供用于對(duì)可移動(dòng)非易失性磁盤(例如“軟盤”)讀寫的磁盤驅(qū)動(dòng)器,以及對(duì)可移動(dòng)非易失性光盤(例如⑶-ROM,DVD-ROM或者其它光介質(zhì))讀寫的光盤驅(qū)動(dòng)器。在這些情況下,每個(gè)驅(qū)動(dòng)器可以通過(guò)一個(gè)或者多個(gè)數(shù)據(jù)介質(zhì)接口與總線18相連。存儲(chǔ)器28可以包括至少一個(gè)程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個(gè))程序模塊,這些程序模塊被配置以執(zhí)行本發(fā)明各實(shí)施例的功能。
[0044]具有一組(至少一個(gè))程序模塊42的程序/實(shí)用工具40,可以存儲(chǔ)在存儲(chǔ)器28中,這樣的程序模塊42包括但不限于操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個(gè)或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。程序模塊42通常執(zhí)行本發(fā)明所描述的實(shí)施例中的功能和/或方法。
[0045]計(jì)算機(jī)系統(tǒng)/服務(wù)器12也可以與一個(gè)或多個(gè)外部設(shè)備14 (例如鍵盤、指向設(shè)備、顯示器24等)通信,還可與一個(gè)或者多個(gè)使得用戶能與該計(jì)算機(jī)系統(tǒng)/服務(wù)器12交互的設(shè)備通信,和/或與使得該計(jì)算機(jī)系統(tǒng)/服務(wù)器12能與一個(gè)或多個(gè)其它計(jì)算設(shè)備進(jìn)行通信的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過(guò)輸入/輸出(I/O)接口 22進(jìn)行。并且,計(jì)算機(jī)系統(tǒng)/服務(wù)器12還可以通過(guò)網(wǎng)絡(luò)適配器20與一個(gè)或者多個(gè)網(wǎng)絡(luò)(例如局域網(wǎng)(LAN),廣域網(wǎng)(WAN)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適配器20通過(guò)總線18與計(jì)算機(jī)系統(tǒng)/服務(wù)器12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,其它硬件和/或軟件模塊可以與計(jì)算機(jī)系統(tǒng)/服務(wù)器12 —起操作,包括但不限于:微代碼、設(shè)備驅(qū)動(dòng)器、冗余處理單元、外部磁盤驅(qū)動(dòng)陣列、RAID系統(tǒng)、磁帶驅(qū)動(dòng)器以及數(shù)據(jù)備份存儲(chǔ)系統(tǒng)
坐寸ο
[0046]現(xiàn)在參考圖2,其中顯示了示例性的云計(jì)算環(huán)境50。如圖所示,云計(jì)算環(huán)境50包括云計(jì)算消費(fèi)者使用的本地計(jì)算設(shè)備可以與其相通信的一個(gè)或者多個(gè)云計(jì)算節(jié)點(diǎn)10,本地計(jì)算設(shè)備例如可以是個(gè)人數(shù)字助理(PDA)或移動(dòng)電話54A、臺(tái)式電腦54B、筆記本電腦54C和/或汽車計(jì)算機(jī)系統(tǒng)54N。云計(jì)算節(jié)點(diǎn)10之間可以相互通信??梢栽诎ǖ幌抻谌缟纤龅乃接性啤⒐餐w云、公共云或混合云或者它們的組合的一個(gè)或者多個(gè)網(wǎng)絡(luò)中將云計(jì)算節(jié)點(diǎn)10進(jìn)行物理或虛擬分組(圖中未顯示)。這樣,云的消費(fèi)者無(wú)需在本地計(jì)算設(shè)備上維護(hù)資源就能請(qǐng)求云計(jì)算環(huán)境50提供的基礎(chǔ)架構(gòu)即服務(wù)(IaaS)、平臺(tái)即服務(wù)(PaaS)和/或軟件即服務(wù)(SaaS)。應(yīng)當(dāng)理解,圖2顯示的各類計(jì)算設(shè)備54A-N僅僅是示意性的,云計(jì)算節(jié)點(diǎn)10以及云計(jì)算環(huán)境50可以與任意類型網(wǎng)絡(luò)上和/或網(wǎng)絡(luò)可尋址連接的任意類型的計(jì)算設(shè)備(例如使用網(wǎng)絡(luò)瀏覽器)通信。
[0047]現(xiàn)在參考圖3,其中顯示了云計(jì)算環(huán)境50 (圖2)提供的一組功能抽象層。首先應(yīng)當(dāng)理解,圖3所示的組件、層以及功能都僅僅是示意性的,本發(fā)明的實(shí)施例不限于此。如圖3所示,提供下列層和對(duì)應(yīng)功能:
[0048]硬件和軟件層60包括硬件和軟件組件。硬件組件的例子包括:主機(jī),例如IBM ?zSeries,?系統(tǒng);基于RISC (精簡(jiǎn)指令集計(jì)算機(jī))體系結(jié)構(gòu)的服務(wù)器,例如IBM pSeries ?系統(tǒng);IBM xSeries?系統(tǒng);IBM BladeCenter ?系統(tǒng);存儲(chǔ)設(shè)備;網(wǎng)絡(luò)和網(wǎng)絡(luò)組件。軟件組件的例子包括:網(wǎng)絡(luò)應(yīng)用服務(wù)器軟件,例如IBM WebSphere R 1:用服務(wù)器軟件;數(shù)據(jù)庫(kù)軟件,例如 IBM DB2?‘?dāng)?shù)據(jù)庫(kù)軟件。(IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere以及DB2是國(guó)際商業(yè)機(jī)器公司在全世界各地的注冊(cè)商標(biāo))。
[0049]虛擬層62提供一個(gè)抽象層,該層可以提供下列虛擬實(shí)體的例子:虛擬服務(wù)器、虛擬存儲(chǔ)、虛擬網(wǎng)絡(luò)(包括虛擬私有網(wǎng)絡(luò))、虛擬應(yīng)用和操作系統(tǒng),以及虛擬客戶端。
[0050]在一個(gè)示例中,管理層64可以提供下述功能:資源供應(yīng)功能:提供用于在云計(jì)算環(huán)境中執(zhí)行任務(wù)的計(jì)算資源和其它資源的動(dòng)態(tài)獲??;計(jì)量和定價(jià)功能:在云計(jì)算環(huán)境內(nèi)對(duì)資源的使用進(jìn)行成本跟蹤,并為此提供帳單和發(fā)票。在一個(gè)例子中,該資源可以包括應(yīng)用軟件許可。安全功能:為云的消費(fèi)者和任務(wù)提供身份認(rèn)證,為數(shù)據(jù)和其它資源提供保護(hù)。用戶門戶功能:為消費(fèi)者和系統(tǒng)管理員提供對(duì)云計(jì)算環(huán)境的訪問(wèn)。服務(wù)水平管理功能:提供云計(jì)算資源的分配和管理,以滿足必需的服務(wù)水平。服務(wù)水平協(xié)議(SLA)計(jì)劃和履行功能--為根據(jù)SLA預(yù)測(cè)的對(duì)云計(jì)算資源未來(lái)需求提供預(yù)先安排和供應(yīng)。
[0051]工作負(fù)載層66提供云計(jì)算環(huán)境可能實(shí)現(xiàn)的功能的示例。在該層中,可提供的工作負(fù)載或功能的示例包括:地圖繪制與導(dǎo)航;軟件開發(fā)及生命周期管理;虛擬教室的教學(xué)提供;數(shù)據(jù)分析 處理;交易處理;以及用于移動(dòng)設(shè)備訪問(wèn)云計(jì)算服務(wù)的移動(dòng)桌面(例如,54A、54C和54N,以及云計(jì)算環(huán)境50中的移動(dòng)節(jié)點(diǎn)10)。
[0052]在一個(gè)實(shí)施例中,硬件和軟件層60與虛擬層62之一或兩者可以包括諸如網(wǎng)絡(luò)服務(wù)器前端和圖像高速緩存的邊緣組件以及例如在更性能RAID存儲(chǔ)區(qū)域網(wǎng)(SAN)中的圖像庫(kù)存儲(chǔ)器。在一個(gè)示例性實(shí)施例中,諸如在虛擬層62中的虛擬機(jī)分配應(yīng)用70的應(yīng)用可以實(shí)現(xiàn)用于確定和/或執(zhí)行在此所述的虛擬機(jī)分配的處理或方法;然而,可以明白,可以在任何層中實(shí)現(xiàn)應(yīng)用70。
[0053]圖4圖示了任何示例性計(jì)算系統(tǒng)80,其包含對(duì)等和/或客戶機(jī)/服務(wù)器網(wǎng)絡(luò)82,諸如云計(jì)算網(wǎng)絡(luò),該云計(jì)算網(wǎng)絡(luò)包括多個(gè)主機(jī)或節(jié)點(diǎn)74,諸如服務(wù)器。在示例性實(shí)施例中,每一個(gè)節(jié)點(diǎn)84包括高速處理設(shè)備(例如,主機(jī)或服務(wù)器計(jì)算機(jī)),該高速處理裝置包括至少一個(gè)處理電路(例如,CPU),該至少一個(gè)處理電路能夠讀取和執(zhí)行指令,并且處理來(lái)自用戶或作為共享的物理資源的客戶計(jì)算機(jī)86的多個(gè)交互請(qǐng)求。用戶可以經(jīng)由用戶計(jì)算機(jī)86來(lái)啟動(dòng)在節(jié)點(diǎn)84上的各種任務(wù),諸如開發(fā)和執(zhí)行系統(tǒng)測(cè)試、運(yùn)行應(yīng)用程序和啟動(dòng)系統(tǒng)遷移。
[0054]網(wǎng)絡(luò)82可以是在本領(lǐng)域中公知的任何類型的通信網(wǎng)絡(luò)。例如,網(wǎng)絡(luò)82可以是內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng)或諸如因特網(wǎng)的互連網(wǎng)絡(luò)或者其組合。網(wǎng)絡(luò)82可以包括無(wú)線、有線和/或光纖鏈路。
[0055]在示例性實(shí)施例中,每一個(gè)節(jié)點(diǎn)84訪問(wèn)和在一個(gè)或多個(gè)相關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)裝置中存儲(chǔ)數(shù)據(jù),該一個(gè)或多個(gè)相關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)裝置可以包括任何類型的存儲(chǔ)器并且可以包括輔助存儲(chǔ)元件,諸如硬盤驅(qū)動(dòng)器、帶或在節(jié)點(diǎn)84內(nèi)部或外部的存儲(chǔ)子系統(tǒng)??梢栽谠磾?shù)據(jù)存儲(chǔ)裝置中存儲(chǔ)的數(shù)據(jù)的類型例如包括在一個(gè)或多個(gè)虛擬機(jī)(VM) 88中包括的存儲(chǔ)器與分配和遷移數(shù)據(jù)(例如,數(shù)據(jù)結(jié)構(gòu))。在一個(gè)示例性實(shí)施例中,也在數(shù)據(jù)存儲(chǔ)裝置中存儲(chǔ)VM配置信息和/或節(jié)點(diǎn)存儲(chǔ)器訪問(wèn)數(shù)據(jù)。
[0056]在示例性實(shí)施例中,節(jié)點(diǎn)84執(zhí)行各種應(yīng)用,諸如節(jié)點(diǎn)超管理器90和多個(gè)VM88。術(shù)語(yǔ)“超管理器”指的是支持一個(gè)或多個(gè)虛擬機(jī)的執(zhí)行的低級(jí)應(yīng)用。超管理器90管理對(duì)于節(jié)點(diǎn)84的資源的訪問(wèn),并且作為用于支持VM的同時(shí)運(yùn)行的VM監(jiān)控器。每一個(gè)VM可以支持特定的客人操作系統(tǒng)和用于執(zhí)行被寫入目標(biāo)客人操作系統(tǒng)的軟件的多個(gè)用戶會(huì)話。例如,一個(gè)VM可以支持Linux⑧操作系統(tǒng)的實(shí)例,而第二 VM執(zhí)行z/OS ?操作系統(tǒng)的實(shí)例。在本領(lǐng)域中公知的其他客人操作系統(tǒng)也可以被源超管理器90通過(guò)VM支持。
[0057]在示例性實(shí)施例中,在節(jié)點(diǎn)84中的超管理器或其他應(yīng)用執(zhí)行VM聯(lián)合體或管理器92以執(zhí)行在此所述的處理,以確定VM的最佳分配和向各個(gè)節(jié)點(diǎn)84和/或在其之間遷移VM。諸如包括可獲得的VM的列表和用于指定所有可獲得的節(jié)點(diǎn)的節(jié)點(diǎn)列表96的VM目錄94的各種數(shù)據(jù)結(jié)構(gòu)可以被超管理器90和/或管理器92存儲(chǔ)和利用來(lái)促進(jìn)VM的分配。另外的示例性數(shù)據(jù)結(jié)構(gòu)包括等價(jià)集合98和相關(guān)聯(lián)的VM列表99,下面進(jìn)一步詳細(xì)地描述它們。
[0058]諸如節(jié)點(diǎn)10和/或節(jié)點(diǎn)84或中央處理設(shè)備的如上所述的系統(tǒng)和設(shè)備可以用于執(zhí)行和/或促進(jìn)在此所述的機(jī)器(例如,VM)遷移和包裝。
[0059]圖5圖示了用于建立允許向諸如主機(jī)服務(wù)器的網(wǎng)絡(luò)節(jié)點(diǎn)有效地分配VM的VM分配模型或指派的方法100。方法100包括在此所述的一個(gè)或多個(gè)階段101-106。結(jié)合系統(tǒng)80描述了方法100,但是不限于此。諸如超管理器或虛擬機(jī)管理器(VMM)的、能夠監(jiān)控和/或控制在網(wǎng)絡(luò)環(huán)境中的VM的一個(gè)或多個(gè)處理器或其他設(shè)備可以執(zhí)行方法100。在一個(gè)實(shí)施例中,方法100包括以所述順序的所有階段101-106的執(zhí)行。然而,可以省略特定階段,可以增加階段,或者可以改變階段的順序。
[0060]在第一階段101中,在諸如云計(jì)算網(wǎng)絡(luò)的網(wǎng)絡(luò)中的一個(gè)或多個(gè)節(jié)點(diǎn)從客戶或客戶端計(jì)算機(jī)接收各種執(zhí)行請(qǐng)求。例如,網(wǎng)絡(luò)82可以從用戶計(jì)算機(jī)86接收各種執(zhí)行請(qǐng)求。
[0061]在第二階段102中,諸如超管理器90的處理器例如從在超管理器的服務(wù)器上存儲(chǔ)的VM目錄94編譯或訪問(wèn)一組VM,該超管理器的服務(wù)器可以被配置為在構(gòu)成網(wǎng)絡(luò)或工作組的服務(wù)器或其他節(jié)點(diǎn)中運(yùn)行。每個(gè)特定的VM具有多個(gè)資源要求。示例性資源要求包括存儲(chǔ)器大小、CPU核心的數(shù)量、由VM要求的網(wǎng)絡(luò)累積通過(guò)量、由VM要求的網(wǎng)絡(luò)外出和/或進(jìn)入通過(guò)量、用于VM的盤累積通過(guò)量和用于VM的盤外出和/或進(jìn)入通過(guò)量等。
[0062]在第三階段103中,將VM編組為一個(gè)或多個(gè)等價(jià)集合的元素。每一個(gè)等價(jià)集合包括相對(duì)于一個(gè)或多個(gè)資源要求相同或近乎相同的一組VM。在等價(jià)集合中列出的這樣的VM可以被稱為“克隆的VM”或“VM克隆”。VM不必完全相同,而是從資源大小的視點(diǎn)看相同,即,每一個(gè)克隆的VM有具有相同或大體相同的大小的資源要求(例如,存儲(chǔ)器)。如在此所述,資源“大小”指的是用于資源的度量值,諸如存儲(chǔ)器大小、CPU核心的數(shù)量或者處理或通過(guò)速度。
[0063]可以根據(jù)與可獲得的VM相關(guān)聯(lián)的不同資源要求大小的數(shù)量來(lái)產(chǎn)生多個(gè)等價(jià)集合。例如,圖4示出管理器92為訪問(wèn)數(shù)量“M”的等價(jià)集合,該數(shù)量對(duì)應(yīng)于所需的不同大小的數(shù)量。
[0064]在一個(gè)實(shí)施例中,在等價(jià)集合中的每一個(gè)VM克隆對(duì)于單個(gè)資源類型或?qū)τ谌魏螖?shù)量的資源類型具有相同的大小要求。在此所述的實(shí)施例不限于此,因?yàn)榭梢允褂萌魏晤愃苹蝾愋偷馁Y源要求來(lái)產(chǎn)生等價(jià)集合。例如,對(duì)于包括存儲(chǔ)器空間、核心的數(shù)量和/或平臺(tái)類型的相同的資源要求的一組VM可以產(chǎn)生等價(jià)集合。然而,可以定義等價(jià)集合使得可以將在指定的資源要求上具有較小差別的VM看作等價(jià)集合的一部分。
[0065]為了說(shuō)明的目的,描述一個(gè)非限定性示例。在這個(gè)示例中,從一組VM,識(shí)別具有等價(jià)資源屬性的三個(gè)克隆的VM (稱為和“C”)。A、B和C的每一個(gè)具有128MB RAM和兩個(gè)CPU核心。對(duì)于這些VM,可以產(chǎn)生被稱為“SMALL”的等價(jià)集合。可以使用對(duì)于在此所述的等價(jià)集合或其他數(shù)據(jù)結(jié)構(gòu)的任何適當(dāng)?shù)闹付ɑ蛎麘T例,因?yàn)樵撝付ɑ蛎麘T例不限于在此所述的那些。
[0066]在第四階段104中,對(duì)于每一個(gè)等價(jià)集合產(chǎn)生或指定多個(gè)元組合。每一個(gè)“元組合”是用于表示在等價(jià)集合內(nèi)的選擇數(shù)量的VM元素的所有可能組合的指定。
[0067]例如,首先通過(guò)建立用于每一個(gè)等價(jià)集合的占位符來(lái)產(chǎn)生在此被稱為元組合列表或指定的數(shù)據(jù)結(jié)構(gòu)。每一個(gè)占位符被提供來(lái)指定來(lái)自對(duì)應(yīng)的等價(jià)集合的元組合。注意,因?yàn)樵诘葍r(jià)集合中的每一個(gè)VM被視為相同(至少相對(duì)于感興趣的資源要求),所以可以將VM的每一個(gè)元組合看作在組合中的多個(gè)VM。因此,對(duì)于每一個(gè)可能數(shù)量的元素產(chǎn)生元組合。
[0068]例如,對(duì)于包括數(shù)量“N”的元素(B卩,獨(dú)立的VM)的等價(jià)集合,可能的元組合的數(shù)量是元素的數(shù)量,即,N。為了例示,考慮包含N個(gè)元素的等價(jià)集合指定的“SET”。從這一點(diǎn),可以產(chǎn)生N個(gè)元組合“SETx”,其中,x=l、2...N0
[0069]對(duì)于包含三個(gè)不同VM的示例性等價(jià)集合,N = 3,并且因此,元組合的數(shù)量是3。等價(jià)集合列表包括表示在等價(jià)集合內(nèi)的每指定數(shù)量的VM的所有可能組合,例如,第一元組合具有一個(gè)VM并且表示任何單個(gè)VM,第二元組合表示兩個(gè)VM的任何組合,并且第三元組合表示三個(gè)VM的任何組合。
[0070]再一次參照被指定為SMALL等價(jià)集合的VM (A、B和C)的示例性組,可以指定三個(gè)元組合。因此對(duì)于下述部分產(chǎn)生占位符:用于表示來(lái)自該集合的任何單個(gè)VM的第一元組合“SMALL1”、用于表示來(lái)自該集合的兩個(gè)不同的VM的任何組合的第二組合“SMALL2”和用于表示來(lái)自該集合的所有三個(gè)VM的第三組合“SMALL3”。
[0071]基于每一個(gè)VM的已知的資源要求,可以向每一個(gè)元組合指派累積資源要求。通過(guò)將在元組合中的VM的數(shù)量乘以這樣要求的標(biāo)稱值來(lái)確定該累積資源要求。
[0072]例如,對(duì)于在SMALL集合中的每一個(gè)元組合的資源要求是在元組合中的VM的數(shù)量(即,乘數(shù))乘以用于在所指定的集合中的任何單獨(dú)元素的具體測(cè)量的資源要求的標(biāo)稱值。因此,對(duì)于SMALLxl (A、B或C)的資源要求是128MB RAM和2個(gè)CPU核心,對(duì)于SMALLx2(A、B或C的任何兩個(gè))的資源要求是256MB RAM,并且,對(duì)于SMALLx3 (A、B或C)的資源要求是384MB RAM和6個(gè)CPU核心。
[0073]注意,包括VM克隆的每一個(gè)元組合表示在對(duì)應(yīng)的等價(jià)集合中的VM的所有可能組合,而不明確地列舉每個(gè)VM組合。這提供了指定VM的分配的有效方式,特別是當(dāng)虛擬機(jī)的大多數(shù)是現(xiàn)有的虛擬機(jī)的克隆或拷貝的時(shí)候。
[0074]在第五階段105中,基于一個(gè)或多個(gè)選擇的節(jié)點(diǎn)的資源能力來(lái)約束元組合列表。在一個(gè)實(shí)施例中,通過(guò)下述方式來(lái)約束列表:僅構(gòu)造具有小于或等于所選擇的每一個(gè)維度的閾值(其中,每一個(gè)維度對(duì)應(yīng)于所選擇的資源類型)的累積資源要求的那些元組合或元組合的組。在一個(gè)實(shí)施例中,所選擇的閾值對(duì)應(yīng)于一個(gè)或多個(gè)節(jié)點(diǎn)的最大資源容量(相對(duì)于當(dāng)構(gòu)造元組合和等價(jià)集合時(shí)考慮的資源類型)。資源容量涉及主機(jī)的資源能力,即,涉及主機(jī)能夠支持的資源的最大大小值。在一個(gè)實(shí)施例中,將該閾值給出為在網(wǎng)絡(luò)上的最大主機(jī)的最大資源容量。例如,元組合的累積存儲(chǔ)器(例如,RAM消耗)限于小于期望的RAM超額因子乘以在網(wǎng)絡(luò)上的最大王機(jī)中的最大RAM。
[0075]例如,考慮從等價(jià)集合構(gòu)造的所有元組合,并且選擇在大小上小于在網(wǎng)絡(luò)上的最大主機(jī)的那些元組合的所有可能組合(即,元組合列表)。在此,“在大小上較小”表示對(duì)于每一個(gè)選擇的維度的元組合的累積資源分配(諸如網(wǎng)絡(luò)消耗、所需的CPU核心或存儲(chǔ)量分配)必須小于相應(yīng)的最大主機(jī)值。
[0076]可以使用任何適當(dāng)?shù)乃惴▉?lái)選擇具有小于或等于最大資源容量或其他閾值的累積資源要求的可能的元組合和元組合列表。例如,使用有效的基于列表的算法來(lái)構(gòu)造對(duì)于基于最大主機(jī)的網(wǎng)絡(luò)適當(dāng)?shù)匦〉拿恳粋€(gè)可能的元組合和/或元組合列表。該算法通過(guò)例如使用擴(kuò)展類似于計(jì)算Pascal的三角形的形狀的三角波表格的方案來(lái)在有效的空間和時(shí)間中執(zhí)打該構(gòu)造。
[0077]在一個(gè)實(shí)施例中,產(chǎn)生節(jié)點(diǎn)的列表和它們各自的資源容量,以用在指派元組合列表中。例如,基于網(wǎng)絡(luò)詢問(wèn)和收集階段來(lái)了解每一個(gè)節(jié)點(diǎn)的資源容量。在運(yùn)行時(shí)間,可以通過(guò)了解每一個(gè)主機(jī)的容量來(lái)將主機(jī)的列表從最大向最小分類。
[0078]在第六階段106中,對(duì)于一個(gè)或多個(gè)選擇的節(jié)點(diǎn)產(chǎn)生元組合指派。在一個(gè)實(shí)施例中,對(duì)于在網(wǎng)絡(luò)上的每一個(gè)節(jié)點(diǎn)或節(jié)點(diǎn)的子集(例如,工作組)產(chǎn)生元組合指派??梢酝ㄟ^(guò)節(jié)點(diǎn)的各自的超管理器或通過(guò)中央服務(wù)器或處理器來(lái)產(chǎn)生對(duì)于該節(jié)點(diǎn)的指派。
[0079]利用適當(dāng)?shù)乃阉魉惴▉?lái)選擇作為相對(duì)于節(jié)點(diǎn)的資源容量最佳的適合的元組合列表。在一個(gè)實(shí)施例中,貪婪搜索算法選擇作為用于節(jié)點(diǎn)的多維最佳適合的元組合的組合。
[0080]在一個(gè)實(shí)施例中,該算法用于選擇用于在網(wǎng)絡(luò)上的多個(gè)節(jié)點(diǎn)的每一個(gè)的元組合。例如,從節(jié)點(diǎn)列表96選擇最大的未填充或可獲得的節(jié)點(diǎn),并且選擇和向該節(jié)點(diǎn)指派對(duì)于該節(jié)點(diǎn)最適合的元組合列表。對(duì)于在網(wǎng)絡(luò)中的每一個(gè)隨后的節(jié)點(diǎn)重復(fù)該選擇,通過(guò)選擇在網(wǎng)絡(luò)中的下一個(gè)最大節(jié)點(diǎn)來(lái)進(jìn)行穿過(guò)節(jié)點(diǎn)列表96。
[0081]例如,選擇在網(wǎng)絡(luò)中的最大的未填充主機(jī),并且選擇元組合列表。通過(guò)選擇單個(gè)資源要求類型(或者至少少于在列表的每一個(gè)元組合中等價(jià)的資源要求類型的總數(shù))來(lái)嘗試初始的元組合列表選擇。示例性初始資源類型是存儲(chǔ)器,其可以被單獨(dú)看作作為從更大的主機(jī)最快地消耗的資源瓶頸的存儲(chǔ)器。在兩個(gè)或更多的元組合列表選項(xiàng)在存儲(chǔ)器要求中等價(jià)的情況下,可以通過(guò)哪個(gè)列表包括具有最少元素的元組合(即,包括由最大資源要求大小構(gòu)成的元組合,并且可能在后面處理的較小的硬件配置上更難滿足)來(lái)將該選項(xiàng)分類。在繪圖的情況下,可以基于諸如CPU消耗、網(wǎng)絡(luò)消耗和其他(使用作為連接斷路器的較少元組合的相同手段)的另外的資源類型來(lái)執(zhí)行該同一手段。
[0082]結(jié)果是向節(jié)點(diǎn)或主機(jī)的元組合指派?;貞浽M合列表不是用于向主機(jī)分派的虛擬機(jī)的特定的或具體的集合,而是VM類型或組的最佳組合應(yīng)當(dāng)看起來(lái)像的。
[0083]下面示出了示例性元組合指派。在這個(gè)示例中,通過(guò)相對(duì)于存儲(chǔ)器要求的等價(jià)集合來(lái)組織一組VM。VM具有范圍從IGB的RAM至8GB的RAM的存儲(chǔ)器要求。確定四個(gè)等價(jià)集合:“MICRO (宏)”集合,其包括具有IGB的存儲(chǔ)器資源要求的所有VM SMALL (小)”集合,其包括要求2GB的VM ;"MEDIUM (中等)”集合,其包括要求4GB的VM ;以及,“LARGE (大)”聚合,其包括要求8GB的VM。對(duì)于每一個(gè)等價(jià)集合,考慮多個(gè)元組合。例如,包括數(shù)量N的VM 的 SMALL 集合對(duì)應(yīng)于 N 個(gè)元組合 SMALL1、SMALL2、...、SMALL N。
[0084]使用如上所述的算法,對(duì)于具有20GB的存儲(chǔ)器容量的節(jié)點(diǎn)提供了從可能的元組合選擇的元組合列表:
[0085][(SMALL3:2x3), (MEDIUM1:4x1), (LARGE1:8x1), (MICR02:1x2)-20]
[0086]該元組合列表包括四個(gè)元組合:包括來(lái)自小集合的三個(gè)元素(小集合的每一個(gè)元素使用2GB RAM,得出用于這個(gè)元組合的6GB RAM使用)、來(lái)自中等集合的一個(gè)元素(中等集合的每個(gè)元素使用4GB RAM,得出用于這個(gè)元組合的4GB RAM使用)、來(lái)自大集合的一個(gè)元素(大集合的每一個(gè)元素使用8GB RAM,得出用于這個(gè)元組合的8GB RAM使用)和來(lái)自宏集合的兩個(gè)元素(宏集合的每一個(gè)元素使用IGB RAM,得出用于這個(gè)元組合的2GB RAM使用)的元組合。尾部標(biāo)簽-20指示元組合列表的整體存儲(chǔ)量消耗(即,20GB)
[0087]元組合列表可以被產(chǎn)生為選擇的數(shù)據(jù)結(jié)構(gòu),諸如用于主機(jī)的元數(shù)據(jù)。一種示例性數(shù)據(jù)結(jié)構(gòu)是開放虛擬格式(OVF)包的一部分,例如,在該包中的虛擬機(jī)合同(VMC)。
[0088]在一個(gè)實(shí)施例中,多個(gè)元組合列表被存儲(chǔ)為由服務(wù)器超管理器或向主機(jī)指派VM的其他處理器可訪問(wèn)的列表。提供了元組合列表的分類的列表,并且以最佳的元組合列表在先。例如,上面的元組合列表示例是一系列或一組具有20GB的組合存儲(chǔ)器要求的元組合列表的第一個(gè)。指派處理器僅需要選擇第一可獲得元組合列表來(lái)作為指派,并且根據(jù)每一個(gè)元組合來(lái)從每一個(gè)等價(jià)集合選擇VM。
[0089]圖6圖示了用于向選擇的節(jié)點(diǎn)分配VM的方法110,該方法可以包括向所選擇的節(jié)點(diǎn)遷移VM和/或包裝VM。方法110包括在此所述的一個(gè)或多個(gè)階段111-114。結(jié)合系統(tǒng)80來(lái)描述方法110,但是不限于此??梢酝ㄟ^(guò)諸如超管理器或虛擬機(jī)管理器(VMM)的、能夠監(jiān)控和/或控制在網(wǎng)絡(luò)環(huán)境中的虛擬機(jī)的一個(gè)或多個(gè)處理器或其他設(shè)備來(lái)執(zhí)行方法110。在一個(gè)實(shí)施例中,方法110包括以所述的順序的階段111-114的全部的執(zhí)行。然而,可以省略特定的階段,可以增加階段,或者可以改變階段的順序。
[0090]在第一階段111中,諸如超管理器90和/或VM管理器92的節(jié)點(diǎn)的處理器產(chǎn)生或接收對(duì)于該節(jié)點(diǎn)的一個(gè)或多個(gè)元組合指派。元組合指派包括經(jīng)由方法Iio選擇的元組合列表的一個(gè)或多個(gè)。
[0091]在第二階段112中,處理器在運(yùn)行時(shí)間訪問(wèn)元組合指派,并且選擇滿足在該指派中的每一個(gè)元組合的可獲得VM (例如,具體、離散VM實(shí)例)。在一個(gè)實(shí)施例中,處理器從列表或列表的組選擇元組合列表。
[0092]對(duì)于每一個(gè)元組合,處理器訪問(wèn)與那個(gè)元組合相關(guān)聯(lián)的等價(jià)集合列表96中的一系列VM。來(lái)自等價(jià)集合列表96的可獲得的VM被選擇來(lái)向節(jié)點(diǎn)分配和/或遷移。
[0093]參見如上所述的示例性元組合指派,在那個(gè)示例中,管理器92對(duì)于由元組合指定的每一個(gè)等價(jià)集合選擇VM的數(shù)量。例如,從小集合選擇三個(gè)VM,從中等集合選擇一個(gè)W,從大集合選擇一個(gè)VM,并且從宏集合選擇兩個(gè)VM??梢赃m當(dāng)?shù)嘏判蛎恳粋€(gè)等價(jià)集合,使得可以從每一個(gè)列表的頂部選擇適當(dāng)?shù)目色@得的VM,由此簡(jiǎn)化選擇。
[0094]可以利用各種算法的任何一種來(lái)執(zhí)行該VM的選擇。例如,超管理器(例如,在運(yùn)行時(shí)間)可以有效地嘗試在修改的最佳適合第一搜索中滿足元組合。例如通過(guò)下述方式來(lái)簡(jiǎn)化這個(gè)任務(wù):對(duì)于等價(jià)集合98的未分配或未指派的具體候選元素(即,具體VM實(shí)例)的每一個(gè)該集合,保存被稱為“具體實(shí)例列表”或VM列表99的一個(gè)鏈接列表。如果關(guān)于兀組合指定可獲得N個(gè),則超管理器從該列表選擇前N個(gè)項(xiàng)目。
[0095]在一個(gè)實(shí)施例中,對(duì)于節(jié)點(diǎn)提供多個(gè)元組合指派。如果不能填充最佳的元組合指派,則可以通過(guò)允許處理器選擇另一個(gè)列表的期望來(lái)組織該指派。例如,如果存在不足的具體實(shí)例,則超管理器可以上一個(gè)臺(tái)階,并且選擇下一個(gè)最佳的元組合指派,并且嘗試滿足它直到找到具體的滿意。[0096]在一個(gè)實(shí)施例中,在選擇時(shí),可以相對(duì)于任何另外的標(biāo)準(zhǔn)或限制查看任何VM候選選擇。例如,可以查看每一個(gè)列出的VM以便不共置列入黑名單的虛擬機(jī)對(duì),并且可以優(yōu)先地布置合同指定的VM對(duì)。
[0097]在一個(gè)實(shí)施例中,通過(guò)在網(wǎng)絡(luò)中的節(jié)點(diǎn)上動(dòng)態(tài)地映射VM的現(xiàn)有分配來(lái)保持用于表示可獲得和分配的VM (例如,VM目錄94和/或VM列表99)的列表或其他數(shù)據(jù)結(jié)構(gòu)。在這個(gè)實(shí)施例中,方法110包括:將用于服務(wù)器或其他節(jié)點(diǎn)的所選擇的元組合指派與現(xiàn)有的分配作比較,以確定現(xiàn)有的分配是否匹配或否則滿足由元組合指派規(guī)定的分配。
[0098]可以保存VM列表以在運(yùn)行時(shí)間期間監(jiān)控VM分配。在列表和/或映射中的每一個(gè)現(xiàn)有的VM可以被標(biāo)注與元組合符號(hào)相同或充分類似的符號(hào),使得如果已經(jīng)在網(wǎng)絡(luò)上存在與規(guī)定元組合分配之一的精確的匹配或類似,則可以省略資源的重新分配。
[0099]可以在選擇階段期間協(xié)商動(dòng)態(tài)更新的VM列表或映射,以確定是否可獲得至少類似于由元組合指派表示的最佳組合的VM的現(xiàn)有的分配的組合。例如,使用一種算法,該算法通過(guò)確定遷移開銷來(lái)選擇VM的現(xiàn)有的接近組合,以將這樣的現(xiàn)有組合轉(zhuǎn)換為由元組合指派規(guī)定的最佳分配??梢酝ㄟ^(guò)下述方式來(lái)確定遷移開銷:查看例如需要從節(jié)點(diǎn)撤出的VM的數(shù)量外加需要與那些虛擬機(jī)的RAM大小一起被輸入的VM的數(shù)量。這些值允許人們預(yù)測(cè)(基于已知的網(wǎng)絡(luò)帶寬和現(xiàn)有的通過(guò)量公式)到優(yōu)化布置的時(shí)間以及被遷移的虛擬機(jī)的可能擾動(dòng)的持續(xù)時(shí)間。這可以允許處理器進(jìn)行遷移決定,其導(dǎo)致現(xiàn)有的虛擬機(jī)的更少的擾動(dòng)。VM列表或映射也可以包括對(duì)于相對(duì)重力的給定虛擬機(jī)或一組虛擬機(jī)的指定,通過(guò)這一點(diǎn),那些機(jī)器趨向于不被居住遷移。可以避免這些VM的遷移,并且在列表中的其他VM當(dāng)動(dòng)態(tài)重新平衡需要出現(xiàn)時(shí)可以被遷移到它們。
[0100]在第三階段113中,可獲得的VM的列表被更新以反映已經(jīng)分配或新的不可獲得的VM。例如,當(dāng)分配來(lái)自VM目錄和/或等價(jià)集合列表98的具體VM時(shí),從其去除它們。
[0101]在第四階段114中,向適當(dāng)?shù)墓?jié)點(diǎn)分配或包裝所選擇的VM??梢酝ㄟ^(guò)下述方式來(lái)實(shí)現(xiàn)這一點(diǎn):從在網(wǎng)絡(luò)上的存儲(chǔ)位置或另一個(gè)節(jié)點(diǎn)遷移或移動(dòng)所選擇的VM。
[0102]技術(shù)效果和益處包括通過(guò)最佳地向網(wǎng)絡(luò)節(jié)點(diǎn)或主機(jī)分配或包裝VM來(lái)提供網(wǎng)絡(luò)資源的有效利用。例如,在此所述的系統(tǒng)和設(shè)備例如通過(guò)禁止或動(dòng)態(tài)地將一些主機(jī)掉電來(lái)允許向最小數(shù)量的主機(jī)上包裝虛擬機(jī),以由此允許節(jié)能和高效??梢栽诳山邮艿臅r(shí)間范圍內(nèi)執(zhí)行在此所述的方法,以避免在執(zhí)行網(wǎng)絡(luò)請(qǐng)求中的延遲。
[0103]現(xiàn)有技術(shù)的方法不允許算法的有效確定。例如,強(qiáng)力方法太慢以至于在云計(jì)算應(yīng)用中不可行。同樣,多線程算法證明對(duì)于中等至大的云應(yīng)用(例如,超過(guò)大約30個(gè)VM)太慢。一般地求解VM分配被稱為與漸縮問(wèn)題相關(guān)的非確定性多項(xiàng)式困難問(wèn)題以及其他η維指定包裝問(wèn)題。因此,計(jì)算在H個(gè)主機(jī)上的N個(gè)虛擬機(jī)的所有可能的包裝是Ν~Η個(gè)可能組合,并且即使與許多線程并行地計(jì)算也對(duì)于短的運(yùn)行時(shí)間(動(dòng)態(tài)頻繁重新加強(qiáng))是棘手的。在此所述的實(shí)施例提供了用于求解分配問(wèn)題的方法,該方法處理這些問(wèn)題并且提供了改善的啟發(fā)求解技術(shù)。
[0104]在此使用的術(shù)語(yǔ)僅用于描述特定實(shí)施例的目的,并且不意欲限制本發(fā)明。支持使用的單數(shù)形式“一個(gè)”和“該”意欲也包括復(fù)數(shù)形式。除非上下文清楚地另外指示。進(jìn)一步可以明白,術(shù)語(yǔ)“包括”和/或“包含”當(dāng)在本說(shuō)明書中使用時(shí)指定所述特征、整數(shù)、步驟、操作、元件和/或部件的存在,但是不排出一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、部件和/或其組的存在或增加。
[0105]在所附的權(quán)利要求中的所有部件或步驟外加功能元素的對(duì)應(yīng)的結(jié)構(gòu)、材料、行為和等同內(nèi)容意欲包括用于與具體要求保護(hù)的其他要求保護(hù)的元素相結(jié)合地執(zhí)行功能的任何結(jié)構(gòu)、材料或行為。為了例示和說(shuō)明的目的,已經(jīng)提供了在本說(shuō)明書內(nèi)公開的實(shí)施例的描述,但是該說(shuō)明不意欲是窮盡的或限于所公開的形式。在不偏離本發(fā)明的實(shí)施例的范圍和精神的情況下,許多修改和變化對(duì)于本領(lǐng)域內(nèi)的普通技術(shù)人員是顯然的。選擇和描述實(shí)施例以便最佳地解釋本發(fā)明的原理和實(shí)際應(yīng)用,并且使得其他本領(lǐng)域內(nèi)的普通技術(shù)人員能夠明白用于具有適合于所考慮的特定用途的各種修改的各個(gè)實(shí)施例的發(fā)明布置。
[0106]而且,本領(lǐng)域的技術(shù)人員可以明白,本發(fā)明的方面可以實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的方面可以采用以下形式:完全硬件實(shí)施例、完全軟件實(shí)施例(包括固件、駐留軟件、微代碼等)或組合軟件和硬件方面的實(shí)施例,它們可以全部被一般在此稱為“電路”、“模塊”或“系統(tǒng)”。此外,本發(fā)明的方面可以采用在其中包含計(jì)算機(jī)可讀程序代碼的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中包含的計(jì)算機(jī)程序產(chǎn)品的形式。
[0107]可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是但不限于電、磁、光、電磁、紅外線或半導(dǎo)體的系統(tǒng)、設(shè)備或裝置或者以上的任意合適組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的示例(非窮盡的列表)包括下述部分:具有一條或多條導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可可擦除可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式致密盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)設(shè)備、磁存儲(chǔ)設(shè)備或者上述的任意合適的組合。在本文的上下文中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、設(shè)備或者裝置使用或者與其結(jié)合使用。
[0108]計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括例如在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的信號(hào)可以采用多種形式的任何一種,包括但不限于電磁信號(hào)、光信號(hào)或上述的任意合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以是不是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、設(shè)備或者裝置使用或者與其結(jié)合使用的程序。
[0109]在計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括但不限于無(wú)線、有線、光纜線纜、RF等等或者上述的任意合適的組合。
[0110]可以以一種或多種編程語(yǔ)言的組合來(lái)編寫用于執(zhí)行本發(fā)明的方面的操作的計(jì)算機(jī)程序代碼,所述編程語(yǔ)言包括:面向?qū)ο蟮木幊陶Z(yǔ)言,諸如Java、Smalltalk或C++等;以及,常規(guī)的過(guò)程式編程語(yǔ)言,諸如“C”編程語(yǔ)言或類似的編程語(yǔ)言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上并且部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在后一種情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)的任意種類的網(wǎng)絡(luò)連接到用戶的計(jì)算機(jī),或者,可以建立到外部計(jì)算機(jī)的連接(例如,利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。
[0111]上面參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述了本發(fā)明的方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理設(shè)備的處理器,使得通過(guò)計(jì)算機(jī)的處理器或其它可編程數(shù)據(jù)處理設(shè)備執(zhí)行的指令產(chǎn)生實(shí)現(xiàn)流程圖和/或框圖的一個(gè)或多個(gè)方框中規(guī)定的功能/操作的設(shè)備。
[0112]也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在能使得計(jì)算機(jī)、其它可編程數(shù)據(jù)處理設(shè)備或其他設(shè)備以特定方式工作的計(jì)算機(jī)可讀介質(zhì)中,使得存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令產(chǎn)生出一個(gè)包括實(shí)現(xiàn)流程圖和/或框圖的一個(gè)或多個(gè)方框中規(guī)定的功能/操作的指令的制造
品O
[0113]也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理設(shè)備或其它設(shè)備上,以使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理設(shè)備或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,從而使得在計(jì)算機(jī)或其它可編程設(shè)備上執(zhí)行的指令能夠提供實(shí)現(xiàn)流程圖和/或框圖的一個(gè)或多個(gè)方框中規(guī)定的功能/操作的過(guò)程。
[0114]附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
[0115]以上已經(jīng)描述了本發(fā)明的各實(shí)施例,上述說(shuō)明是示例性的,并非窮盡性的,并且也不限于所披露的各實(shí)施例。在不偏離所說(shuō)明的各實(shí)施例的范圍和精神的情況下,對(duì)于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來(lái)說(shuō)許多修改和變更都是顯而易見的。本文中所用術(shù)語(yǔ)的選擇,旨在最好地解釋各實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌?chǎng)中的技術(shù)的改進(jìn),或者使本【技術(shù)領(lǐng)域】的其它普通技術(shù)人員能理解本文披露的各實(shí)施例。
【權(quán)利要求】
1.一種用于確定虛擬機(jī)向網(wǎng)絡(luò)節(jié)點(diǎn)的分配的方法,包括: 被配置為在網(wǎng)絡(luò)上運(yùn)行的虛擬機(jī)(VM)的列表的產(chǎn)生和訪問(wèn)的至少一個(gè),每個(gè)VM具有至少一個(gè)網(wǎng)絡(luò)資源要求,在所述列表中的每一個(gè)VM與所述至少一個(gè)網(wǎng)絡(luò)資源要求的大小相關(guān)聯(lián); 選擇至少一個(gè)等價(jià)集合的具有至少大體相同的資源要求大小的VM ; 從所述至少一個(gè)等價(jià)集合的VM產(chǎn)生多個(gè)元組合,每一個(gè)元組合表示從所述等價(jià)集合選擇的多個(gè)單獨(dú)VM的所有可能的組合; 確定在所述網(wǎng)絡(luò)中的節(jié)點(diǎn)的最大資源容量;并且, 向所述節(jié)點(diǎn)提供元組合指派,所述元組合指派包括具有小于或等于所述最大資源容量的累積資源要求大小值的一組元組合。
2.根據(jù)權(quán)利要求1所述的方法,其中,選擇所述至少一個(gè)等價(jià)集合包括:至少選擇具有第一資源要求大小的VM的第一等價(jià)集合和具有與所述第一資源要求大小不同的第二資源要求大小的第二等價(jià)集合。
3.根據(jù)權(quán)利要求2所述的方法,其中,產(chǎn)生所述多個(gè)元組合包括:至少?gòu)乃龅谝坏葍r(jià)集合產(chǎn)生第一多個(gè)元組合,并且從所述第二等價(jià)集合產(chǎn)生第二多個(gè)元組合。
4.根據(jù)權(quán)利要求1所述的方法,其中,提供所述元組合指派包括:產(chǎn)生多個(gè)組的不同元組合,并且選擇最接近最大資源容量的組。
5.根據(jù)權(quán)利要求1所述的方法,其中,提供所述元組合指派包括:基于貪婪搜索算法來(lái)選擇所述元組合的組,以找到表示對(duì)于所述節(jié)點(diǎn)的多維最佳適合的組。
6.根據(jù)權(quán)利要求1所述的方法,其中,提供所述元組合指派包括:產(chǎn)生具有小于或等于所述最大資源容量的組合資源要求的所有可能組的元組合的列表。
7.根據(jù)權(quán)利要求1所述的方法,其中,所述網(wǎng)絡(luò)包括多個(gè)節(jié)點(diǎn),確定最大資源容量包括確定所述多個(gè)節(jié)點(diǎn)的每一個(gè)的最大資源容量,并且提供所述元組合指派包括產(chǎn)生多個(gè)元組合指派,并且對(duì)于所述多個(gè)節(jié)點(diǎn)的每一個(gè)提供元組合指派。
8.根據(jù)權(quán)利要求1所述的方法,其中,所述網(wǎng)絡(luò)包括多個(gè)節(jié)點(diǎn),并且所述最大資源容量是在所述網(wǎng)絡(luò)中的最大節(jié)點(diǎn)的所述最大資源容量。
9.根據(jù)權(quán)利要求1所述的方法,其中,從存儲(chǔ)器大小、CPU核心的數(shù)量、所需的網(wǎng)絡(luò)通過(guò)量和所需的盤通過(guò)量的至少一個(gè)選擇所述資源要求。
10.根據(jù)權(quán)利要求1所述的方法,其中,每一個(gè)元組合表示多個(gè)VM,而不具體列舉單獨(dú)的VM。
11.一種裝置,包括: 在網(wǎng)絡(luò)節(jié)點(diǎn)和網(wǎng)絡(luò)控制設(shè)備的至少一個(gè)中布置的至少一個(gè)處理設(shè)備;以及 其上存儲(chǔ)了指令的存儲(chǔ)設(shè)備,所述指令當(dāng)被所述至少一個(gè)處理設(shè)備執(zhí)行時(shí),使得所述裝置: 執(zhí)行被配置為在網(wǎng)絡(luò)上運(yùn)行的虛擬機(jī)(VM)的列表的產(chǎn)生和訪問(wèn)的至少一個(gè),每個(gè)VM具有至少一個(gè)網(wǎng)絡(luò)資源要求,在所述列表中的每一個(gè)VM與所述至少一個(gè)網(wǎng)絡(luò)資源要求的大小相關(guān)聯(lián); 選擇至少一個(gè)等價(jià)集合的具有至少大體相同的資源要求大小的VM ; 從所述至少一個(gè)等價(jià)集合的VM產(chǎn)生多個(gè)元組合,每一個(gè)元組合表示從所述等價(jià)集合選擇的多個(gè)單獨(dú)VM的所有可能的組合; 確定在所述網(wǎng)絡(luò)中的節(jié)點(diǎn)的最大資源容量;并且, 向所述節(jié)點(diǎn)提供元組合指派,所述元組合指派包括具有小于或等于所述最大資源容量的累積資源要求大小值的一組元組合。
12.根據(jù)權(quán)利要求11所述的裝置,其中,所述裝置被配置來(lái)通過(guò)至少選擇具有第一資源要求大小的VM的第一等價(jià)集合和具有與所述第一資源要求大小不同的第二資源要求大小的第二等價(jià)集合來(lái)選擇所述至少一個(gè)等價(jià)集合,并且產(chǎn)生所述多個(gè)元組合包括:至少?gòu)乃龅谝坏葍r(jià)集合產(chǎn)生第一多個(gè)元組合,并且從所述第二等價(jià)聚合產(chǎn)生第二多個(gè)元組合。
13.根據(jù)權(quán)利要求11所述的裝置,其中,所述裝置被配置來(lái)產(chǎn)生多個(gè)組的不同元組合,并且選擇最接近最大資源容量的組來(lái)作為所述元組合指派。
14.根據(jù)權(quán)利要求11所述的裝置,其中,所述裝置被配置來(lái)基于貪婪搜索算法來(lái)選擇所述元組合的組,以找到表示對(duì)于所述節(jié)點(diǎn)的多維最佳適合的組。
15.根據(jù)權(quán)利要求11所述的裝置,其中,所述裝置被配置來(lái)提供產(chǎn)生具有小于或等于所述最大資源容量的組合資 源要求的所有可能組的元組合的列表。
16.根據(jù)權(quán)利要求11所述的裝置,其中,所述網(wǎng)絡(luò)包括多個(gè)節(jié)點(diǎn),并且所述最大資源容量是在所述網(wǎng)絡(luò)中的最大節(jié)點(diǎn)的所述最大資源容量。
17.根據(jù)權(quán)利要求11所述的裝置,其中,所述網(wǎng)絡(luò)是云計(jì)算網(wǎng)絡(luò)。
【文檔編號(hào)】G06F9/455GK103970607SQ201410042069
【公開日】2014年8月6日 申請(qǐng)日期:2014年1月28日 優(yōu)先權(quán)日:2013年1月28日
【發(fā)明者】E.M.道, J.P.吉爾克里斯特, S.K.施密特, C.J.斯托克 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1