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

虛擬機(jī)拆分方法和系統(tǒng)的制作方法

文檔序號(hào):6352321閱讀:355來源:國(guó)知局
專利名稱:虛擬機(jī)拆分方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明通常涉及系統(tǒng)、軟件以及方法,并且更特別地涉及拆分/合并虛擬機(jī)和它們的操作系統(tǒng)的機(jī)制和技術(shù)。
背景技術(shù)
現(xiàn)今虛擬機(jī)技術(shù)是制定完善的。系統(tǒng)虛擬機(jī)提供支持完整的操作系統(tǒng)(OS)的執(zhí)行的完整的系統(tǒng)平臺(tái)。系統(tǒng)虛擬機(jī)(有時(shí)被稱為硬件虛擬機(jī))允許在每個(gè)運(yùn)行它自己的操作系統(tǒng)的不同虛擬機(jī)之間的基礎(chǔ)的物理機(jī)器資源的共享。例如,圖I示出包含計(jì)算機(jī)12的系統(tǒng)10,該計(jì)算機(jī)12具有虛擬化引擎14以及多個(gè)虛擬機(jī)16到20。提供虛擬化的軟件層被稱為虛擬機(jī)監(jiān)測(cè)程序或管理程序14。管理程序可以在裸硬件上或在操作系統(tǒng)之上運(yùn)行。系統(tǒng)虛擬機(jī)的一些優(yōu)勢(shì)是多個(gè)OS環(huán)境可以共存于相同的計(jì)算機(jī)上,處于彼此強(qiáng)隔離;虛擬機(jī)可以提供與真實(shí)機(jī)器的指令集架構(gòu)稍微不同的指令集架構(gòu);應(yīng)用供應(yīng)、維護(hù)、高的可用性以及故障恢復(fù);等等。信息技術(shù)(IT)專業(yè)人員廣泛將虛擬機(jī)技術(shù)用于軟件開發(fā)并且由企業(yè)用于它們的IT服務(wù)器基礎(chǔ)結(jié)構(gòu)。對(duì)于X86架構(gòu),存在著提供本領(lǐng)域中的支持的多個(gè)供應(yīng)商,例如,VMware> Citrix/XEN、Microsoft、以及 Sun。虛擬化的一個(gè)吸引人的方面是通過管理程序填充從物理硬件去耦(服務(wù)器)操作系統(tǒng)。此填充創(chuàng)建位于(服務(wù)器的)操作系統(tǒng)與硬件之間的虛擬機(jī)。這使得有可能以整個(gè)服務(wù)器為實(shí)例并且將它從一個(gè)物理服務(wù)器機(jī)器移動(dòng)到另一物理服務(wù)器機(jī)器,而無需作出服務(wù)器實(shí)例的任何再配置。所需的“所有”是移動(dòng)虛擬機(jī)。利用更多的近來的管理程序,當(dāng)虛擬機(jī)運(yùn)行時(shí),這樣的轉(zhuǎn)移是可能的。因此,當(dāng)需要在支持虛擬機(jī)的物理服務(wù)器上執(zhí)行維護(hù)時(shí),不必使虛擬機(jī)(并且因此服務(wù)器)離線。換句話說,在維護(hù)工作期間,虛擬機(jī)可以再定位在第二物理服務(wù)器上并且然后當(dāng)已經(jīng)完成主要物理服務(wù)器上的維護(hù)時(shí)搬回。然而,不可能拆分虛擬機(jī)并且在虛擬機(jī)部分之間分布應(yīng)用過程。換句話說,傳統(tǒng)的管理程序能夠?qū)⑻摂M機(jī)作為整體而不是應(yīng)用過程的組從第一服務(wù)器移動(dòng)到第二服務(wù)器。因此,將希望提供避免上述問題和缺點(diǎn)的裝置、系統(tǒng)以及方法。

