W是例如局域網(wǎng)、廣域網(wǎng)、虛擬專用網(wǎng)、互聯(lián)網(wǎng)、內部網(wǎng)、外聯(lián)網(wǎng)、 公共交換電話網(wǎng)、紅外網(wǎng)絡、無線網(wǎng)絡W及上述網(wǎng)絡的任何組合。
[0132] 在利用網(wǎng)頁服務器的實施方案中,網(wǎng)頁服務器可W運行各種各樣服務器或中間層 應用中的任一種,包括超文本傳輸協(xié)議("HTTP")服務器、FTP服務器、公共網(wǎng)關接口("CGI") 服務器、數(shù)據(jù)服務器、Java服務器和業(yè)務應用服務器。服務器還能夠響應來自用戶裝置的請 求而執(zhí)行程序或腳本,諸如通過執(zhí)行可W實施為W任何編程語言(諸如化va\C、C#或C++) 或任何腳本語言(諸如PerKPython或TCDW及其組合寫成的一個或多個腳本或程序的一 個或多個網(wǎng)頁應用。所述服務器還可W包括數(shù)據(jù)庫服務器,包括但不限于可商購自 Oracle'';、Microsoft\ Sybase);和舊M'li 的那些。
[0133] 環(huán)境可包括如上文所論述的各種各樣數(shù)據(jù)存儲區(qū)W及其他存儲器和存儲介質。運 些可駐留在各種各樣位置,諸如在一個或多個計算機本地(和/或駐留在一個或多個計算機 中)的存儲介質上,或遠離網(wǎng)絡上的計算機中的任何或所有計算機。在實施方案的特定集 中,信息可駐留在本領域技術人員熟悉的存儲區(qū)域網(wǎng)("SAN")中。類似地,用于執(zhí)行屬于計 算機、服務器或其他網(wǎng)絡裝置的功能的任何必要的文件可視情況本地或遠程存儲。在系統(tǒng) 包括計算機化裝置的情況下,每個運種裝置可包括可經(jīng)由總線電禪合的硬件元件,所述元 件包括例如至少一個中央處理單元rc郵'或"處理器")、至少一個輸入裝置(例如,鼠標、鍵 盤、控制器、觸摸屏或小鍵盤)和至少一個輸出裝置(例如,顯示裝置、打印機或揚聲器)。此 類系統(tǒng)還可包括一個或多個存儲裝置,諸如硬盤驅動器、光存儲裝置和諸如隨機存取存儲 器("RAM")或只讀存儲器("ROM")的固態(tài)存儲裝置、W及可移動媒體裝置、存儲卡、閃存卡 等。
[0134] 此類裝置還可包括計算機可讀存儲介質讀取器、通信裝置(例如,調制解調器、網(wǎng) 卡(無線或有線)、紅外線通信裝置等)和工作存儲器,如上文所論述。計算機可讀存儲介質 讀取器可與計算機可讀存儲介質連接或被配置來接收計算機可讀存儲介質,計算機可讀存 儲介質表示遠程、本地、固定和/或可移動存儲裝置W及用于暫時和/或更永久地含有、存 儲、傳輸和檢索計算機可讀信息的存儲介質。系統(tǒng)和各種裝置通常還將包括位于至少一個 工作存儲器裝置內的多個軟件應用、模塊、服務或其他元件,包括操作系統(tǒng)和應用程序,諸 如客戶端應用或網(wǎng)頁瀏覽器。應當了解,替代實施方案可具有與上述實施方案不同的眾多 變型。例如,也可使用定制硬件,和/或特定元件可W在硬件、軟件(包括可移植軟件,諸如小 程序)或兩者中實現(xiàn)。此外,可W采用與諸如網(wǎng)絡輸入/輸出裝置的其他計算裝置的連接。
[0135] 用于含有代碼或部分代碼的存儲介質和計算機可讀介質可包括本領域已知或已 使用的任何適當介質,包括存儲介質和通信介質,諸如但不限于W用于存儲和/或傳輸信息 (諸如計算機可讀指令、數(shù)據(jù)結構、程序模塊或其他數(shù)據(jù))的任何方法或技術所實現(xiàn)的易失 性和非易失性、可移動和不可移動的介質,包括RAM、R0M、電可擦可編程只讀存儲器 Teeprom")、閃存或其他存儲器技術、光盤只讀存儲器rcD-ROM")、數(shù)字通用光盤(DVD)或 其他光學存儲裝置、磁盒、磁帶、磁盤存儲裝置或其他磁性存儲裝置,或可用于存儲所需信 息且可由系統(tǒng)裝置訪問的任何其他介質?;诒疚乃峁┑墓_內容和教義,本技術領域 普通技術人員將了解實現(xiàn)各個實施方案的其他方式和/或方法。
[0136] 因此,應在說明性意義而不是限制性意義上理解本說明書和附圖。然而,將明顯的 是:在不脫離如在權利要求書中闡述的本發(fā)明的更寬廣精神和范圍的情況下,可W對其做 出各種修改和改變。
[0137] 其他變體也在本公開的精神內。因此,盡管所公開的技術可容許各種修改和替代 構造,但在附圖中已示出并且在上文中詳細描述所示的其特定實施方案。然而,應當了解, 并不旨在將本發(fā)明限制于所公開的一種或多種具體形式,相反地,旨在涵蓋落在如所附權 利要求書限定的本發(fā)明的精神和范圍內的所有修改、替代構造和等效物。
[0138] 在描述所公開實施方案的上下文中(尤其是在W下權利要求書的上下文中),術語 "一個(a,an)"和"所述"W及類似指稱對象的使用應解釋為涵蓋單數(shù)和復數(shù)兩者,除非在本 文另外地指示或明顯地與上下文矛盾。術語"包含"、"具有"、"包括"和"含有"應解釋為開放 式術語(即,意味著"包括但不限于"),除非另外地注解。當術語"連接的"非經(jīng)修改并且指代 物理連接時,應解釋為部分地或全部地包含在內、附接至或結合在一起,即使存在某個介入 物。除非本文另外指明,否則本文中值范圍的列舉僅僅意圖用作個別地表示屬于所述范圍 的各單獨值的速記方法,并且猶如本文個別描述地那樣將各單獨值并入到本說明書中。除 非本文另外指明或與上下文矛盾,否則術語"集"(例如,"項目集")或"子集"解釋為包括一 個或多個成員的非空集合。此外,除非本文另外指明或與上下文矛盾,否則術語對應集的 "子集"不一定指對應集的真子集,但子集和對應集可W相等。
[0139] 除非本文另外特別指明或明顯地與上下文矛盾,否則連接性語言,諸如"A、B和C中 的至少一個"形式的或"A、B和C中的至少一個"的短語另外與如一般情況下使用的上下文一 起理解來表示,一項目、項等,可W是A或B或C、或A和B和C的集合的任何非空子集。例如,在 具有上文連接性短語中所使用的=個成員的集合的說明性示例中,"A、B和C中的至少一個" 和"A、B和C中的至少一個"指代W下集合中的任意一個:{A}、{B}、{C}、{A,B}、{A,C}、{B,C}、 {A,B,C}。因此,此類連接性語言一般并非意在暗示某些實施方案需要A中的至少一個、B中 的至少一個W及C中的至少一個每個存在。
[0140] 可按任何合適的順序來執(zhí)行本文所述的過程的操作,除非本文另外指明或明顯地 與上下文矛盾。本文描述的過程(或變型和/或其組合)可在配置有可執(zhí)行指令的一個或多 個計算機系統(tǒng)的控制下實行,并且可作為共同地在一個或多個處理器上執(zhí)行的代碼(例如, 可執(zhí)行指令、一個或多個計算機程序或一個或多個應用)實施、由硬件或其組合來實施。代 碼可W例如包括可由一個或多個處理器執(zhí)行的多個指令的計算機程序的形式存儲在計算 機可讀存儲介質上。計算機可讀存儲介質可W是非暫時性的。
[0141] 本文所提供的任何W及所有示例或示例性語言(例如,"諸如")的使用僅意圖更好 地說明本發(fā)明的實施方案,并且除非另外要求,否則不會對本發(fā)明的范圍施加限制。本說明 書中的語言不應解釋為將任何非要求的要素指示為實踐本發(fā)明所必需。
[0142] 本文中描述了本公開的優(yōu)選實施方案,包括發(fā)明人已知用于執(zhí)行本發(fā)明的最佳模 式。閱讀上述說明后那些優(yōu)選實施方案的變體對于本領域的普通技術人員可W變得明顯。 發(fā)明人希望技術人員視情況采用此類變型,并且發(fā)明人意圖W不同于如本文所特別描述的 方式來實踐本公開的實施方案。因此,經(jīng)適用的法律許可,本公開的范圍包括在此附加的權 利要求中敘述的主題的所有改良形式和等價物。此外,除非本文另外指示或明顯地與上下 文矛盾,否則本公開的范圍涵蓋其所有可能變型中的上述元素的任何組合。
[0143] 本文所引用的所有參考文獻、包括出版物、專利申請和專利據(jù)此W引用方式并入, 其程度等同于每個參考文獻單獨地且具體地被表示為W引用方式并入本文并且W其全文 在本文得W陳述。
【主權項】
1. 一種用于迀移虛擬機實例的計算機實施的方法,其包括: 在被配置有可執(zhí)行指令的一個或多個計算機系統(tǒng)的控制下, 在第一計算機系統(tǒng)中實例化所述虛擬機實例,所述第一計算機系統(tǒng)包括一個或多個組 件,所述一個或多個組件與針對用于實例化虛擬機實例的一個或多個硬件規(guī)范的偏好不相 符; 檢測在與所述偏好相符的第二主機計算機系統(tǒng)內的條件;以及 至少部分地由于已經(jīng)檢測到在所述第二主機計算機系統(tǒng)內的所述條件,將所述虛擬機 實例從所述第一計算機系統(tǒng)迀移至所述第二主機計算機系統(tǒng)。2. 如權利要求1所述的計算機實施的方法,其中所述條件至少部分地基于在用于實例 化所述虛擬機實例的所述第二主機計算機系統(tǒng)內的容量的可用性。3. 如權利要求1所述的計算機實施的方法,其中所述偏好通過接口被接收,可以通過所 述接口提交針對實例化虛擬機實例的一個或多個請求。4. 如權利要求1所述的計算機實施的方法,其中所述偏好包括針對至少部分地基于包 括所述一個或多個硬件規(guī)范的主機計算機系統(tǒng)而迀移所述虛擬機實例的要求。5. 如權利要求1所述的計算機實施的方法,其中在無需重新啟動所述虛擬機實例的情 況下,執(zhí)行迀移所述虛擬機實例。6. 如權利要求1所述的計算機實施的方法,其中在所述第一計算機系統(tǒng)中實例化所述 虛擬機實例被執(zhí)行以實現(xiàn)提供所述虛擬機實例的請求,所述請求包括所述偏好。7. 如權利要求1所述的計算機實施的方法,其還包括: 接收針對所述虛擬機實例的請求,所述請求包括所述偏好是任選的指示;以及 在所述第一計算機系統(tǒng)中實例化所述虛擬機實例。8. -種計算機系統(tǒng),其包括: 接口,可以通過所述接口提交針對實例化來自多個虛擬機實例類型的虛擬機實例的一 個或多個請求,所述多個虛擬機實例類型中的一個或多個能夠與可任選地指定的硬件偏好 一起被請求; 一個或多個主機計算機系統(tǒng),其包括共同地被配置來實例化虛擬機實例的硬件組件; 以及 管理子系統(tǒng),其被配置來處理通過所述接口接收的請求,其中: 在來自所述一個或多個主機計算機系統(tǒng)的第一主機計算機系統(tǒng)中實例化所述虛擬機 實例,所述第一計算機系統(tǒng)包括一個或多個組件,所述一個或多個組件與針對用于實例化 所述虛擬機實例的一個或多個硬件規(guī)范的所述可任選地指定的硬件偏好不相符;以及 將所述虛擬機實例從所述第一主機計算機系統(tǒng)迀移至與所述可任選地指定的硬件偏 好相符的第二主機計算機系統(tǒng)。9. 如權利要求8所述的計算機系統(tǒng),其中所述虛擬機實例至少部分地基于在所述第二 主機計算機系統(tǒng)中的一個或多個槽的可用性而得到迀移,所述一個或多個槽包括被分配給 虛擬機實例的容量。10. 如權利要求8所述的計算機系統(tǒng),其中所述管理子系統(tǒng)還被配置來至少部分地基于 所述可任選地指定的硬件偏好而將現(xiàn)有虛擬機實例從所述第二主機計算機系統(tǒng)迀移至非 符合的主機計算機系統(tǒng)。11. 如權利要求8所述的計算機系統(tǒng),其中至少部分地基于對在所述一個或多個主機計 算機系統(tǒng)內的可用的放置位置集合進行排序來將所述虛擬機實例迀移至所述第二主機計 算機系統(tǒng),所述對在所述一個或多個主機計算機系統(tǒng)內的可用的放置位置集合進行排序至 少部分地基于所述可用的放置位置是否滿足所述可任選地指定的硬件偏好。12. 如權利要求8所述的計算機系統(tǒng),其中由于在滿足所述可任選地指定的硬件偏好的 主機計算機系統(tǒng)的集合中缺乏用于所述虛擬機實例的容量,所述虛擬機實例在與所述可任 選地指定的硬件偏好不相符的所述第一主機計算機系統(tǒng)內被實例化。13. 如權利要求8所述的計算機系統(tǒng),其中在無需重新啟動所述虛擬機實例的情況下, 將所述虛擬機實例從所述第一主機計算機系統(tǒng)迀移至所述第二主機計算機系統(tǒng)。14. 如權利要求8所述的計算機系統(tǒng),其中由于提供另一個虛擬機實例的請求需要不可 用的一個或多個組件,因而所述管理子系統(tǒng)還被配置來拒絕所述請求。15. 如權利要求8所述的計算機系統(tǒng),其中: 在重新啟動所述虛擬機實例期間使迀移所述虛擬機實例發(fā)生。
【專利摘要】客戶提交偏好集合,所述偏好集合包括用于實例化虛擬機實例的硬件規(guī)范。所述虛擬機實例可以在與所述偏好集合不相符的物理主機計算機系統(tǒng)中被實例化。所述虛擬計算機系統(tǒng)服務可以被配置來評估所述可用的物理主機計算機系統(tǒng)的所述規(guī)范,以確定所述可用的物理主機計算機系統(tǒng)中的任一個是否與所述偏好集合相符。因此,所述虛擬計算機系統(tǒng)服務還可以評估所述可用的物理主機計算機系統(tǒng),以確定可用的物理主機計算機系統(tǒng)是否包括用于實例化所述現(xiàn)有虛擬機實例的可用的槽。如果所述一個或多個可用的物理主機計算機系統(tǒng)具有可用的槽,那么所述虛擬計算機系統(tǒng)服務可以將所述現(xiàn)有虛擬機實例遷移至可用的物理主機計算機系統(tǒng),以便實現(xiàn)所述客戶請求。
【IPC分類】G06F9/455
【公開號】CN105493045
【申請?zhí)枴緾N201480048354
【發(fā)明人】A·P·J·迪彭納爾, F·A·拉特甘, J·A·G·格林菲爾德
【申請人】亞馬遜技術股份有限公司
【公開日】2016年4月13日
【申請日】2014年8月1日
【公告號】CA2919839A1, EP3030966A2, US20150040127, WO2015020909A2, WO2015020909A3