專利名稱:云中的應用移植方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及云計算管理,特別地,涉及云中的應用移植方法和系統(tǒng)。
背景技術(shù):
云計算隨時準備著在不久的將來改革現(xiàn)行的計算范例。通常,云計算指的是因特 網(wǎng)上的計算機技術(shù)的部署和使用,其中來自共享計算資源的較大集合的計算資源可以動 態(tài)地被征用作為在因特網(wǎng)上的服務。云計算不同于其它類似計算范例諸如實用程序計 算——這是由于云計算消費者不必具有(并通常被排除在外)用于提供所獲得服務的實際 技術(shù)基礎(chǔ)設(shè)施的知識、對其的可見性以及控制。典型地,云計算供應商為客戶端提供以商定的速率訪問或租借這些資源的能力。 這些布置可以在傳統(tǒng)的企業(yè)數(shù)據(jù)中心網(wǎng)絡(luò)的實現(xiàn)上為客戶端提供顯著的效益,其典型地以 過剩的計算技術(shù)硬件被私有方式獨立地監(jiān)視、取得、集成以及固定為特征。這些效益包括經(jīng) 請求提供額外資源的能力,動態(tài)衡量客戶端的應用或系統(tǒng),以及限制反映實際資源使用和 消耗的成本。此外,也能夠通過云計算的利用來實現(xiàn)免除構(gòu)造和維持網(wǎng)絡(luò)體系結(jié)構(gòu)(諸如 消除硬件購買和同化以及軟件集成中的眾人皆知的困難所需的時間)的內(nèi)在優(yōu)勢。當前大多數(shù)云計算基礎(chǔ)設(shè)施包含很多具有不同虛擬化技術(shù)水平的服務器。在體系 結(jié)構(gòu)上,即使(通常)規(guī)模龐大,云計算數(shù)據(jù)中心網(wǎng)絡(luò)可以類似于傳統(tǒng)企業(yè)結(jié)構(gòu)。例如,用 于任何具體的云計算供應商的典型數(shù)據(jù)中心網(wǎng)絡(luò)的結(jié)構(gòu)可以實現(xiàn)為路由器的分層結(jié)構(gòu)以 及連接服務器的大型網(wǎng)絡(luò)的同心子網(wǎng),往往是數(shù)以百計或數(shù)以千計。然而,如同企業(yè)基礎(chǔ)設(shè) 施,云計算數(shù)據(jù)中心網(wǎng)絡(luò)往往由于重要因素而通常供應不足。這種供應不足可以損害所述 網(wǎng)絡(luò)的效能,并阻礙所述網(wǎng)絡(luò)在其設(shè)想的吞吐量水平上執(zhí)行。某些因素可以解釋供應不足 的原因,主要由于即使是一個中等大小的網(wǎng)絡(luò),構(gòu)造和維持成本也過高,以及層次網(wǎng)絡(luò)結(jié)構(gòu) 的固有特性。所述供應不足問題可以在傳統(tǒng)公司數(shù)據(jù)中心中得到減輕。傳統(tǒng)公司數(shù)據(jù)中心的標 準作法在于協(xié)同定位用于相同子網(wǎng)中應用的服務器(例如web服務器,應用服務器以及用 于多層應用的數(shù)據(jù)庫服務器);從而使大部分通信本地化。由于數(shù)據(jù)中心管理器在所述基 礎(chǔ)設(shè)施上具有完全控制,因此它們可以執(zhí)行必要的優(yōu)化來避免不合需要的通信模式。此外, 由于這種控制,如果或當通信模式發(fā)生問題的時候,數(shù)據(jù)中心管理器能夠跟蹤攻擊型應用 或提交對策。然而,由于云計算和傳統(tǒng)公司數(shù)據(jù)中心之間的差別,云基礎(chǔ)設(shè)施中的供應不足仍 是潛在的問題。首先,云基礎(chǔ)設(shè)施遠大于多數(shù)的公司數(shù)據(jù)中心。因此,在所述基礎(chǔ)設(shè)施內(nèi)隔 離問題可能更難于定位。此外,在范圍上是寬的解決辦法可能更加難以在這種大范圍上進 行部署。例如,解決辦法對于與云一起運行的所有應用可能不兼容。而且,大型的云基礎(chǔ)設(shè) 施也增加了云供應不足的可能性以及供應不足的程度。同樣地,云是一種共享的公共基礎(chǔ) 設(shè)施。因此消費者可能受運行在所述云內(nèi)部的相同子網(wǎng)中的其它消費者的使用或消耗的影 響。最后,云計算消費者對云中的底層基礎(chǔ)設(shè)施幾乎不具有控制。在公司的數(shù)據(jù)中心中,應
4用所有者典型地擁有至少一個對底層服務器和網(wǎng)絡(luò)的間接存取,并因此如果需要,可以在 所述基礎(chǔ)設(shè)施中執(zhí)行優(yōu)化或執(zhí)行對策。然而,相同消費者在云中沒有這種能力。相反地,消 費者對底層基礎(chǔ)設(shè)施具有非常有限的可見度和控制。使人遺憾地,云的明顯供應不足和公共特性也顯現(xiàn)了可能利用的潛在手段。在子 網(wǎng)中可用的有限帶寬可以是飽和的,包括有意地和無意地,從而使相同子網(wǎng)內(nèi)部的其它用 戶產(chǎn)生非常惡劣的經(jīng)歷。相同子網(wǎng)內(nèi)部的高容量用戶可以通過在一段時間里合法地消耗所 述可用帶寬的不成比例的數(shù)量(例如,所有),來無意地損害對相同子網(wǎng)中的其它用戶的服 務。相同子網(wǎng)內(nèi)部的惡意用戶能通過在特定用戶或者一般子網(wǎng)上執(zhí)行拒絕服務(DoS)攻擊 來有意地損害所述全部子網(wǎng)的性能。傳統(tǒng)DoS攻擊通過計算資源(例如,帶寬,處理時間,存儲器)的大規(guī)模和突然的 消耗和/或路由選擇信息的中斷,來試圖使計算機資源對它的預定用戶不可用。通常,DoS 攻擊通過使在集中時間段上具有多個外部通信的目標機(例如,服務器)發(fā)生飽和到這樣 的程度以致于所述目標的自然約束條件得到滿足或被超過,以及所述目標變得不能響應其 它合法業(yè)務,或?qū)戏I(yè)務響應如此緩慢以至于在所述攻擊的持續(xù)時間內(nèi)或可能無限時間 內(nèi)其被呈現(xiàn)為實際上不可用。此外,可通信地連接所述目標機到網(wǎng)絡(luò)(包括因特網(wǎng))的連 網(wǎng)設(shè)備(例如,路由器)往往容易被DoS攻擊擊潰,從而使通過相同連網(wǎng)設(shè)備連接到所述網(wǎng) 絡(luò)的其它設(shè)備面臨損害。通過確定要攻擊的應用的IP地址(即,所述目標的子網(wǎng));征用所述目標子網(wǎng)內(nèi) 部的資源;以及通過控制所述目標子網(wǎng)的目標路由器,單方面地在最大速率發(fā)送數(shù)據(jù)分組 (例如,用戶數(shù)據(jù)圖或“UDP”分組),從而消耗所述設(shè)備的所有或大部分傳輸能力,可以從云 的基礎(chǔ)設(shè)施內(nèi)部策動DoS攻擊,以及也可以將DoS攻擊指向特定用戶。由于供應不足的影 響,DoS攻擊可能需要僅征用相對于所述子網(wǎng)中的服務器的數(shù)目的非常小數(shù)量的資源。使 人遺憾地,被損害的性能可能不限于云中的被直接攻擊的應用,具體來講,由于也經(jīng)歷急速 降低的服務以及數(shù)據(jù)傳輸速率,相同子網(wǎng)內(nèi)部的以及在云中使用相同路由器的其它組成也 將遭受特定用戶上的DoS攻擊的影響。相反地,DoS攻擊可以是無目標的,其中相同子網(wǎng)內(nèi) 部的共同定位的資源組被征用并用于通過所發(fā)送數(shù)據(jù)的高容量來阻塞全部子網(wǎng)的帶寬。當 然,有目標和無目標兩種攻擊可以對遭受攻擊子網(wǎng)的所有受影響用戶都導致巨大的損失。傳統(tǒng)DoS攻擊,相關(guān)的分布式拒絕服務(DDoS)攻擊以及它們的對策是公知的。存 在復雜的技術(shù)來對抗即使是最經(jīng)心策劃的(D)DoS攻擊。然而,那些技術(shù)通常假定所述攻擊 是直接發(fā)送分組到應用,以及所述應用可以檢測到直接進攻是何時進行的。使人遺憾地,在 云內(nèi),共享具有被損害的子網(wǎng)的應用在根本沒有被攻擊的情況下已經(jīng)被間接地影響了。在 許多實例中,應用甚至將決不會知道DoS攻擊正在相同子網(wǎng)中的另一個應用上進行。當由相同子網(wǎng)中的應用間接影響施加或施加到間接影響地相同子網(wǎng)中的應用的 時候,采用來檢測并抗擊直接DoS攻擊的相同技術(shù)可能不是可利用和/或有效的。由于這 結(jié)構(gòu)以及在云內(nèi)的可見性缺失,這種問題可能更加加重。此外,相同技術(shù)不能有效地解決僅 僅用盡網(wǎng)絡(luò)的容量的合法的、運量大的用戶的問題。如同DoS攻擊源于云基礎(chǔ)設(shè)施內(nèi)部一 樣,在僅相對小的計算資源的數(shù)量上運行的合法的云消耗可以占用子網(wǎng)的數(shù)據(jù)傳輸能力的 削弱數(shù)量。
發(fā)明內(nèi)容
提供概要以簡化形式來引入所選擇的概念,其在下面詳細說明中進一步進行描 述。本概要不是旨在確定權(quán)利要求主題的關(guān)鍵特征或基本特征,也不是意指用于限制權(quán)利 要求主題的范圍。權(quán)利要求的主題涉及一種通過將應用移植到具有增加的帶寬的可選子網(wǎng) 以在云數(shù)據(jù)中心中管理應用以避免低帶寬的方法和系統(tǒng)。在以下實施例中,描述一種方法,用于管理云數(shù)據(jù)中心中的應用以避免由在相同 子網(wǎng)中執(zhí)行的其它應用引起的低帶寬。在一個實施例中,提供一種云數(shù)據(jù)中心基礎(chǔ)設(shè)施,包 括管理分布在所述云數(shù)據(jù)中心內(nèi)部的各種子網(wǎng)中的應用實例的監(jiān)視代理。所述監(jiān)視代理監(jiān) 視用于特定應用的下層子網(wǎng)信道容量的健康狀態(tài)。當用于尋址以及路由下層子網(wǎng)的連網(wǎng)設(shè) 備被擊潰的時候,例如,經(jīng)由惡意攻擊或合法地高容量使用,由所有子網(wǎng)組成所共享的帶寬 可能降低。如果檢測到下降超出預定閾值,所述監(jiān)視代理將所述應用移植到其它實例(可 能動態(tài)啟動的),該實例確定是不受損害的。在另一個實施例中,提供一種方法來為經(jīng)歷降低帶寬的應用避免云數(shù)據(jù)中心中的 低帶寬依據(jù)這種實施例,如果網(wǎng)絡(luò)路由設(shè)備的容量是過飽和的(從外部或內(nèi)部而言)在云 數(shù)據(jù)中心執(zhí)行以及與子網(wǎng)中其它應用共享網(wǎng)絡(luò)路由設(shè)備的應用可能經(jīng)歷降低的帶寬。當檢 測到應用的下層子網(wǎng)的帶寬低于某個預定閾值(例如,通過共享子網(wǎng)的另一個應用上的拒 絕服務攻擊或高容量鄰居),所述應用與中心代理傳送遇險信號。所述中心代理隨后從執(zhí) 行在其它子網(wǎng)中的備用實例集群中確定適當?shù)目蛇x實例來主持所述應用。適當?shù)目蛇x實例 的鑒別可以通過例如(重復地)測量可用備用實例的帶寬以及比較所述帶寬和第二預先確 立的閾值(在一些實施例中,所述第二閾值可以大于第一個)來執(zhí)行。任何具有帶寬高于 所述閾值的備用實例可以被確定為適當?shù)目蛇x實例。一旦定位了所述應用的適當?shù)膫溆脤?例,其是迄今作為備用的,可以將所述應用的主操作轉(zhuǎn)移至所述備用實例。在一些實施例中,可以通過發(fā)送多個已標記數(shù)據(jù)分組到應用的所述主實例,接收 相應的返回分組以及使用所述返回分組的多個到達時間之間的差異,來估計第一帶寬從而 確定所述原始的主應用的帶寬。通過轉(zhuǎn)換第二實例的靜態(tài)IP地址為原始主機的靜態(tài)IP地 址,可以將所述應用的主操作(例如,主機)從原始主機轉(zhuǎn)移或移植至第二實例。也可以通 過將對應于多個域名服務器的域名的DNS轉(zhuǎn)換進行改變,即從轉(zhuǎn)換至原始主機實例到轉(zhuǎn)換 至新的主機實例(之前備用的),以便執(zhí)行移植。在一些實施例中,所述備用實例可能是預先啟動的(即,在遇險信號被傳送到中 心代理以前就已經(jīng)執(zhí)行)。在其它實施例中,所述備用實例可以是在除所述應用的當前主機 或主操作的實例的子網(wǎng)外的不同子網(wǎng)中動態(tài)地啟動(即,資源可以如需要而征用)。一旦確 定適當?shù)目蛇x實例,并且主操作被轉(zhuǎn)移,所述應用的第一實例(即,經(jīng)歷降低或損害帶寬的 實例)就解激活為主要主機或操作實例,然而所述應用的另一個實例可以在作為備用實例 的另一子網(wǎng)中啟動為所述新主機或主操作的實例。先前的主要主機或運行的應用的解激活 以及第二或下一備用實例的啟動可以選擇地在傳送主操作到先前的備用(現(xiàn)在的主機)應 用之前或之后執(zhí)行。在替代性的實施例中,提供一種方法來為云數(shù)據(jù)中心中的應用管理低帶寬。依照 此實施例,提供監(jiān)視代理來檢測云數(shù)據(jù)中心中的應用的帶寬的下降,也許是由于從其它共 享相同子網(wǎng)的應用網(wǎng)絡(luò)路由資源的消費過度。一旦已經(jīng)檢測到下降,所述監(jiān)視代理定位所述應用的第二適當?shù)膶嵗齺沓袚鰬玫闹鞑僮?。一旦定位了應用的適當實例,則將應 用的主操作從原實例移植為經(jīng)識別的第二實例。
并入說明書中并且構(gòu)成這說明書一部分的附圖示出了本發(fā)明的實施例,結(jié)合所述 描述足以解釋本發(fā)明的原理圖1是根據(jù)權(quán)利要求的主題的各種實施例的示例性數(shù)據(jù)中心的示意圖。圖2是根據(jù)權(quán)利要求的主題的各種實施例的具有預先啟動的備用實例的數(shù)據(jù)中 心中的應用管理系統(tǒng)的示例性狀態(tài)的示意圖。圖3是根據(jù)權(quán)利要求的主題的各種實施例,當應用的主操作的實例的帶寬被損害 的時候,具有預先啟動的備用實例的數(shù)據(jù)中心中的應用管理系統(tǒng)的示例性狀態(tài)的示意圖。圖4是根據(jù)權(quán)利要求的主題的各種實施例,當應用的主操作被傳送之后,以預先 啟動的備用實例為特征的數(shù)據(jù)中心中的應用管理系統(tǒng)的示例性狀態(tài)的示意圖。圖5是根據(jù)權(quán)利要求的主題的各種實施例,描述動態(tài)地啟動新備用實例的數(shù)據(jù)中 心中的應用管理系統(tǒng)的示例性狀態(tài)的示意圖。圖6是根據(jù)權(quán)利要求的主題的各種實施例,描述主操作的實例的傳送以及多個動 態(tài)啟動地新備用實例的數(shù)據(jù)中心中的應用管理系統(tǒng)的示例性狀態(tài)的示意圖;圖7是根據(jù)權(quán)利要求的主題的各種實施例,描述以備用實例執(zhí)行的監(jiān)視代理為特 征的數(shù)據(jù)中心中的應用管理系統(tǒng)的示例性結(jié)構(gòu)的流程圖。圖8是根據(jù)權(quán)利要求的主題的各種實施例,描述將應用的運行從第一計算環(huán)境移 植到第二計算環(huán)境的示例性方法的流程圖。圖9是根據(jù)權(quán)利要求的主題的各種實施例,描述用于測量數(shù)據(jù)中心中的子網(wǎng)中的 可用帶寬的示例性方法的流程圖。圖10是根據(jù)權(quán)利要求的主題的各種實施例,描述用于管理應用來避免數(shù)據(jù)中心 中的低帶寬的示例性方法的流程圖。
具體實施例方式現(xiàn)在將詳細介紹請求保護的主題的優(yōu)選實施例以用于在云數(shù)據(jù)中心中管理應用 來避免低和/或損害的帶寬,在附圖中舉例說明了其示例。雖然將結(jié)合所述優(yōu)選實施例描 述來請求保護的主題,應該理解的是,它們不是意指限于這些實施例。相反,請求保護的主 題意在涵蓋所有落入本發(fā)明的精神和范圍內(nèi)的修改、等效以及備選,本發(fā)明的精神和范圍 由所附權(quán)利要求書限定。此外,在請求保護的主題的實施例的隨后的詳細說明中,為了提供對請求保護的 主題的全面了解,提出了很多具體細節(jié)。然而,本領(lǐng)域技術(shù)人員將會認識到,可以在沒有這 具體細節(jié)的情況下實施本發(fā)明。在其他示例中,沒有詳細說明公知的處理、過程、組件以及 電路,以免引起不必要的請求保護主題的模糊方面。根據(jù)過程,步驟、邏輯塊、處理以及在計算機存儲器上執(zhí)行的對數(shù)據(jù)比特的操作的 其他符號表示的形式,而呈現(xiàn)詳細說明的某些部分。這些說明以及表示是那些數(shù)據(jù)處理領(lǐng) 域的技術(shù)人員所使用的手段,以便最有效地將他們工作的意圖轉(zhuǎn)達給本領(lǐng)域的其他技術(shù)人員。過程、計算機生成的步驟、邏輯塊、處理等,在此處通常被設(shè)定為產(chǎn)生期望結(jié)果的步驟或 指令的自洽的順序。所述步驟需要物理量的物理操作。雖然不必要,通常這些參量以能夠 存儲、傳輸、組合、比較和在計算機系統(tǒng)內(nèi)另行處理的電或磁信號的形式出現(xiàn)。主要是出于 習慣用法的原因,把這些信號稱作比特、值、元素、符號、特征、術(shù)語或類似稱謂已被證明是 便利的。然而,應當記住所有這些以及相似術(shù)語與合適的物理參量相關(guān)聯(lián),并且僅僅是應 用到這些參量的便利標記。除非特別說明,否則在下面的討論中將被視為通過要求保護的 主題是顯而易見的,利用諸如“存儲”,“創(chuàng)建”,“保護”,“接收”,“加密”,“解密”,“破壞”,等等 的論述指的是包括操作和變換表示為計算機系統(tǒng)的寄存器和存儲器內(nèi)部的物理(電子的) 數(shù)量的數(shù)據(jù)成為同樣地表示為計算機系統(tǒng)存儲器或寄存器或其他的這種信息存儲器、傳輸 或顯示設(shè)備內(nèi)部的物理量的其它數(shù)據(jù)的嵌入系統(tǒng)的計算機系統(tǒng)或集成電路或類似電子計 算設(shè)備的動作和處理。請求保護的主題涉及一種通過移植應用的主操作到具有增加帶寬的備用子網(wǎng)來 在云數(shù)據(jù)中心中管理應用以避免低帶寬的方法和系統(tǒng)。在一個實施例中,所述數(shù)據(jù)中心可 以實現(xiàn)為分布式網(wǎng)絡(luò),諸如企業(yè)數(shù)據(jù)中心或依照云基礎(chǔ)設(shè)施。示例性云數(shù)據(jù)中心參考圖1,根據(jù)本發(fā)明的實施例描述了示例性數(shù)據(jù)中心100的示意圖。依照一個實 施例,配置100包括多個可通信互聯(lián)的連網(wǎng)設(shè)備(例如,連網(wǎng)設(shè)備101,111,113,121,123, 125和127)。連網(wǎng)設(shè)備例如可以被一起用于通信地互相連接到包括云數(shù)據(jù)中心的多個計算 環(huán)境(例如,計算環(huán)境141,143,145,和147)和/或連接到因特網(wǎng)。如所描述的,配置100提供以垂直分層結(jié)構(gòu)表示的數(shù)據(jù)中心的一部分。這個圖解 表示法可以適合于表示可一起通信連接多個計算設(shè)備的連網(wǎng)設(shè)備的任何組織或結(jié)構(gòu),其中 每個包括連網(wǎng)設(shè)備的垂直分層結(jié)構(gòu)的“層”依次比低于它的層具有更大的功率(例如,更大 的交換容量和/或更快的數(shù)據(jù)轉(zhuǎn)移速率),以及基本上等于相同層中的其它連網(wǎng)設(shè)備。因 此,這種圖解表示法表示典型云數(shù)據(jù)中心以及典型企業(yè)數(shù)據(jù)中心基礎(chǔ)設(shè)施的基礎(chǔ)設(shè)施。在一個實施例中,連網(wǎng)設(shè)備是路由器。依照其它實施例,連網(wǎng)設(shè)備可以是包括交換 和路由功能的層2/3的路由器和/或和連網(wǎng)設(shè)備的組合。根據(jù)一些實施例,包括所述數(shù)據(jù) 中心的所述組件可以是共同定位的。依照替代性的實施例,包括數(shù)據(jù)中心的所述組件可以 是遠程分配并經(jīng)由因特網(wǎng)199可通信連接的。依照這些實施例,所述云可以是類似于因特 網(wǎng),其中所述配置100是一種包括部件。在一個實施例中,在連網(wǎng)設(shè)備(例如,連網(wǎng)設(shè)備121,123,125以及127)最低層上 的連網(wǎng)設(shè)備可通信地連接到一個或多個計算環(huán)境。依照一些實施例,每個計算環(huán)境可以是 計算系統(tǒng),諸如個人計算(PC)服務器或刀片服務器。在進一步的實施例中,實現(xiàn)為路由器 的連網(wǎng)設(shè)備可以具有多個端口,每個端口配置為物理地連接到服務器的端口或其它計算環(huán) 境141,143,145,147 (例如,經(jīng)由電纜)。連接到連網(wǎng)設(shè)備(連網(wǎng)設(shè)備121)的多個計算環(huán)境 (例如,計算環(huán)境141)可以形成子網(wǎng)絡(luò),或“子網(wǎng)”(例如,子網(wǎng)1131),其中每個計算環(huán)境 141共享路由詞頭的網(wǎng)際協(xié)議地址以及接收由對應連網(wǎng)設(shè)備121路由的網(wǎng)絡(luò)通信量。網(wǎng)絡(luò) 設(shè)備的容量是受限的并且提供的資源典型的由每個包括在對應子網(wǎng)內(nèi)的相連計算環(huán)境共 享。因此網(wǎng)絡(luò)設(shè)備的資源的一個或多個計算環(huán)境產(chǎn)生的消費過度可能對其它(也許所有)
8子網(wǎng)組成具有潛在的、廣泛的影響,包括,例如,嚴重的帶寬下降。選擇地,計算環(huán)境141,143,145,147以及連網(wǎng)設(shè)備121,123,125,127的一個或多
個組合可以一起形成(較大的)子網(wǎng)。例如,子網(wǎng)可以由連接到共享(通常較少專用)路 由詞頭以及接收由監(jiān)督連網(wǎng)設(shè)備111路由的網(wǎng)絡(luò)通信量的連網(wǎng)設(shè)備121和123的計算環(huán)境 141、143形成。依次較大的子網(wǎng)通過在較高層(以及它們的相應連接的較低層和/或計算 設(shè)備)包括連網(wǎng)設(shè)備可以形成具有越來越不專用的路由詞頭(例如,在路由詞頭中共享較 少八位字節(jié)比特)。在更進一步的實施例中,一個或多個虛擬化的計算環(huán)境可以從一個或多 個計算環(huán)境141,143,145,147中執(zhí)行。這些虛擬化的計算環(huán)境也可以包括在相應子網(wǎng)內(nèi)。在一個實施例中,一個或多個計算環(huán)境141,143,145,147和/或虛擬化的計算環(huán) 境可以用作平臺,云消費者的一個或多個實例可以其上執(zhí)行。如同所提供的,垂直分層結(jié)構(gòu) 的最高層的所述連網(wǎng)設(shè)備101也可以與另一個連網(wǎng)設(shè)備(未示出)相連。為了簡單以及簡 潔起見,配置100的圖解說明已經(jīng)被限制在的垂直分層結(jié)構(gòu)的選擇部分中。應該理解的是, 權(quán)利要求的主題的實施例可以適用于可選布置以及配置。示例性應用管理系統(tǒng)參考圖2,根據(jù)本發(fā)明的實施例,描述了具有預先啟動的備用實例的數(shù)據(jù)中心299 中的應用管理系統(tǒng)的示例性狀態(tài)200的示意圖。在通用結(jié)構(gòu)中,狀態(tài)200包括在第一子網(wǎng) (例如,子網(wǎng)201)中的第一計算環(huán)境中執(zhí)行的應用205的主實例;在第二子網(wǎng)211中的第二 計算環(huán)境中執(zhí)行的應用215的備用實例;以及在第三子網(wǎng)221中的第三計算環(huán)境中執(zhí)行的 監(jiān)視代理225。如同所提供的,每個子網(wǎng)201,211,221對應于可通過連網(wǎng)設(shè)備(例如,連網(wǎng) 設(shè)備203,213,223)通信地連接到網(wǎng)絡(luò)(例如,因特網(wǎng),局域網(wǎng)等等)的一個或多個計算環(huán) 境。在一個實施例中,連網(wǎng)設(shè)備203,213,223可以是路由器以及邊緣設(shè)備的一些組合。依 照一些實施例,應用的主要或主機實例包括可以用來向旨在的服務消費者提供服務的可用 應用的操作實例。如所描述的,子網(wǎng)1和子網(wǎng)2存在數(shù)據(jù)中心299內(nèi)。因此,子網(wǎng)1和子網(wǎng)2可以包 含包括在計算資源的集合(包括云數(shù)據(jù)中心299)中的一個或多個計算環(huán)境。例如,子網(wǎng)1 和/或子網(wǎng)2可以包括多個硬件計算設(shè)備(例如,服務器)和多個從一個或多個硬件計算 設(shè)備中執(zhí)行的虛擬機的組合,利用層2/3交換功能,可通信地連接到一個或多個路由器和/ 或其它連網(wǎng)設(shè)備子網(wǎng)3相對于數(shù)據(jù)中心299存在于外部,并可以實現(xiàn)為,例如,包含在替代的公共 云數(shù)據(jù)中心中的子網(wǎng),私人企業(yè)數(shù)據(jù)中心,或所述兩個的混合。如同子網(wǎng)1和2—樣,子網(wǎng)3 可以包括多個物理和虛擬計算環(huán)境的組合。在替代性的實施例中,子網(wǎng)3也可以包括在數(shù) 據(jù)中心299之內(nèi)。在一個實施例中,子網(wǎng)1是數(shù)據(jù)中心299內(nèi)獨立于子網(wǎng)2的子網(wǎng)。在更 進一步的實施例中子網(wǎng)3可以包括在數(shù)據(jù)中心299內(nèi),并可以是獨立于子網(wǎng)1和2兩者的 子網(wǎng)。在替代性的實施例中,所述第三計算環(huán)境225可以如同第二計算環(huán)境225 (例如子網(wǎng) 2)被包括在相同子網(wǎng)之內(nèi),而不是子網(wǎng)3。在進一步的實施例中,所述監(jiān)視代理隨著所述備 用實例執(zhí)行在第二計算環(huán)境225中。在更進一步的實施例中,可以在共同定位在相同子網(wǎng)(例如,子網(wǎng)1)中的多個計 算環(huán)境中執(zhí)行應用的主實例。依照此實施例,可以在指定為執(zhí)行所述應用的主實例的計算 環(huán)境的基于硬件的負載平衡器中執(zhí)行所述監(jiān)視代理。所述負載平衡器例如可以包括在所述 第二子網(wǎng)(例如,子網(wǎng)2)內(nèi),或選擇地在數(shù)據(jù)中心的外部子網(wǎng)(例如,子網(wǎng)3)中。在替代
9性的實施例中,所述負載平衡器可以實現(xiàn)為在所述應用的主實例的子網(wǎng)外部的計算環(huán)境中 執(zhí)行的軟件。在進一步的實施例中,可以在相同計算環(huán)境中執(zhí)行所述負載平衡器和監(jiān)視代理。依照一個實施例,從子網(wǎng)1中的計算環(huán)境205中執(zhí)行消費者應用的主實例。在以 云基礎(chǔ)設(shè)施為特征的實施例內(nèi),在一個或多個其它計算環(huán)境205上執(zhí)行的幾個其它消費者 應用可以包含在子網(wǎng)1中。本申請可以包括與其它基于網(wǎng)頁的應用一致的大批不同的特征 和功能。本申請也共享單獨、有限的帶寬,例如,連網(wǎng)設(shè)備203的路由容量。這個帶寬在很 大程度上由連網(wǎng)設(shè)備203的具體硬件配置確定。如同其它傳統(tǒng)的基于網(wǎng)頁的應用一樣,從位于云中的資源中執(zhí)行的應用可能受到 攻擊性的或惡意服務干擾的形式的影響。拒絕服務(DoS)攻擊和分布的拒絕服務(DDoS) 攻擊是公知的,并且典型的通過利用典型的從遠程的大型主機、分布源(未示出)發(fā)送的通 信量使路由器(例如,子網(wǎng)201的連網(wǎng)設(shè)備203)飽和,以及從而可能地消耗大量帶寬,導致 非常下降的帶寬用于路由器的子網(wǎng)的構(gòu)成者,從而影響服務。在云基礎(chǔ)設(shè)施內(nèi),拒絕服務攻 擊是通過征用相對小數(shù)量的資源并在持續(xù)期間內(nèi)發(fā)送大量通信量,從而消耗連網(wǎng)設(shè)備的全 部路由容量、并致使所述設(shè)備沒有能力路由其它的、合法的通信量來執(zhí)行的。依照一個實施例,所述應用的主實例連續(xù)地監(jiān)視子網(wǎng)(子網(wǎng)1)中的帶寬的健康狀 態(tài)。依照進一步的實施例,所述帶寬的健康狀態(tài)可以由所述監(jiān)視代理225監(jiān)視。這個交換 由連接子網(wǎng)1的連網(wǎng)設(shè)備(連網(wǎng)設(shè)備203)到子網(wǎng)3的連網(wǎng)設(shè)備(連網(wǎng)設(shè)備223)的箭頭表 示。依照進一步的實施例,所述監(jiān)視代理225可以周期性地監(jiān)視備用實例215的帶寬的健康 狀態(tài)。這個交換由連接子網(wǎng)3的連網(wǎng)設(shè)備(連網(wǎng)設(shè)備223)到子網(wǎng)2的連網(wǎng)設(shè)備(連網(wǎng)設(shè) 備213)的虛線箭頭表示。依照其它實施例,所述監(jiān)視代理225可連續(xù)地監(jiān)視備用實例215 的所述帶寬的健康狀態(tài)。作為選擇,所述備用實例215可監(jiān)視它自身的與所述監(jiān)視代理225 通信的帶寬。圖3是根據(jù)本發(fā)明的各種實施例,描述當應用的主操作的實例的帶寬被損害的時 候,具有預先啟動的備用實例的數(shù)據(jù)中心399中的應用管理系統(tǒng)的示例性狀態(tài)300的示意 圖。如圖所示,所述狀態(tài)300包括兩個都在第一子網(wǎng)301中的計算環(huán)境中執(zhí)行的應用305 和高容量消費者應用307的主實例;在第二子網(wǎng)311中的第二計算環(huán)境315中執(zhí)行的應用 的備用實例;以及在第三子網(wǎng)321中的第三計算環(huán)境325中執(zhí)行的監(jiān)視代理。也提供對應 于每個子網(wǎng)301,311,321的多個連網(wǎng)設(shè)備303,313,323。所述高容量消費者應用307在數(shù)據(jù)中心399內(nèi)可產(chǎn)生足夠的通信量來浸透所述連 網(wǎng)設(shè)備303,從而消耗連網(wǎng)設(shè)備303的資源并消極地影響對從子網(wǎng)301中執(zhí)行的其它應用 (例如,在計算環(huán)境305上執(zhí)行的應用)的服務。所述高容量消費者應用307例如可能是啟 動DoS攻擊來不利于子網(wǎng)中的一個或多個其它應用的惡意消費者。作為選擇,高容量消費 者應用307可能僅僅是占據(jù)不成比例的帶寬數(shù)量(例如,通過按照UDP數(shù)據(jù)傳送協(xié)議傳輸 大量數(shù)據(jù))的高容量消費者。這個負面影響可以表示為用于其它子網(wǎng)成員的帶寬極大的降 低。只要連網(wǎng)設(shè)備303繼續(xù)被浸透,所述子網(wǎng)(子網(wǎng)1)的其它組成部分可能經(jīng)歷網(wǎng)絡(luò) 服務質(zhì)量的明顯降低。如果監(jiān)視代理325或者應用305的主實例之一檢測到子網(wǎng)1中的可 用帶寬中的明顯下降,所述應用的主實例將傳送這個影響到所述監(jiān)視代理225。在一個實施例中,所述傳送將在子網(wǎng)的帶寬降低到低于預定閾值的時候產(chǎn)生。這個閾值可以根據(jù)用戶 或消費者偏好來調(diào)整。例如,低于期待帶寬(閾值)的30%的帶寬可以確定為“下降”。根 據(jù)進一步的實施例,一旦子網(wǎng)1中的下降帶寬已經(jīng)被傳送到所述監(jiān)視代理225,所述監(jiān)視代 理可開始主動地測量備用實例215的帶寬。這個測量可以通過例如計算數(shù)據(jù)分組到所述備 用實例的到達時間中的差值來實現(xiàn)。如果確定可以用于所述備用實例215的帶寬大于子網(wǎng) 1中的帶寬,所述監(jiān)視代理225開始傳送應用的主操作到所述備用實例的處理。圖4是根據(jù)本發(fā)明的各種實施例,描述當應用的主操作傳送之后,具有預先啟動 的備用實例的數(shù)據(jù)中心499中的應用管理系統(tǒng)的示例性狀態(tài)400的示意圖。結(jié)構(gòu)400描述 主操作從先前的主實例(例如,先前的主實例405)傳送到先前的備用實例(例如,備份實 例415)之后的狀態(tài)。如同所提供的結(jié)構(gòu)400包括解激活的、具有高容量消費者應用407的 第一子網(wǎng)401中的應用405的以前地主實例(圖3的主實例305),在第二子網(wǎng)411中的第 二計算環(huán)境中執(zhí)行的應用415的新的主實例(早先的備用)(例如,圖3的315);以及在第 三子網(wǎng)421中的第三計算環(huán)境中執(zhí)行的監(jiān)視代理425。在一個實施例中,狀態(tài)400還包括在第四子網(wǎng)431中的第四計算設(shè)備中的動態(tài)啟 動地新備用實例435。所述新備用實例435例如可以如同應用415的主實例的復制而被創(chuàng) 建。同時提供對應于每個子網(wǎng)401,411,421以及431的多個連網(wǎng)設(shè)備403,413,423以及 433,用于可通信地連接并為每個子網(wǎng)401,411,421,431中的多個計算環(huán)境分配數(shù)據(jù)。參照圖2-4描述的所述狀態(tài)200,300,400描述了用于移植諸如云數(shù)據(jù)中心的數(shù)據(jù) 中心中的應用的主操作的處理。根據(jù)進一步的實施例,所述狀態(tài)200,300和400可以重復 用于每個連續(xù)的移植以便執(zhí)行多個移植或“應用跳躍”來預先主動地避免進一步的需要的 DoS攻擊。參考圖5,根據(jù)本發(fā)明的實施例,描述了具有動態(tài)啟動的新備用的數(shù)據(jù)中心599中 的應用管理系統(tǒng)的示例性狀態(tài)500的示意圖。在典型結(jié)構(gòu)中,所述狀態(tài)500對應于如上根 據(jù)圖2所述的相同號碼的特征,包括在第一子網(wǎng)(例如,子網(wǎng)501)中的第一計算環(huán)境中執(zhí) 行的應用505 ;第二子網(wǎng)511 ;在第三子網(wǎng)521中的第三計算環(huán)境中執(zhí)行的監(jiān)視代理525。 如同所提供的每個子網(wǎng)501,511,521對應于通過連網(wǎng)設(shè)備(例如連網(wǎng)設(shè)備503,513,523) 可通信地連接到網(wǎng)絡(luò)(例如,所述因特網(wǎng),局域網(wǎng)等等)的一個或多個計算環(huán)境。在一個實 施例中,連網(wǎng)設(shè)備503,513,523可以是路由器和邊緣設(shè)備的一些組合并可用來在數(shù)據(jù)中心 599之內(nèi)和之外引導數(shù)據(jù)。依照一個實施例,所述應用的主實例連續(xù)地監(jiān)視子網(wǎng)(子網(wǎng)1)中的帶寬的健康狀 態(tài)。依照進一步的實施例,所述帶寬的健康狀態(tài)可以由所述監(jiān)視代理525監(jiān)視。這個交換 由連接子網(wǎng)1的連網(wǎng)設(shè)備(連網(wǎng)設(shè)備503)到子網(wǎng)3的連網(wǎng)設(shè)備(連網(wǎng)設(shè)備523)的箭頭表 示。根據(jù)進一步的實施例,所述監(jiān)視代理525可周期性地估計替代的子網(wǎng)(例如,子網(wǎng)2) 中的帶寬的健康狀態(tài)。這個交換由連結(jié)子網(wǎng)3的連網(wǎng)設(shè)備(連網(wǎng)設(shè)備523)到子網(wǎng)2的連 網(wǎng)設(shè)備(連網(wǎng)設(shè)備513)的虛線箭頭表示。如果所述監(jiān)視代理525檢測到子網(wǎng)1中的帶寬 的下降,如果發(fā)現(xiàn)子網(wǎng)2是適當?shù)?例如,具有不受損害的帶寬),所述監(jiān)視代理525能動態(tài) 地在子網(wǎng)2中啟動應用515的備份實例。一旦啟動,所述監(jiān)視代理525可引導應用的主操 作從主實例505到動態(tài)啟動的實例515的移植。圖6根據(jù)權(quán)利要求的主題的各種實施例,描述主操作的實例605的傳送以及多個動態(tài)啟動地新備用實例615、635的數(shù)據(jù)中心699中的應用管理系統(tǒng)的示例性狀態(tài)600的示 意圖。如同上面參照圖5描述的示例性狀態(tài)500 —樣,示例性狀態(tài)600包括在第一子網(wǎng)中 的第一計算環(huán)境中執(zhí)行的應用605的主實例;在第二子網(wǎng)611 ;以及在第三子網(wǎng)621中的第 三計算環(huán)境中執(zhí)行的監(jiān)視代理625。示例性狀態(tài)600還包括第四子網(wǎng)631。如同所提供的 每個子網(wǎng)601,611,621和631對應于可通過連網(wǎng)設(shè)備(例如,連網(wǎng)設(shè)備603,613,623,633) 通信地連接到網(wǎng)絡(luò)(例如,所述因特網(wǎng),局域網(wǎng)等等)的一個或多個計算環(huán)境。依照一個實施例,子網(wǎng)(子網(wǎng)1)中的帶寬的健康狀態(tài)由可周期性地估計替代子網(wǎng) (例如,子網(wǎng)2和子網(wǎng)3)中的帶寬的健康狀態(tài)的監(jiān)視代理625連續(xù)地監(jiān)視。如果所述監(jiān)視 代理625檢測到子網(wǎng)1中的帶寬的下降,如果發(fā)現(xiàn)子網(wǎng)2是適當?shù)?例如,具有不受損害的 帶寬),所述監(jiān)視代理625能動態(tài)地啟動子網(wǎng)2中的應用615的備份實例。作為選擇,如果 子網(wǎng)2不是適當?shù)?,也就是說,如果子網(wǎng)2的帶寬也經(jīng)歷帶寬的下降,監(jiān)視代理625能動態(tài) 地在子網(wǎng)3里啟動的應用615的備份實例,等等,直到檢測到具有適當?shù)膸挷⑶覇觽溆?實例。一旦啟動,所述監(jiān)視代理625可引導應用的主操作從主實例605到動態(tài)啟動的實例 的移植。參考圖7,描述了以利用備用實例執(zhí)行監(jiān)視代理為特征的數(shù)據(jù)中心799中的應用 管理系統(tǒng)的示例性結(jié)構(gòu)700的示意圖。如同所提供的結(jié)構(gòu)700包括多個設(shè)置在多個子網(wǎng)絡(luò) 中的多個計算資源。具體來講,多個計算環(huán)境(例如,計算環(huán)境705,715,725)可分布在多 個子網(wǎng)絡(luò)內(nèi),并且經(jīng)由多個連網(wǎng)設(shè)備(例如,連網(wǎng)設(shè)備703,713,723)可通信地連接到所述 網(wǎng)絡(luò)。結(jié)構(gòu)700還包括在第一子網(wǎng)(例如,子網(wǎng)701)中的第一計算環(huán)境中執(zhí)行的應用205 的主實例;在第二子網(wǎng)711中的第二計算環(huán)境中執(zhí)行的應用715的備用實例;以及在第三 子網(wǎng)721中的第三計算環(huán)境中執(zhí)行的第二備份或備用實例725。如同所提供的監(jiān)視代理可 以隨著應用715的備用實例執(zhí)行。依照一個實施例,隨著備用實例715執(zhí)行的所述監(jiān)視代理連續(xù)地監(jiān)視第一子網(wǎng) (子網(wǎng)701)中的所述帶寬的健康狀態(tài)以及它自身帶寬(例如,在第二子網(wǎng)711中可用的帶 寬)的健康狀態(tài)。如果所述監(jiān)視代理715檢測到子網(wǎng)1中的帶寬的下降,如果子網(wǎng)2的帶 寬被確定為沒有下降(例如,經(jīng)由DoS攻擊或特別是高容量子網(wǎng)組成部分),所述監(jiān)視代理 715能引導應用的主操作從子網(wǎng)1(例如,子網(wǎng)701)中的實例到隨著子網(wǎng)2中的所述監(jiān)視代 理執(zhí)行的備份實例的移植。移植應用在一個實施例中,數(shù)據(jù)中心網(wǎng)絡(luò)包括分布在多個子網(wǎng)之間的計算環(huán)境的集合,其 中每個子網(wǎng)可包括多個計算環(huán)境。在所述子網(wǎng)內(nèi)的計算環(huán)境可通信地連接在網(wǎng)絡(luò)基礎(chǔ)設(shè)施 中的彼此之間并經(jīng)由數(shù)據(jù)路徑選擇數(shù)據(jù)路由連網(wǎng)設(shè)備物理地路由。由所述一個或多個子網(wǎng) 的計算環(huán)境共享的這些連網(wǎng)設(shè)備具有能被處理的(例如,路由)有限數(shù)據(jù)量。由于供應不 足,這能導致物理路由瓶頸,其通過攻擊性的或過度消耗的子網(wǎng)成員能相對容易讓步。因 此,在子網(wǎng)中的計算環(huán)境上執(zhí)行的消費者應用可能發(fā)現(xiàn)自己遭受下降的服務(例如,急速 降低地帶寬)作為在相同子網(wǎng)的其它組成部分上做動作或由相同子網(wǎng)的其它組成部分做 動作的結(jié)果。在一個實施例中,消費者應用像應用的主實例一樣被執(zhí)行,并由在分布在替代 子網(wǎng)中的計算環(huán)境中執(zhí)行的監(jiān)視代理管理。圖8是根據(jù)權(quán)利要求的主題的各種實施例,描述將應用的運行從第一計算環(huán)境移
12植到第二計算環(huán)境的示例性方法800的流程圖。雖然在流程圖800(以及流程圖900和流 程圖1000)中公開了具體步驟,但這種步驟是示例性的。也就是說,本發(fā)明的實施例非常適 合于執(zhí)行各種其它(額外的)步驟或在流程圖800、900和1000中列舉的步驟的變化。應 該理解,是流程圖800、900和1000中的步驟可以以不同于提供的順序執(zhí)行,以及不是流程 圖800、900和1000中的所有步驟都要執(zhí)行。根據(jù)在此描述的各種實施例,步驟801-809描 述包括方法800的示例性步驟。根據(jù)進程800,通過連網(wǎng)設(shè)備為在其上執(zhí)行應用的主操作的第一計算環(huán)境提供數(shù) 據(jù)通信服務。這個連網(wǎng)設(shè)備可以與其它計算環(huán)境共享,直接連接到所述連網(wǎng)設(shè)備的共享計 算環(huán)境的總和形成子網(wǎng)。由連網(wǎng)設(shè)備提供的服務(例如,分配網(wǎng)絡(luò)通信量的能力)具有有 限限度,也就是說,與相應子網(wǎng)的多個組成部分共享。由連網(wǎng)設(shè)備提供的服務的質(zhì)量(以及 因此由子網(wǎng)的組成部分經(jīng)歷的)可能是下降的。這個下降可以在所述計算環(huán)境中確定,因 此可以在所述計算環(huán)境的網(wǎng)絡(luò)接口卡(NIC)檢測到路由至所述計算環(huán)境的通信量。在一個 實施例中,由對應于在第一計算環(huán)境中執(zhí)行的應用的監(jiān)視代理在子網(wǎng)級檢測到所述下降。步驟801至805描述執(zhí)行來檢測到所述下降的示例性步驟。在步驟801,測量在計 算機環(huán)境中執(zhí)行的以及可通信地連接到數(shù)據(jù)中心中的連網(wǎng)設(shè)備的消費者應用可用的帶寬。 在一個實施例中,所述計算環(huán)境是多個可通信地連接到相同連網(wǎng)設(shè)備包括其它計算環(huán)境中 的一個,可通信地連接到相同連網(wǎng)設(shè)備的多個計算環(huán)境包括子網(wǎng)??捎糜趹玫牡谝粚嵗?的帶寬的測量包含,例如估計可用于所述子網(wǎng)的相應連網(wǎng)設(shè)備(路由器)的空閑信道容量。在步驟803,比較在步驟801測量的帶寬和閾值。在一個實施例中,所述閾值可以 是預定閾值,諸如數(shù)據(jù)傳輸速率,等待時間等等。在一個實施例中,所述閾值可確定為描繪 在估計的正常操作的范圍期間可用于相應連網(wǎng)設(shè)備的信道容量。如果在步驟801測量的帶 寬超出所述閾值,重復步驟801和803。否則,所述處理進行到步驟805。在步驟805,可用于它的子網(wǎng)中的應用的帶寬被確定為低于閾值,以及應用傳送遇 險信號到在分布在替代子網(wǎng)中的計算環(huán)境中執(zhí)行的監(jiān)視代理。傳送所述遇險信號可包括, 例如,發(fā)送大量分組到所述監(jiān)視代理來請求幫助和/或?qū)⑺鰩挼南陆低ㄖo所述監(jiān)視 代理。在一個實施例中,使用UDP傳送協(xié)議,所述分組像UDP分組一樣被發(fā)送。通過利用 UDP傳送協(xié)議發(fā)送所述分組,所述分組能夠與其它高容量通信量(例如,經(jīng)由相同子網(wǎng)中的 另一個應用上的DoS攻擊)競爭。因此,即使在總帶寬不足期間,來自遇險應用的一部分 UDP分組也將到達它的目的地(例如,所述監(jiān)視代理)。在步驟807,一旦所述監(jiān)視代理從消費者應用接收到遇險信號,所述監(jiān)視代理啟動 用于將主操作從應用的當前主實例移植為在替代子網(wǎng)中運行的計算環(huán)境中執(zhí)行的應用的 可選實例的處理。在一個實施例中,啟動用于移植所述主操作的進程包括提供在步驟805 發(fā)送的遇險信號被接收的確認。根據(jù)進一步的實施例,啟動用于移植所述主操作進程還可以包括通知到該應用 的當前主實例來啟動終止操作和/或保存運行的當前狀態(tài)和/或執(zhí)行其它動作來便于主操 作到另一個實例的傳送。在一個實施例中,到所述應用的當前主實例的通知可以像UDP分
組一樣遞送。依照一些實施例,在步驟807,接收遇險信號的監(jiān)視代理能發(fā)送通知到所述應用的 當前主實例來啟動終止操作。在步驟809,一旦所述應用的當前主實例收到所述通知,所述實例能終止它的應用的執(zhí)行。測量可用于應用實例的帶寬參見圖9,根據(jù)所要求的主題的各種實施例,描述了用于測量可用于云數(shù)據(jù)中心的 子網(wǎng)中的可用帶寬的示例性方法900的流程圖。根據(jù)在此描述的各種實施例,步驟901-907 描述包括方法900的示例性步驟。在一個實施例中,步驟901-907包括如上參考圖8所述 的在步驟801執(zhí)行的步驟。在步驟901,子網(wǎng)的帶寬由應用通過發(fā)送多個已標記數(shù)據(jù)分組到子網(wǎng)外部的位置 來測量。在一個實施例中,數(shù)據(jù)分組可以發(fā)送到,例如,管理所述應用的具體實例的監(jiān)視代 理。根據(jù)替代性的實施例,所述數(shù)據(jù)分組可以發(fā)送到其它目的地,該目的地可以在數(shù)據(jù)中心 內(nèi)部或不在數(shù)據(jù)中心內(nèi)部。在一個實施例中,所述數(shù)據(jù)分組被標記(例如,所述數(shù)據(jù)分組區(qū) 別于其它數(shù)據(jù)分組)。所述數(shù)據(jù)分組可以根據(jù)例如TCP協(xié)議傳輸。在典型實施例中,多個已 標記數(shù)據(jù)分組被成對發(fā)送,其中成一對的數(shù)據(jù)分組如同第一數(shù)據(jù)分組和第二數(shù)據(jù)分組一樣 被接連地發(fā)送(例如,一個接著一個)。在步驟903,在第一到達時間接收到相應于第一數(shù)據(jù)分組的第一返回分組(例如, 第一數(shù)據(jù)分組的“回應”)。第一返回分組包括,例如從第一數(shù)據(jù)分組的目標發(fā)送的確認分 組。在其它實施例中,第一數(shù)據(jù)分組可以在目標被再路由并被接收為第一返回分組。在步驟905,在第二到達時間接收到對應于第二數(shù)據(jù)分組的第二返回分組。第二返 回分組包括,例如從第二數(shù)據(jù)分組的目標發(fā)送的確認分組。在其它實施例中,第二數(shù)據(jù)分組 可以在目標被再路由并被接收為第二返回分組。在步驟907,通過測量在第一到達時間和第二到達時間之間的差值、解決在傳送時 間中的差異(通常忽略)來估計帶寬。第一和第二到達時間之間的較大差值表示降低的帶 寬。同樣地,到達時間之間的輕微差值表示帶寬沒有下降。在進一步的實施例中,第一數(shù)據(jù) 分組和第二數(shù)據(jù)分組可以由監(jiān)視代理接收,在數(shù)據(jù)分組的原點的子網(wǎng)的帶寬(例如,所述 應用的帶寬)可以通過成一對的第一數(shù)據(jù)分組和第二數(shù)據(jù)分組間的到達時間中的差異來 估計。根據(jù)替代性的實施例,子網(wǎng)的帶寬的測量可以通過發(fā)送多個單獨探測分組到外部 位置,以及測量在所述子網(wǎng)的連網(wǎng)設(shè)備的排隊延遲來執(zhí)行。通過根據(jù)所述排隊延遲的逆向 相關(guān)可以估計可用帶寬,其中延遲越大,在所述子網(wǎng)中的可用帶寬就較少。管理應用來避免低帶寬現(xiàn)在參考圖10,根據(jù)所要求的主題的各種實施例,描述了描述管理應用來避免云 數(shù)據(jù)中心的低帶寬的示例性方法1000的流程圖。根據(jù)在此描述的各種實施例的主題,步驟 1001-1013描述包括方法1000的示例性步驟。在步驟1001,監(jiān)視代理檢測到由所述代理監(jiān)視的應用的主操作實例的帶寬的下 降。在一個實施例中,應用的主操作實例在云數(shù)據(jù)中心的子網(wǎng)中的計算環(huán)境(例如,服務 器,虛擬機等等)上執(zhí)行。所述監(jiān)視代理可以在相同云數(shù)據(jù)中心的替代子網(wǎng)中的計算環(huán)境 中執(zhí)行,或作為選擇,在外部網(wǎng)絡(luò)的子網(wǎng)中。在進一步的實施例中,所述監(jiān)視代理在可通信 地連接到所述云數(shù)據(jù)中心的私有公司的數(shù)據(jù)中心中執(zhí)行。檢測到主操作實例的帶寬下降包 含,例如,接收來自包括對下降情形的通知的所述應用的主實例的遇險通信。在進一步的實 施例中,所述監(jiān)視代理管理多個主操作的實例并因此,收到來自一個或多個所述應用的主實例的消息。依照此實施例,所述監(jiān)視代理可過濾遇險消息來清除來自相同實例的重復消 肩、o作為選擇,在一個實施例中,所述監(jiān)視代理通過估計帶寬、比較帶寬和第一預定閾 值、以及確定第一帶寬低于第一預定閾值,來預先的檢測應用的主實例的帶寬的下降。第一 預定閾值包括例如,在高峰期的正常通信量的范圍和明顯損害的信道容量間的描繪。在一 個實施例中,估計帶寬可以通過發(fā)送多個已標記數(shù)據(jù)分組到所述應用的主實例、接收對應 于多個已標記數(shù)據(jù)分組的多個返回分組并根據(jù)多個返回分組之間的差值估計來執(zhí)行。一旦在步驟1001已經(jīng)從應用的主操作的實例接收一個或多個遇險消息,在步驟 1003,所述監(jiān)視代理通過測量可用于一個或多個所述應用的備用實例的帶寬來確定所述應 用的適當?shù)膫溆脤嵗齺沓袚鰬玫闹鞑僮鳌T谝粋€實施例中,所述應用的備用實例是 如同在第二子網(wǎng)中的計算環(huán)境上執(zhí)行的主操作實例的備用實例一樣運行的預先啟動的實 例。在一些實施例中,所述備用實例可以像所述監(jiān)視代理一樣在相同計算環(huán)境中執(zhí)行。因 此,測量可用的帶寬包含確定可用于第二子網(wǎng)中的應用的第二實例的帶寬。在進一步的實 施例中,在所述備用實例運行的同時,備用實例的帶寬是由所述監(jiān)視代理周期性地來測量。 依照此實施例,所述監(jiān)視代理的帶寬已經(jīng)被確定,其中所述方法進行到步驟1005,或作為選 擇,可以由隨后的測量進一步的確認。作為選擇,在一些實施例中,沒有像用于主操作實例的備用實例一樣運行的預先 啟動的備用實例。依照此實施例,可以在第二子網(wǎng)中動態(tài)地啟動新備用實例(例如,需要的 計算資源可根據(jù)請求征用以及載入合適的軟件)。一旦啟動所述新備用實例,就可以測量所 述帶寬。在一個實施例中,所述備用實例的帶寬可以根據(jù)上面參照圖9描述的處理900來測量。在步驟1005,比較在步驟1003確定的所述備用實例的帶寬和第二預定閾值。在一 個實施例中,所述第二預定閾值大于當前的主操作實例的帶寬。在進一步的實施例中,所述 第二預定閾值表示帶寬沒有下降。如果所述備用實例的帶寬被確定為高于所述第二預定閾 值,所述方法直接進行到步驟1011。否則,如果所述備用實例的帶寬被確定為等于或低于所 述第二預定閾值,所述方法進行到步驟1007。如果在步驟1005確定的所述備用實例的帶寬等于或低于所述第二預定閾值,在 步驟1007啟動所述應用的一個或多個額外的實例作為主操作的實例候選者。在一個實施 例中,在互不相同的子網(wǎng)以及從第一和第二子網(wǎng)中啟動所述應用的每個額外的實例。在步 驟1009估計可用于所述實例的帶寬。作為選擇,如果所述應用的實例已經(jīng)預先啟動,在步 驟1009反而檢查所述應用的預先啟動實例。在步驟1009估計對應于每個主操作的實例候 選者的帶寬。估計主操作的實例候選者的帶寬可以像上面參考圖9描述的方法900 —樣執(zhí) 行。一旦估計了主操作的實例候選者的帶寬,比較所述帶寬和所述第二預定閾值(如同上 面引用的步驟1005),其中所述進程1000是從步驟1005開始重復。如果所述備用實例的帶寬在步驟1005被確定超出所述第二預定閾值,在步驟 1011啟動在第一計算系統(tǒng)中執(zhí)行的應用到所述第二計算系統(tǒng)的移植。所述應用的移植包 括,例如,將所述應用的主操作從在第一子網(wǎng)(例如,經(jīng)歷下降帶寬的子網(wǎng))中的計算設(shè)備 中執(zhí)行的先前的主操作的實例,傳送到在步驟1005確定的相對沒有下降的替代子網(wǎng)中執(zhí) 行的新的主操作的實例(例如,先前的備用實例)。此外,啟動所述應用的移植包括使所
15述應用的先前主操作的實例無效,以及提供通知到先前的主操作的實例來終止運行,和執(zhí) 行任何便于移植所需要的任何運行(例如,保存任何當前事務的進程)。在一個實施例中,云數(shù)據(jù)中心中的消費者能夠更改征用的計算環(huán)境的靜態(tài)IP地 址。依照這此實施例,所述應用的移植也可以包括將所述執(zhí)行所述備用實例的計算環(huán)境的 靜態(tài)IP地址切換為執(zhí)行所述應用的當前主實例的計算環(huán)境的靜態(tài)IP地址,以便在所述實 例的靜態(tài)IP地址移植以后,其中仍舊執(zhí)行所述應用的主進程(例如,先前的備用實例將具 有像先前的主操作的實例一樣的相同靜態(tài)IP地址)。因此,通過保持經(jīng)過移植的靜態(tài)IP地 址,該方法有利地防止由于DNS解析的高速緩存而造成的所述應用的第三方客戶端所要求 服務的不必要延遲。作為選擇,在一些實施例中,云數(shù)據(jù)中心中的消費者不能更改征用的計算資源的 靜態(tài)IP地址(多個)。依照此實施例,所述應用的移植包括改變對應于所述應用的域名的 DNS傳送。在進一步的實施例中,改變所述域名的DNS傳送包含,例如,將在一個或多個名稱 服務器的所述應用的域名的傳送從傳送到所述應用的第一(先前的主操作)實例的IP地 址改變?yōu)樗鰬玫男碌闹?備用)的操作實例。在步驟1013,激活所述應用的新的主操作的實例,以及為第三子網(wǎng)中的所述應用 的新的主操作的實例啟動所述應用的新備用實例。在一個實施例中,所述第三子網(wǎng)是云數(shù) 據(jù)中心中的子網(wǎng),也就是說,不是第一或第二子網(wǎng)。在其它實施例中,所述第三子網(wǎng)包括私 有網(wǎng)絡(luò)基礎(chǔ)設(shè)施中的子網(wǎng),諸如公司的數(shù)據(jù)中心。在更進一步的實施例中所述第三子網(wǎng)包 括另一個云數(shù)據(jù)中心中的子網(wǎng)。在替代性的實施例里,所述應用的新備用實例是預先啟動的,并且被指定為用于 所述應用的新的主操作的實例的新備用實例。在步驟1013的完成,完成管理所述應用以避 免低帶寬的進程。作為選擇,在一個實施例中,從步驟1003開始的方法1000可以周期性地 重復(例如,根據(jù)預定持續(xù)時間),以便執(zhí)行多個移植或“應用跳躍”來預先主動地避免進一 步征用的DoS攻擊和類似損害的帶寬。雖然已經(jīng)以專用于構(gòu)造特征和/或方法動作的語言上面描述的所述主體,應該理 解的是,在所附權(quán)利要求書里定義的主題沒有必要局限于的所述具體特征或動作上面的描 述。相反地,上面描述的具體特征和動作是作為實現(xiàn)權(quán)利要求書的示例形式而公開的。具 體來講,雖然為了明了的目的,已經(jīng)參照云基礎(chǔ)設(shè)施描述了所要求的主題的實施例,應該理 解的是,主題不局限于包括這種基礎(chǔ)設(shè)施的實現(xiàn)方式。相反,所要求的主題非常適合于分布 式網(wǎng)絡(luò)系統(tǒng)的多用途結(jié)構(gòu),其可能包括但不局限于云基礎(chǔ)設(shè)施和私人企業(yè)網(wǎng)絡(luò)基礎(chǔ)設(shè)施。
權(quán)利要求
一種用于從第一計算環(huán)境到第二計算環(huán)境的應用移植的方法,包括檢測包括了在第一計算環(huán)境中執(zhí)行的主操作的第一應用的下降的服務質(zhì)量;以及將所述主操作從所述第一應用轉(zhuǎn)移至在第二計算環(huán)境里執(zhí)行的第二應用,其中所述第一應用包括對應的第一網(wǎng)際協(xié)議(IP)地址以及所述第二應用包括對應的第二IP地址。
2.如權(quán)利要求1所述的方法,其中檢測所述下降的服務質(zhì)量包括檢測在提供網(wǎng)絡(luò)路由 服務到子網(wǎng)的連網(wǎng)設(shè)備中的帶寬不足,所述子網(wǎng)包括包含所述第一計算環(huán)境的多個計算環(huán)境。
3.如權(quán)利要求2所述的方法,其中檢測帶寬不足包括發(fā)送多個探測進入所述子網(wǎng)中。
4.如權(quán)利要求3所述的方法,其中所述多個探測的一個探測是成對的分組,所述成對 的分組包括第一分組和第二分組。
5.如權(quán)利要求4所述的方法,其中檢測帶寬不足包括 發(fā)送成對的分組到所述子網(wǎng)之外的目的地;以及測量在接收對應于所述成對的分組的第一分組的響應以及接收對應于所述成對的分 組的第二分組的響應之間的時間差。
6.如權(quán)利要求3所述的方法,其中發(fā)送多個探測包括發(fā)送多個單獨探測分組。
7.如權(quán)利要求6所述的方法,其中檢測帶寬不足包括 測量對應于所述連網(wǎng)設(shè)備中的多個單獨探測分組的排隊延遲。
8.如權(quán)利要求1所述的方法,其中轉(zhuǎn)移所述操作包括從在所述第一計算環(huán)境中執(zhí)行的操作向?qū)谒鰬玫谋O(jiān)視代理發(fā)送遇險信號。
9.如權(quán)利要求1所述的方法,其中轉(zhuǎn)移所述操作包括將對應于所述第二應用的所述第二 IP地址再分配給對應于所述第一應用的所述第一 IP地址。
10.如權(quán)利要求1所述的方法,其中轉(zhuǎn)移所述操作包括將對應于所述第一應用的域名DNS解析重新編程為對應于所述第二應用。
11.一種數(shù)據(jù)中心中的應用管理系統(tǒng),所述系統(tǒng)包括包括多個子網(wǎng)的數(shù)據(jù)中心網(wǎng)絡(luò),所述多個子網(wǎng)包括多個計算環(huán)境,所述多個計算環(huán)境 由對應于所述多個子網(wǎng)的多個連網(wǎng)設(shè)備可通信地連接;所述多個計算環(huán)境的第一計算環(huán)境,所述第一計算環(huán)境包括在所述可通信地連接到具 有第一帶寬的第一連網(wǎng)設(shè)備的多個子網(wǎng)的第一子網(wǎng)中;應用的第一實例,所述應用的所述第一實例在所述第一計算環(huán)境上執(zhí)行以及包括所述 應用的主操作;以及用于管理所述應用的監(jiān)視代理,其中當所述應用的所述第一實例經(jīng)歷帶寬低于預定閾值的時候,所述監(jiān)視代理將所述 應用的主操作轉(zhuǎn)移至在所述多個計算環(huán)境的第二計算環(huán)境上執(zhí)行的所述應用的第二實例。
12.如權(quán)利要求11所述的系統(tǒng),其中所述第一計算環(huán)境和所述第二計算環(huán)境至少其一 包括服務器。
13.如權(quán)利要求12所述的系統(tǒng),其中所述第一計算環(huán)境和所述第二計算環(huán)境至少其一 包括虛擬機。
14.如權(quán)利要求11所述的系統(tǒng),其中所述第二計算環(huán)境包括在所述多個子網(wǎng)的第二子 網(wǎng)內(nèi)。
15.如權(quán)利要求14所述的系統(tǒng),其中所述第二子網(wǎng)包括與所述第一子網(wǎng)不同的子網(wǎng)。
16.如權(quán)利要求11所述的系統(tǒng),其中所述應用的第二實例包括所述應用的預先啟動的 備用實例。
17.如權(quán)利要求11所述的系統(tǒng),其中所述應用的第二實例包括所述應用的動態(tài)啟動的 實例。
18.如權(quán)利要求11所述的系統(tǒng),其中所述監(jiān)視代理在所述數(shù)據(jù)中心網(wǎng)絡(luò)內(nèi)的第三計算 環(huán)境上執(zhí)行,其中所述第三計算環(huán)境并不置于所述第一子網(wǎng)中。
19.如權(quán)利要求11所述的系統(tǒng),其中將所述監(jiān)視代理實現(xiàn)為負載平衡器。
20.如權(quán)利要求11所述的系統(tǒng),其中所述監(jiān)視代理在所述第二計算環(huán)境上執(zhí)行。
21.如權(quán)利要求11所述的系統(tǒng),其中所述監(jiān)視代理在置于相對于所述數(shù)據(jù)中心網(wǎng)絡(luò)外 部的第四計算環(huán)境上執(zhí)行,以及所述第四計算環(huán)境可通信地連接到數(shù)據(jù)中心網(wǎng)絡(luò)。
22.如權(quán)利要求11所述的系統(tǒng),其中所述帶寬低于預定閾值包括根據(jù)由子網(wǎng)組成部分 的過度消費而減少的子網(wǎng)中的帶寬。
23.如權(quán)利要求11所述的系統(tǒng),其中所述帶寬低于預定閾值包括根據(jù)由拒絕服務攻擊 而減少的帶寬。
全文摘要
本發(fā)明涉及云中的應用移植方法和系統(tǒng),更具體地涉及一種用于通過監(jiān)視子網(wǎng)的帶寬來管理云數(shù)據(jù)中心中的應用的方法和系統(tǒng),其中應用的主操作實例是子網(wǎng)的成員。如果檢測到由來自其它子網(wǎng)組成部分的子網(wǎng)資源的過度消費所引起的帶寬中的嚴重下降,在可選的、不受損害的子網(wǎng)中定位適當?shù)拇渭墝嵗?,以及將所述應用的主操作從先前的主操作實例轉(zhuǎn)移至所述次級實例。所述次級實例能在所述云數(shù)據(jù)中心中預先啟動或動態(tài)地被征用。
文檔編號H04L12/26GK101883029SQ20101022568
公開日2010年11月10日 申請日期2010年5月5日 優(yōu)先權(quán)日2009年5月5日
發(fā)明者D·奧爾班, 劉桓 申請人:埃森哲環(huán)球服務有限公司