發(fā)明內(nèi)容
初始運(yùn)行在虛擬機(jī)上的各應(yīng)用過程可能需要在虛擬機(jī)部分之間移動(dòng),該虛擬機(jī)部分在不同物理機(jī)器上移動(dòng)。以此方式,當(dāng)物理機(jī)器必須關(guān)閉或來回搬動(dòng)時(shí),運(yùn)行比支持應(yīng)用過程的終端持續(xù)更久的應(yīng)用過程不必被關(guān)閉并且在以后的階段中重啟。根據(jù)一個(gè)示范性實(shí)施例,存在著一種拆分虛擬機(jī)的方法,該虛擬機(jī)運(yùn)行在第一物理機(jī)器上,該第一物理機(jī)器至少包含處理器和存儲(chǔ)器。該方法包含接收將在虛擬機(jī)上運(yùn)行的多個(gè)過程拆分成兩組或者更多組的指令的步驟;將多個(gè)過程分組成虛擬機(jī)中的兩組或者更多組的步驟;基于在第一物理機(jī)器上運(yùn)行的基礎(chǔ)的虛擬化引擎來將虛擬機(jī)拆分成兩個(gè)或者更多新的虛擬機(jī)的步驟;以及在每個(gè)新的虛擬機(jī)中將屬于兩組或者更多組的對(duì)應(yīng)組的那些過程維持活動(dòng)。根據(jù)另一示范性實(shí)施例,存在著一種計(jì)算機(jī)器,該計(jì)算機(jī)器包含處理器,配置為運(yùn)行創(chuàng)建在計(jì)算機(jī)器上運(yùn)行的虛擬機(jī)的虛擬化引擎;以及接口,連接到該處理器。接口配置為接收將在虛擬機(jī)上運(yùn)行的多個(gè)過程拆分成兩組或者更多組的指令。處理器配置為將多個(gè)過程分組成虛擬機(jī)中的兩組或者更多組;將虛擬機(jī)拆分成兩個(gè)或者更多新的虛擬機(jī);以及在每個(gè)新的虛擬機(jī)中將屬于兩組或者更多組的對(duì)應(yīng)組的那些過程維持活動(dòng)。根據(jù)又一示范性實(shí)施例,存在著一種計(jì)算系統(tǒng),該計(jì)算系統(tǒng)包含第一物理機(jī)器,該第一物理機(jī)器包含處理器,配置為運(yùn)行創(chuàng)建在第一計(jì)算機(jī)器上運(yùn)行的虛擬機(jī)的虛擬化引擎;以及接口,連接到該處理器。接口配置為接收將在虛擬機(jī)上運(yùn)行的多個(gè)過程拆分成兩組或者更多組的指令。處理器配置為將多個(gè)過程分組成虛擬機(jī)中的兩組或者更多組;將虛 擬機(jī)拆分成兩個(gè)或者更多新的虛擬機(jī);以及在每個(gè)新的虛擬機(jī)中將屬于兩組或者更多組的對(duì)應(yīng)組的那些過程維持活動(dòng)。該系統(tǒng)還包含第二物理機(jī)器,配置為接收兩個(gè)或者更多新的虛擬機(jī)中的一個(gè)虛擬機(jī)連同它的對(duì)應(yīng)過程。目標(biāo)是克服以前段落中所論述的一些缺陷并且提供拆分在物理機(jī)器上運(yùn)行的虛擬機(jī)的系統(tǒng)和方法。一個(gè)或多個(gè)獨(dú)立權(quán)利要求有利地提供這樣的機(jī)制來拆分虛擬機(jī)以及其托管的操作系統(tǒng)并且允許托管的過程在拆分的虛擬機(jī)部分中繼續(xù)它們的執(zhí)行。


并入說明書并且構(gòu)成說明書的一部分的附示一個(gè)或多個(gè)實(shí)施例,并且附圖連同描述一起解釋這些實(shí)施例。在圖中
圖I是具有多個(gè)虛擬機(jī)的物理機(jī)器的示意 圖2是根據(jù)示范性實(shí)施例的具有多個(gè)虛擬機(jī)的兩個(gè)物理機(jī)器的示意 圖3是根據(jù)示范性實(shí)施例的將過程分割成組的虛擬機(jī)的示意 圖4是圖示根據(jù)示范性實(shí)施例的虛擬機(jī)的拆分的示意 圖5是圖示根據(jù)示范性實(shí)施例的從第一物理機(jī)器到第二物理機(jī)器的虛擬機(jī)部分的轉(zhuǎn)移的不意 圖6是圖示根據(jù)示范性實(shí)施例的分布在不同物理機(jī)器上的虛擬機(jī)部分的示意 圖7是根據(jù)示范性實(shí)施例的簡(jiǎn)化的物理機(jī)器的示意 圖8是根據(jù)示范性實(shí)施例的將虛擬機(jī)拆分成至少兩個(gè)部分的方法的流程 圖9是根據(jù)示范性實(shí)施例的具有拆分的虛擬機(jī)部分的兩個(gè)物理機(jī)器的示意 圖10是根據(jù)示范性實(shí)施例的轉(zhuǎn)移到相同物理機(jī)器的兩個(gè)虛擬機(jī)部分的示意 圖11是根據(jù)示范性實(shí)施例的合并為相同物理機(jī)器上的一個(gè)虛擬機(jī)部分的兩個(gè)虛擬機(jī)部分的示意 圖12是根據(jù)示范性實(shí)施例的將虛擬機(jī)部分合并為單個(gè)虛擬機(jī)的方法的流程圖;以及 圖13是物理機(jī)器的示意圖。
具體實(shí)施例方式參考附圖進(jìn)行示范性實(shí)施例的以下描述。不同附圖中的相同參考標(biāo)號(hào)識(shí)別相同或類似元件。下文的詳細(xì)描述并不限制本發(fā)明。反而,由所附的權(quán)利要求限定本發(fā)明的范圍。為簡(jiǎn)單起見,關(guān)于虛擬機(jī)的術(shù)語(yǔ)和結(jié)構(gòu)來論述以下實(shí)施例。然而,接著將論述的實(shí)施例不限于這些系統(tǒng)而可應(yīng)用于其它現(xiàn)存的系統(tǒng)。通篇說明書對(duì)“一個(gè)實(shí)施例”或“一實(shí)施例”的提及意味著結(jié)合實(shí)施例描述的特定特征、結(jié)構(gòu)或特性包含在本發(fā)明的至少一個(gè)實(shí)施例中。因此,通篇說明書的各處中的短語(yǔ)“在一個(gè)實(shí)施例中”或“在一實(shí)施例中”的出現(xiàn)不一定全部提及相同的實(shí)施例。另外,可以在一個(gè)或多個(gè)實(shí)施例中用任何合適的方式來組合特定特征、結(jié)構(gòu)或特性。虛擬機(jī)(S卩,運(yùn)行中的虛擬機(jī))的“熱”再定位具有許多優(yōu)點(diǎn),特別是對(duì)于服務(wù)器環(huán)境。然而,單個(gè)同質(zhì)虛擬機(jī)的再定位(熱或冷)沒有充分利用由虛擬化所提供的可能性。例如,使用(基于管理程序的)虛擬化作為方法來將通常會(huì)在單個(gè)物理機(jī)器上執(zhí)行的處理(暫時(shí)地)再分配到若干物理機(jī)器(計(jì)算機(jī)、服務(wù)器、節(jié)點(diǎn)、移動(dòng)電話等)將是有益的。反之亦然。例如,假定物理機(jī)器運(yùn)行要求對(duì)網(wǎng)絡(luò)連續(xù)訪問3小時(shí)的應(yīng)用。然而,僅在2小時(shí)在具體位置上物理機(jī)器是可用的,之后需要將機(jī)器移動(dòng)到另一位置,并且在移動(dòng)過程中機(jī)器可能關(guān)機(jī)或失去對(duì)網(wǎng)絡(luò)的連接。在適當(dāng)?shù)奈恢镁哂羞@樣的方法或過程會(huì)是有用的,即使當(dāng)物理機(jī)器關(guān)機(jī)或脫離網(wǎng)絡(luò)時(shí),該方法或過程允許運(yùn)行中的應(yīng)用仍然具有對(duì)網(wǎng)絡(luò)的訪問。這樣的示例可以是運(yùn)行虛擬機(jī)的膝上型計(jì)算機(jī)。然而,在智能電話以及類似資源有限終端上圍繞虛擬化有正在進(jìn)行的實(shí)驗(yàn)。作為處理拆分/合并的方法的虛擬化也會(huì)有助于使低性能的計(jì)算機(jī)能將工作動(dòng)態(tài)地卸下給高性能的計(jì)算機(jī)。為使其中拆分虛擬機(jī)的新穎方法是有利的情況更具體,假定操作系統(tǒng)運(yùn)行在物理終端(例如,膝上型計(jì)算機(jī))上的虛擬機(jī)上。膝上型計(jì)算機(jī)處于在其中它具有高的帶寬連通性(例如,IOOMbps以太網(wǎng))的一些位置上。膝上型計(jì)算機(jī)用戶開始(若干千兆字節(jié))的大的文件下載。下載開始不久之后,用戶意識(shí)到他需要出現(xiàn)在另一位置并且他還需要將他的膝上型計(jì)算機(jī)帶到那個(gè)位置。則他最可能必須中止(或更糟的是中斷)文件的下載。在離開時(shí)他可能通過3G連接繼續(xù),但實(shí)踐中那可能是太昂貴的或?qū)е麓蝺?yōu)的以及慢的數(shù)據(jù)路徑。對(duì)于那個(gè)用戶的吸引人的解決方法會(huì)是將在他的終端上運(yùn)行的虛擬機(jī)拆分成兩個(gè),并且使一個(gè)部分繼續(xù)運(yùn)行在他家里的另一終端(例如,臺(tái)式計(jì)算機(jī))上而用戶攜帶膝上型計(jì)算機(jī)。因此,應(yīng)用過程可以不中斷地運(yùn)行在留在家里的虛擬機(jī)部分上來繼續(xù)下載操作而膝上型計(jì)算機(jī)關(guān)機(jī)并且移動(dòng)到另一位置。所選擇的應(yīng)用可留在他的膝上型計(jì)算機(jī)上的虛擬機(jī)部分上。當(dāng)用戶回到家時(shí),拆分的虛擬機(jī)可配置為折疊(合并)到一個(gè)機(jī)器(膝上型計(jì)算機(jī)或家用終端)。以上示例涉及下載。然而,有許多可受益于新穎方法的其它示例,例如,涉及苛求的和重的處理(代替通信)的應(yīng)用。專業(yè)用戶可具有在具有虛擬化的中檔性能跨度中的計(jì)算機(jī)。用戶可使用計(jì)算機(jī)來執(zhí)行高級(jí)機(jī)械工程仿真工具中的建模。當(dāng)在所定義的模型上執(zhí)行仿真時(shí),用戶可將虛擬機(jī)拆分成兩個(gè)。仿真過程可托管在一個(gè)虛擬機(jī)部分上并且然后那個(gè)部分可以遷移到更強(qiáng)大的計(jì)算機(jī)。一旦仿真完成時(shí),虛擬機(jī)部分可折疊成一個(gè),再次運(yùn)行在用戶自己的計(jì)算機(jī)上。因此,根據(jù)示范性實(shí)施例,新穎系統(tǒng)和方法能夠拆分虛擬機(jī)以及其托管的操作系統(tǒng)并且移動(dòng)機(jī)器的各部分上的所選擇的應(yīng)用來繼續(xù)它們的執(zhí)行。根據(jù)另一示范性實(shí)施例,新穎系統(tǒng)和方法能夠?qū)⒃诙鄠€(gè)物理機(jī)器上運(yùn)行的拆分的虛擬機(jī)的各部分合并到一個(gè)物理機(jī)器中。現(xiàn)在更詳細(xì)地論述這些實(shí)施例中的每個(gè)。根據(jù)圖2中所圖示的示范性實(shí)施例,現(xiàn)在論述系統(tǒng)30,該系統(tǒng)30配置為拆分虛擬機(jī)并且轉(zhuǎn)移另一物理機(jī)器上的整個(gè)新的虛擬機(jī)上的部分。以后論述其中合并虛擬機(jī)的實(shí)施例。系統(tǒng)30可包含第一物理機(jī)器12和第二物理機(jī)器32。第一物理機(jī)器12包含虛擬化引擎(或管理程序)14,其配置為生成運(yùn)行在第一物理機(jī)器12上的一個(gè)或多個(gè)虛擬機(jī)16。虛擬機(jī)16可包含操作系統(tǒng)34, —個(gè)或多個(gè)應(yīng)用36運(yùn)行在操作系統(tǒng)34上。虛擬機(jī)16和操作系統(tǒng)34可運(yùn)行在虛擬化引擎14之上。過程36 (例如,Pl到Pn)可分割成如圖3中所示出的兩個(gè)主組38和40。在一個(gè)應(yīng)用中,過程分割成多于兩組。然而,簡(jiǎn)單起見,接著論述將過程拆分成兩組的情況??稍?各級(jí)執(zhí)行過程的拆分,例如,基于用戶輸入、如由虛擬化引擎14或應(yīng)用自動(dòng)地決定的、如由操作系統(tǒng)決定的、基于預(yù)定條件的列表等。過程可以是一個(gè)主組的部分或可以是多組的部分。同樣地,可由用戶、虛擬化引擎、操作系統(tǒng)、應(yīng)用或基于預(yù)定列表來執(zhí)行應(yīng)用屬于哪個(gè)組的決定。實(shí)現(xiàn)過程的分組的功能(例如,分組功能)可以在操作系統(tǒng)、虛擬化引擎或兩者中實(shí)現(xiàn)。主組指示哪個(gè)應(yīng)用移動(dòng)到哪個(gè)新的虛擬機(jī)并且也指示當(dāng)執(zhí)行虛擬機(jī)合并時(shí),從哪個(gè)虛擬機(jī)部分取某個(gè)過程。在一個(gè)應(yīng)用中,所有過程依附于適當(dāng)?shù)慕M。一個(gè)應(yīng)用可以僅在一個(gè)組或多個(gè)組中活動(dòng)。當(dāng)將過程分割成對(duì)應(yīng)組時(shí),拆分功能(其可實(shí)現(xiàn)在基礎(chǔ)的虛擬化引擎14、操作系統(tǒng)或兩者中)開始將虛擬機(jī)16拆分成如圖4中所示出的兩個(gè)或者更多虛擬機(jī)。由于此處論述僅具有兩組應(yīng)用的場(chǎng)景,所以圖4示出將虛擬機(jī)16拆分成兩個(gè)虛擬機(jī),16和16’。然而,如果存在更多組,則虛擬機(jī)16可被拆分成多于兩個(gè)虛擬機(jī)。虛擬機(jī)16的拆分至少引起新的虛擬機(jī)16’。然而,為簡(jiǎn)單起見,考慮在拆分之后引起的兩個(gè)虛擬機(jī)16和16’都是新的機(jī)器。虛擬機(jī)16的拆分發(fā)生在第一物理機(jī)器12上。圖4中要注意,當(dāng)發(fā)生拆分時(shí),例如,過程Pl可以在虛擬機(jī)16上保持活動(dòng)并且在新的虛擬機(jī)16’上不活動(dòng)。由于此原因,在圖4中用虛線來圖示不活動(dòng)過程。然而,在另一應(yīng)用中,過程Pl可以在兩個(gè)新的虛擬機(jī)16和16’上保持活動(dòng),或相反地過程Pl可以在兩個(gè)新的機(jī)器上變得不活動(dòng)。已經(jīng)在此段落中論述Pl作為示例,但當(dāng)然,任何過程可以經(jīng)歷以上所指出的場(chǎng)景。虛擬機(jī)16的拆分也意味著操作系統(tǒng)34到兩個(gè)新的操作系統(tǒng)34和34’的拆分。盡管操作系統(tǒng)34事實(shí)上不是新的,但為簡(jiǎn)單起見,兩個(gè)新的操作系統(tǒng)34和34’被稱為“新的”。然而,在一個(gè)應(yīng)用中,有可能兩個(gè)新的操作系統(tǒng)事實(shí)上是新的。在圖5中所示出的階段中,兩個(gè)虛擬機(jī)16和操作系統(tǒng)34已經(jīng)被拆分成兩個(gè)新的虛擬機(jī)和兩個(gè)新的操作系統(tǒng),而運(yùn)行中的過程Pl到Pn持續(xù)地運(yùn)行在它們對(duì)應(yīng)的虛擬機(jī)部分上。在此階段,如果希望,則可將新的虛擬機(jī)中的一個(gè)或多個(gè)移動(dòng)到新的物理機(jī)器32。例如,如圖6中所示出的,將虛擬機(jī)16’和操作系統(tǒng)34’從第一物理機(jī)器12移動(dòng)到第二物理機(jī)器32 (其具有它自己的虛擬化引擎42)??稍谶\(yùn)行對(duì)應(yīng)過程時(shí)執(zhí)行此轉(zhuǎn)移(熱轉(zhuǎn)移)或在這些過程已經(jīng)停止之后執(zhí)行此轉(zhuǎn)移(冷轉(zhuǎn)移)??梢栽谌鐖D7中所示出的處理器60上運(yùn)行的軟件中實(shí)現(xiàn)上述拆分過程。處理器60可以連接到存儲(chǔ)器62和接口 64。以后論述作為物理機(jī)器12的部分的這樣的元件的更多細(xì)節(jié)。拆分虛擬機(jī)(16)的過程可概括如下,該虛擬機(jī)(16)運(yùn)行在第一物理機(jī)器(12)上,該第一物理機(jī)器(12)至少包含處理器(60 )和存儲(chǔ)器(62 )。如圖8中所示出的,過程包含接收將在虛擬機(jī)(16)上運(yùn)行的多個(gè)過程(36)拆分成兩組或者更多組(38、40)的指令的步驟800 ;將多個(gè)過程(36)分組成虛擬機(jī)(16)中的兩組或者更多組(38、40)的步驟802 ;基于在第一物理機(jī)器(12)上運(yùn)行的基礎(chǔ)的虛擬化引擎(14)來將虛擬機(jī)(16)拆分成兩個(gè)或者更多新的虛擬機(jī)(16、16’)的步驟804 ;以及在每個(gè)新的虛擬機(jī)(16、16’)中將屬于兩組或者更多組(38、40)的對(duì)應(yīng)組的那些過程(36)維持活動(dòng)的步驟806。根據(jù)另一示范性實(shí)施例,有可能將位于不同物理機(jī)器上的各虛擬機(jī)部分合并為運(yùn)行在單個(gè)物理機(jī)器上的單個(gè)虛擬機(jī)。在某種意義上,此過程是以上所論述的拆分過程的相反過程。合并成一個(gè)的各虛擬機(jī)部分應(yīng)彼此兼容并且它們的操作系統(tǒng)也應(yīng)彼此兼容。例如,操作系統(tǒng)的兼容性包含操作系統(tǒng)是相同類型、版本、包含相同驅(qū)動(dòng)器等。作為示例,考慮如圖9中所示出的兩個(gè)物理機(jī)器90和92,每個(gè)物理機(jī)器分別具有它自己的虛擬化引擎94和96,并且分別具有它自己的虛擬機(jī)98和100。虛擬機(jī)98具有操作系統(tǒng)102并且虛擬機(jī)100具有操作系統(tǒng)104。為簡(jiǎn)單起見,假定過程Pl運(yùn)行在機(jī)器90上并且過程P2運(yùn)行在機(jī)器92上。如果用戶旨在將過程Pl和P2合并在單個(gè)機(jī)器(例如,物理機(jī)器90)上,則將虛擬機(jī)100連同它的操作系統(tǒng)104和過程P2轉(zhuǎn)移到物理機(jī)器90,如在本領(lǐng)域中已知并且在圖10中示出的。然后,合并功能(例如,實(shí)現(xiàn)在虛擬化引擎94、操作系統(tǒng)或兩者中)配置為合并虛擬機(jī)98與虛擬機(jī)100以及操作系統(tǒng)102與操作系統(tǒng)104,其結(jié)果是如圖11中所示出的單個(gè)虛擬機(jī)98和單個(gè)操作系統(tǒng)102。在此過程期間,轉(zhuǎn)移應(yīng)用Pl和P2 (在運(yùn)行時(shí)或在關(guān)閉或掛起之后)來在公共操作系統(tǒng)102中運(yùn)行。因此,如圖11中所示出的,實(shí)現(xiàn)來自不同物理機(jī)器90和92的各虛擬機(jī)98和100的合并。在一個(gè)應(yīng)用中,從操作系統(tǒng)102和104是基于Windows或基于Linux等的意義來說,操作系統(tǒng)102和104是同樣的。根據(jù)在圖12中所圖示的示范性實(shí)施例,存在著合并運(yùn)行在相同或不同的物理機(jī)器(90、92)上的第一虛擬機(jī)(98)和第二虛擬機(jī)(100)的方法。該方法包含接收合并第一虛擬機(jī)(98)的過程(Pl)與第二虛擬機(jī)(100)的過程(P2)的指令的步驟1200 ;將第一虛擬機(jī)(98)與第二虛擬機(jī)(100)合并到第一物理機(jī)器(90)上的步驟1202 ;將第一虛擬機(jī)(98)的操作系統(tǒng)(102)與第二虛擬機(jī)(100)的操作系統(tǒng)(104)合并到第一物理機(jī)器(90)上的步驟1204 ;以及在合并的虛擬機(jī)中將在合并第一和第二虛擬機(jī)(98、100)之前活動(dòng)的每個(gè)過程維持活動(dòng)的步驟1206。要注意,可能發(fā)生以下情況。假定原始虛擬機(jī)已經(jīng)拆分成兩個(gè)新的虛擬機(jī)部分并且允許在第一和第二新的虛擬機(jī)上運(yùn)行來自原始虛擬機(jī)的單個(gè)過程Pl。當(dāng)將虛擬機(jī)部分合并成原始虛擬機(jī)時(shí),需要選擇一個(gè)過程Pl來在合并的虛擬機(jī)上進(jìn)一步運(yùn)行。用于選擇過程的一個(gè)準(zhǔn)則可以是那個(gè)過程多高級(jí)。例如,假定過程是下載大的文件。以上所指出的準(zhǔn)則可選擇已經(jīng)下載大部分文件的那個(gè)過程。可使用其它類似準(zhǔn)則。根據(jù)示范性實(shí)施例,對(duì)于拆分和合并過程的一個(gè)或兩個(gè),可以如下處理物理機(jī)器的物理資源。對(duì)于沒有連通性的情況(例如,由于缺乏覆蓋或缺乏可用的有線接入、或互連鏈路故障等,兩個(gè)物理機(jī)器無法通過網(wǎng)絡(luò)建立或維持通信),當(dāng)必要時(shí),將處理器(例如,CPU)的狀態(tài)從物理機(jī)器轉(zhuǎn)移到另一物理機(jī)器(類似于在本領(lǐng)域中如何熱再定位虛擬機(jī))。對(duì)于存儲(chǔ)器(例如,RAM)再定位同樣如此??梢酝ㄟ^將所存儲(chǔ)的信息從一個(gè)物理系統(tǒng)復(fù)制到其它物理系統(tǒng)來處理存儲(chǔ)設(shè)施,或機(jī)器的存儲(chǔ)設(shè)施可以是連網(wǎng)的(附網(wǎng)存儲(chǔ)(NAS))。關(guān)于網(wǎng)絡(luò)能力,例如,新的虛擬機(jī)的IP地址相對(duì)于舊的虛擬機(jī)改變。然而,許多應(yīng)用(過程)可以處理IP地址的改變或可不使用機(jī)器的IP地址。可掛起一個(gè)物理機(jī)器的屏幕而可以將另一物理機(jī)器的屏幕保持活動(dòng)。對(duì)于具有連通性的情況(其中連通性定義為與以上所論述的沒有連通性的情況相反),類似于沒有連通性的情況地處理CPU和RAM存儲(chǔ)器。然而,可以不同地處理存儲(chǔ)設(shè)施,例如,操作從第二物理機(jī)器中繼回源(第一物理機(jī)器)或網(wǎng)盤。關(guān)于網(wǎng)絡(luò),可使用隧道過程(tunneling process)。因此,對(duì)于拆分/合并過程,需要修改操作系統(tǒng)來實(shí)現(xiàn)虛擬機(jī)的拆分和/或合并,但總是發(fā)生此過程來滿足在硬件(例如,CPU)中引入的新的虛擬化特征。也存在修改操作系 統(tǒng)的若干方式。例如,操作系統(tǒng)修改可考慮Vmware工具(以及它的特殊驅(qū)動(dòng)器等)的安裝。一個(gè)或多個(gè)示范性實(shí)施例的一個(gè)優(yōu)勢(shì)是可能將運(yùn)行中的應(yīng)用從一個(gè)物理機(jī)器再定位到另一物理機(jī)器而不對(duì)應(yīng)用的設(shè)計(jì)作出任何改變。拆分和/或合并虛擬機(jī)的新穎過程的另一優(yōu)勢(shì)是它開辟了綜合最終用戶裝置與駐留在例如數(shù)據(jù)中心中的云基礎(chǔ)結(jié)構(gòu)的新的方式。另外,給予用戶能力來將在用戶的計(jì)算機(jī)上運(yùn)行的應(yīng)用集(暫時(shí)地)轉(zhuǎn)移到具有更多資源(例如,更強(qiáng)大的CPU或者更多存儲(chǔ)器)的機(jī)器上。出于圖示而不是限制的目的,在圖13中圖示能夠執(zhí)行根據(jù)示范性實(shí)施例的操作的代表性的物理機(jī)器1300的示例。然而,應(yīng)認(rèn)識(shí)到,本示范性實(shí)施例的原理可相等地應(yīng)用于標(biāo)準(zhǔn)計(jì)算系統(tǒng)。硬件、固件、軟件或其組合可用于執(zhí)行本文所描述的各步驟和操作。適合于執(zhí)行在示范性實(shí)施例中所描述的行為的示范性物理機(jī)器1300可包含服務(wù)器1301。這樣的服務(wù)器1301可包含耦合到隨機(jī)存取存儲(chǔ)器(RAM)1304和只讀存儲(chǔ)器(ROM)1306的中央處理器(CPU) 1302。ROM 1306還可以是存儲(chǔ)程序的其它類型的存儲(chǔ)介質(zhì),該程序例如是可編程ROM (PR0M)、可擦除PROM (EPROM)等。處理器1302可通過輸入/輸出(I/O)電路1308和總線1310與其它內(nèi)部和外部部件通信來提供控制信號(hào)等。處理器1302執(zhí)行如在本領(lǐng)域中已知的各種功能(如通過軟件和/或固件指令規(guī)定的)。服務(wù)器1301還可包含一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)裝置,包含硬盤和軟盤驅(qū)動(dòng)1312、CD-ROM驅(qū)動(dòng)1314以及能夠讀取和/或存儲(chǔ)信息的其它硬件(例如DVD等)。在一個(gè)實(shí)施例中,執(zhí)行以上所論述的步驟的軟件可以存儲(chǔ)并且分布在⑶-ROM 1316、磁盤(diskette)1318或能夠便攜地存儲(chǔ)信息的其它形式的介質(zhì)上。這些存儲(chǔ)介質(zhì)可以插入到例如⑶-ROM驅(qū)動(dòng)1314、盤驅(qū)動(dòng)1312等裝置中并由這些裝置讀取。服務(wù)器1301可耦合到顯示器1320,該顯示器1320可以是任何類型的已知顯示器或呈現(xiàn)屏幕(例如,IXD顯示器、等離子體顯示器、陰極射線管(CRT)等)。提供用戶輸入接口 1322,包含一個(gè)或多個(gè)用戶接口機(jī)制,例如,鼠標(biāo)、鍵盤、麥克風(fēng)、觸摸板、觸摸屏、語(yǔ)音識(shí)別系統(tǒng)等。服務(wù)器1301可經(jīng)由網(wǎng)絡(luò)耦合到其它計(jì)算裝置,例如座機(jī)和/或無線終端以及關(guān)聯(lián)的監(jiān)視應(yīng)用。服務(wù)器可以是作為全球區(qū)域網(wǎng)絡(luò)(GAN)(例如,因特網(wǎng)1328)中的更大網(wǎng)絡(luò)配置的部分,其允許到各種座機(jī)和/或移動(dòng)客戶端/監(jiān)視裝置的最終連接。所公開的示范性實(shí)施例提供拆分和/或合并虛擬機(jī)部分的系統(tǒng)、方法以及計(jì)算機(jī)程序產(chǎn)品。應(yīng)該理解此描述不旨在限制本發(fā)明。相反地,示范性實(shí)施例旨在覆蓋包含在如由所附的權(quán)利要求所限定的本發(fā)明的精神和范圍中的備選、修改以及等效。另外,在示范性實(shí)施例的詳細(xì)描述中,闡述許多具體細(xì)節(jié)以便提供所要求保護(hù)的發(fā)明的全面理解。然而,本領(lǐng)域的技術(shù)人員會(huì)理解可沒有這樣的具體細(xì)節(jié)地實(shí)踐各實(shí)施例。如本領(lǐng)域的技術(shù)人員還將意識(shí)到的,可以在無線通信裝置、電信網(wǎng)絡(luò)中作為方法或在計(jì)算機(jī)程序產(chǎn)品中實(shí)施示范性實(shí)施例。因此,示范性實(shí)施例可以采用整個(gè)硬件實(shí)施例或組合硬件和軟件方面的實(shí)施例的形式。另外,示范性實(shí)施例可以采用存儲(chǔ)在具有實(shí)施在介質(zhì)中的計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品的形式??梢岳萌魏魏线m的計(jì)算機(jī)可讀介質(zhì),包含硬盤、CD-ROM、數(shù)字多功能光盤(DVD )、光存儲(chǔ)裝置或磁存儲(chǔ)裝置(例如,軟盤或磁帶)。計(jì)算機(jī)可讀介質(zhì)的其它非限制性示例包含快閃型存儲(chǔ)器或其它已知的存儲(chǔ)器。
盡管在實(shí)施例中以特定組合描述本示范性實(shí)施例的特征和元件,但每個(gè)特征或元件可單獨(dú)使用而沒有實(shí)施例的其它特征和元件或在有或沒有本文所公開的其它特征和元件的各種組合中使用。可以在計(jì)算機(jī)程序、軟件、或固件(有形地實(shí)施于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,用于由特殊編程的計(jì)算機(jī)或處理器的執(zhí)行)中實(shí)現(xiàn)本申請(qǐng)中所提供的方法或流程圖。
權(quán)利要求
1.一種拆分虛擬機(jī)(16)的方法,所述虛擬機(jī)(16)運(yùn)行在第一物理機(jī)器(12)上,所述第一物理機(jī)器(12)至少包括處理器(60)和存儲(chǔ)器(62),所述方法包括 接收將在所述虛擬機(jī)(16)上運(yùn)行的多個(gè)過程(36)拆分成兩組或者更多組(38、40)的指令; 將所述多個(gè)過程(36)分組成所述虛擬機(jī)(16)中的所述兩組或者更多組(38、40);基于在所述第一物理機(jī)器(12)上運(yùn)行的基礎(chǔ)的虛擬化引擎(14)來將所述虛擬機(jī)(16)拆分成兩個(gè)或者更多新的虛擬機(jī)(16、16’);以及 在每個(gè)新的虛擬機(jī)(16、16’)中將屬于所述兩組或者更多組(38、40)的對(duì)應(yīng)組的那些過程(36)維持活動(dòng)。
2.如權(quán)利要求I所述的方法,還包括 將所述兩個(gè)或者更多新的虛擬機(jī)(16、16’)中的一個(gè)虛擬機(jī)(16’)連同它的對(duì)應(yīng)過程遷移到不同于所述第一物理機(jī)器(12)的第二物理機(jī)器(32)。
3.如權(quán)利要求2所述的方法,還包括 在遷移所述兩個(gè)或者更多新的虛擬機(jī)中的一個(gè)虛擬機(jī)(16’)時(shí)運(yùn)行所述多個(gè)過程(36)。
4.如權(quán)利要求2所述的方法,其中所述第一物理機(jī)器(12)是移動(dòng)電話、膝上型計(jì)算機(jī)、平板電腦或移動(dòng)裝置而所述第二物理機(jī)器(32 )是服務(wù)器或固定裝置。
5.如權(quán)利要求2所述的方法,其中所述第一物理機(jī)器(12)具有比所述第二物理機(jī)器(32)少的計(jì)算能力。
6.如權(quán)利要求I所述的方法,還包括 將所述虛擬機(jī)(16)的操作系統(tǒng)(34)拆分成兩個(gè)或者更多操作系統(tǒng)(34、34’),以使所述兩個(gè)或者更多虛擬機(jī)中的每個(gè)新的虛擬機(jī)(16、16’)具有它自己的操作系統(tǒng)。
7.如權(quán)利要求I所述的方法,其中所述接收指令的步驟包括 從用戶接收指令;或 從存儲(chǔ)在所述虛擬機(jī)中的文件接收指令;或 從運(yùn)行在所述虛擬機(jī)上的應(yīng)用接收指令;或 從操作系統(tǒng)、網(wǎng)絡(luò)或硬件接收指令。
8.如權(quán)利要求I所述的方法,還包括 在拆分所述虛擬機(jī)時(shí)運(yùn)行所述多個(gè)過程。
9.如權(quán)利要求I所述的方法,還包括 在拆分所述虛擬機(jī)時(shí)停止所述多個(gè)過程。
10.如權(quán)利要求I所述的方法,還包括 在所述第一物理機(jī)器(12)上運(yùn)行時(shí)通過所述基礎(chǔ)的虛擬化引擎(14)生成所述虛擬機(jī)(16)。
11.一種計(jì)算機(jī)器(12),包括 處理器(60),配置為運(yùn)行創(chuàng)建在所述計(jì)算機(jī)器(12)上運(yùn)行的虛擬機(jī)(16)的虛擬化引擎(14);以及 接口(64),連接到所述處理器(60)并且配置為接收將在所述虛擬機(jī)(16)上運(yùn)行的多個(gè)過程(36 )拆分成兩組或者更多組(38、40 )的指令,其中所述處理器(60)配置為 將所述多個(gè)過程(36)分組成所述虛擬機(jī)(16)中的所述兩組或者更多組(38、40), 將所述虛擬機(jī)(16)拆分成兩個(gè)或者更多新的虛擬機(jī)(16、16’),以及 在每個(gè)新的虛擬機(jī)(16、16’)中將屬于所述兩組或者更多組(38、40)的對(duì)應(yīng)組的那些過程維持活動(dòng)。
12.如權(quán)利要求11所述的計(jì)算機(jī)器,其中所述虛擬化引擎(14)配置為 將所述兩個(gè)或者更多新的虛擬機(jī)(16、16’)中的一個(gè)虛擬機(jī)(16’)連同它的對(duì)應(yīng)過程(36)遷移到不同于所述計(jì)算機(jī)器(12)的另一計(jì)算機(jī)器(32)。
13.如權(quán)利要求12所述的計(jì)算機(jī)器,其中所述虛擬化引擎(14)還配置為 在將所述兩個(gè)或者更多新的虛擬機(jī)(16、16’)中的一個(gè)虛擬機(jī)(16’)遷移到所述另一計(jì)算機(jī)器(32)時(shí)運(yùn)行所述多個(gè)過程(36)。
14.如權(quán)利要求12所述的計(jì)算機(jī)器,其中所述計(jì)算機(jī)器(12)是移動(dòng)電話、膝上型計(jì)算機(jī)、平板電腦或移動(dòng)裝置而所述另一計(jì)算機(jī)器(32)是服務(wù)器或靜止的計(jì)算裝置。
15.如權(quán)利要求12所述的計(jì)算機(jī)器,其中所述計(jì)算機(jī)器(12)具有比所述另一計(jì)算機(jī)器(32)少的計(jì)算能力。
16.如權(quán)利要求11所述的計(jì)算機(jī)器,其中所述虛擬化引擎(14)配置為 將所述虛擬機(jī)(16)的操作系統(tǒng)(34)拆分成兩個(gè)或者更多操作系統(tǒng)(34、34’)以使所述兩個(gè)或者更多新的虛擬機(jī)中的每個(gè)新的虛擬機(jī)(16、16’)具有它自己的操作系統(tǒng)。
17.如權(quán)利要求11所述的計(jì)算機(jī)器,其中所述虛擬化引擎(14)配置為從用戶接收指令,或從存儲(chǔ)在所述虛擬機(jī)中的文件接收指令,或從運(yùn)行在所述虛擬機(jī)上的應(yīng)用接收指令。
18.如權(quán)利要求11所述的計(jì)算機(jī)器,其中所述虛擬化引擎(14)還配置為 在拆分所述虛擬機(jī)(16)時(shí)運(yùn)行所述多個(gè)過程(36)。
19.一種計(jì)算系統(tǒng)(30),包括 第一物理機(jī)器(12),所述第一物理機(jī)器(12)包含 處理器(60),配置為運(yùn)行創(chuàng)建在所述第一物理機(jī)器(12)上運(yùn)行的虛擬機(jī)(16)的虛擬化引擎(14);以及 接口(64),連接到所述處理器(60)并且配置為接收將在所述虛擬機(jī)(16)上運(yùn)行的多個(gè)過程(36 )拆分成兩組或者更多組(38、40 )的指令, 其中所述處理器(60)配置為 將所述多個(gè)過程(36)分組成所述虛擬機(jī)(16)中的所述兩組或者更多組(38、40), 將所述虛擬機(jī)(16)拆分成兩個(gè)或者更多新的虛擬機(jī)(16、16’),以及 在每個(gè)新的虛擬機(jī)(16、16’)中將屬于所述兩組或者更多組(38、40)的對(duì)應(yīng)組的那些過程維持活動(dòng);以及 第二物理機(jī)器(32),配置為接收所述兩個(gè)或者更多新的虛擬機(jī)(16、16’)中的一個(gè)虛擬機(jī)(16 ’)連同它的對(duì)應(yīng)過程。
20.如權(quán)利要求19所述的計(jì)算系統(tǒng),其中所述虛擬化引擎(14)配置為在將所述兩個(gè)或者更多新的虛擬機(jī)(16、16’)中的一個(gè)虛擬機(jī)(16’)遷移到所述第二物理機(jī)器(32)時(shí)運(yùn)行所述多個(gè)過程(36)。
全文摘要
一種拆分虛擬機(jī)(16)的系統(tǒng)、計(jì)算機(jī)可讀介質(zhì)以及方法,虛擬機(jī)(16)運(yùn)行在第一物理機(jī)器(12)上,第一物理機(jī)器(12)至少包含處理器(60)和存儲(chǔ)器(62)。該方法包含接收將在虛擬機(jī)(16)上運(yùn)行的多個(gè)過程(36)拆分成兩組或者更多組(38、40)的指令;將多個(gè)過程(36)分組成虛擬機(jī)(16)中的兩組或者更多組(38、40);基于在第一物理機(jī)器(12)上運(yùn)行的基礎(chǔ)的虛擬化引擎(14)來將虛擬機(jī)(16)拆分成兩個(gè)或者更多新的虛擬機(jī)(16、16’);以及在每個(gè)新的虛擬機(jī)(16、16’)中將屬于兩組或者更多組(38、40)的對(duì)應(yīng)組的那些過程(36)維持活動(dòng)。
文檔編號(hào)G06F9/455GK102959512SQ201080067898
公開日2013年3月6日 申請(qǐng)日期2010年7月2日 優(yōu)先權(quán)日2010年7月2日
發(fā)明者B.梅蘭德, J-E.芒斯 申請(qǐng)人:瑞典愛立信有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1