国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于虛擬化網(wǎng)絡(luò)堆棧的動(dòng)態(tài)遷移的系統(tǒng)和方法與流程

      文檔序號(hào):12289925閱讀:194來(lái)源:國(guó)知局
      用于虛擬化網(wǎng)絡(luò)堆棧的動(dòng)態(tài)遷移的系統(tǒng)和方法與流程

      本申請(qǐng)是2014年6月20日提交的第14/310,492號(hào)美國(guó)專利申請(qǐng)的繼續(xù)申請(qǐng),在此通過(guò)引用將其公開(kāi)內(nèi)容并入。



      背景技術(shù):

      動(dòng)態(tài)遷移(Live migration)是將正在運(yùn)行的虛擬機(jī)從一個(gè)主機(jī)移動(dòng)到另一主機(jī)的行為,其保留虛擬設(shè)備連接性、網(wǎng)絡(luò)連接和虛擬機(jī)健康狀態(tài)報(bào)告。遷移期間,性能可能受到,例如,為復(fù)制內(nèi)存而暫停虛擬機(jī)的影響,或受到與虛擬機(jī)的新主機(jī)建立連接的影響。



      技術(shù)實(shí)現(xiàn)要素:

      本公開(kāi)的一方面提供一種由虛擬化網(wǎng)絡(luò)設(shè)備輔助動(dòng)態(tài)遷移的方法,該方法包含:由虛擬化網(wǎng)絡(luò)設(shè)備向源主機(jī)上的遷移訪客發(fā)送分組,該分組將由源主機(jī)轉(zhuǎn)發(fā)到目標(biāo)主機(jī);經(jīng)源主機(jī)接收來(lái)自目標(biāo)主機(jī)上遷移訪客的分組;由虛擬化網(wǎng)絡(luò)設(shè)備確定是否完成從源主機(jī)到目標(biāo)主機(jī)的遷移訪客的遷移;以及當(dāng)確定遷移完成時(shí),直接從虛擬化網(wǎng)絡(luò)設(shè)備向目標(biāo)主機(jī)上的遷移訪客發(fā)送分組。確定是否完成遷移訪客的遷移可以包括在虛擬化網(wǎng)絡(luò)設(shè)備處直接從目標(biāo)主機(jī)上的訪客接收一個(gè)或多個(gè)分組,并且基于接收到的一個(gè)或多個(gè)分組,識(shí)別到遷移完成。

      本公開(kāi)的另一方面提供一種系統(tǒng),包含源主機(jī)、在源主機(jī)上運(yùn)行的遷移訪客、與源主機(jī)通信的目標(biāo)主機(jī)、以及與源主機(jī)上的遷移訪客通信的其它虛擬化網(wǎng)絡(luò)設(shè)備。源主機(jī)被配置為將從其它網(wǎng)絡(luò)設(shè)備接收的流量轉(zhuǎn)發(fā)到目標(biāo)主機(jī),并且將從目標(biāo)主機(jī)接收的流量轉(zhuǎn)發(fā)到其它網(wǎng)絡(luò)設(shè)備。目標(biāo)主機(jī)被配置為當(dāng)完成遷移訪客的遷移時(shí)直接向其它網(wǎng)絡(luò)設(shè)備發(fā)送分組。其它網(wǎng)絡(luò)設(shè)備被配置為確定何時(shí)從目標(biāo)主機(jī)直接接收到分組,并且作為響應(yīng),直接向目標(biāo)主機(jī)上的遷移訪客發(fā)送分組。該系統(tǒng)可以進(jìn)一步包括網(wǎng)絡(luò)控制器,其被配置為向其它虛擬化網(wǎng)絡(luò)設(shè)備提供用于與目標(biāo)主機(jī)上的遷移訪客直接通信的令牌。一些示例中,在遷移開(kāi)始前,遷移訪客被通知遷移,并且響應(yīng)于該通知,遷移訪客可以被配置為改變它的狀態(tài)。例如,遷移訪客可以將其自身放置在關(guān)閉現(xiàn)有連接并且拒絕將來(lái)處理的請(qǐng)求的模式。作為另一示例,遷移訪客可以與另一系統(tǒng)通信,該通信導(dǎo)致在遷移期間該另一系統(tǒng)將未來(lái)處理的請(qǐng)求指向網(wǎng)絡(luò)上的其它資源。

      本公開(kāi)的又一方面提供一種方法,該方法包含在源主機(jī)的遷移訪客處接收遷移訪客將被從源主機(jī)遷移到目標(biāo)主機(jī)的指示。響應(yīng)于接收到指示,遷移訪客采取預(yù)定行動(dòng)。進(jìn)一步,遷移訪客被從源轉(zhuǎn)移到目標(biāo)。源主機(jī)將從源主機(jī)上遷移訪客的其它網(wǎng)絡(luò)設(shè)備接收的流量轉(zhuǎn)發(fā)到目標(biāo)主機(jī),并且還將從代表遷移訪客的目標(biāo)主機(jī)接收的流量轉(zhuǎn)發(fā)到其它網(wǎng)絡(luò)設(shè)備。

      附圖說(shuō)明

      圖1是根據(jù)本公開(kāi)的各方面的示例系統(tǒng)。

      圖2是根據(jù)本公開(kāi)的各方面的圖1的系統(tǒng)的組件框圖。

      圖3是根據(jù)本公開(kāi)的各方面的另一示例系統(tǒng)。

      圖4是根據(jù)本公開(kāi)的各方面的圖3的系統(tǒng)的組件框圖。

      圖5是根據(jù)本公開(kāi)的各方面的示例方法的流程圖。

      圖6是根據(jù)本公開(kāi)的各方面的另一示例方法的流程圖。

      具體實(shí)施方式

      概述

      本公開(kāi)提供了一種用于虛擬化網(wǎng)絡(luò)堆棧的動(dòng)態(tài)遷移的系統(tǒng)和方法。

      動(dòng)態(tài)遷移的發(fā)生并不中斷在第一虛擬化或非虛擬化網(wǎng)絡(luò)計(jì)算設(shè)備和遷移中的虛擬網(wǎng)絡(luò)堆棧之間的網(wǎng)絡(luò)連接。第一虛擬化或非虛擬化網(wǎng)絡(luò)計(jì)算設(shè)備可以是虛擬機(jī)、交換機(jī)、主機(jī)或任何其它網(wǎng)絡(luò)設(shè)備。虛擬網(wǎng)絡(luò)堆棧可以是虛擬機(jī)、linux容器或任意其它類型的虛擬網(wǎng)絡(luò)堆棧。以下示例中,第一虛擬化或非虛擬化網(wǎng)絡(luò)計(jì)算設(shè)備被稱為第一設(shè)備,并且遷移中的虛擬網(wǎng)絡(luò)堆棧被稱為虛擬機(jī),但應(yīng)當(dāng)理解這些示例不是限制。并且,應(yīng)當(dāng)理解這些僅是示例,并且所述構(gòu)思可被應(yīng)用于各種場(chǎng)景。例如,多個(gè)第一設(shè)備可以使用下述技術(shù)與遷移中的虛擬機(jī)通信。

      第一設(shè)備與駐留在源主機(jī)上的虛擬機(jī)通信。遷移期間,第一設(shè)備繼續(xù)與源主機(jī)上的虛擬機(jī)通信。完成遷移之前,源虛擬機(jī)和目標(biāo)虛擬機(jī)執(zhí)行代理流量的轉(zhuǎn)發(fā)(如,雙向或單向轉(zhuǎn)發(fā))。例如,源虛擬機(jī)代理來(lái)自第一設(shè)備的所有傳入流量并且將其轉(zhuǎn)發(fā)給目標(biāo)虛擬機(jī)。目標(biāo)虛擬機(jī)被配置為接受代理的傳入流量,并且還代理經(jīng)源虛擬機(jī)的所有傳出流量。這樣的雙向轉(zhuǎn)發(fā)可以從虛擬機(jī)從源向目標(biāo)移動(dòng)的時(shí)刻持續(xù)到網(wǎng)絡(luò)上受影響的節(jié)點(diǎn)被重編程。集中式虛擬網(wǎng)絡(luò)編程控制器告知第一設(shè)備虛擬機(jī)已遷移到目標(biāo)主機(jī),從而第一設(shè)備可以與目標(biāo)主機(jī)上的虛擬機(jī)重新開(kāi)始通信。而且,控制器還可以告知其余網(wǎng)絡(luò)這一變化。

      根據(jù)一示例,作為對(duì)“代理源處的所有流量并且執(zhí)行雙向轉(zhuǎn)發(fā)”的替換或附加,與控制器和目標(biāo)主機(jī)通信的“其它”虛擬機(jī)(VM)輔助無(wú)縫遷移。例如,目標(biāo)VM主機(jī)聯(lián)絡(luò)控制器以訂閱網(wǎng)絡(luò)更新??刂破飨蚱渌黇M提供用于與目標(biāo)主機(jī)上的VM直接通信的令牌。其它VM、源主機(jī)和目標(biāo)主機(jī)可以從虛擬機(jī)被向目標(biāo)主機(jī)轉(zhuǎn)移的時(shí)刻起執(zhí)行三角路由,直到,例如網(wǎng)絡(luò)被更新為止。例如,其它VM向源VM主機(jī)發(fā)送流量,該流量被轉(zhuǎn)發(fā)到目標(biāo)VM主機(jī),直到其它VM從目標(biāo)VM主機(jī)接收到傳入的分組。此時(shí),使用從控制器接收到的令牌認(rèn)證并指明傳出路徑,其它VM直接向目標(biāo)主機(jī)上的VM發(fā)送分組。作為另一示例,當(dāng)從未被識(shí)別的發(fā)送器接收到分組時(shí),其它VM主機(jī)質(zhì)詢控制器,從而其它VM主機(jī)可以切換為直接向目標(biāo)VM發(fā)送分組。

      為了在以上示例的任一個(gè)中支持從源主機(jī)到目標(biāo)主機(jī)的平滑變換,一個(gè)或多個(gè)規(guī)則可被安裝在諸如源和/或“其它”VM主機(jī)的網(wǎng)絡(luò)設(shè)備上。例如,規(guī)則可以由控制器安裝。規(guī)則可以針對(duì)遷移的特定階段,諸如限電(brownout)(如,當(dāng)遷移目標(biāo)正開(kāi)啟并且虛擬機(jī)狀態(tài)正從源主機(jī)轉(zhuǎn)移到目標(biāo)主機(jī)時(shí))、斷電(如,為VM在目標(biāo)上重新開(kāi)始做準(zhǔn)備,當(dāng)暫停虛擬機(jī)因而其余VM狀態(tài)可以從源移動(dòng)到目標(biāo)時(shí))、斷電后(如,當(dāng)完成遷移并且目標(biāo)負(fù)責(zé)所有處理時(shí))和取消(如,所有遷移相關(guān)的設(shè)定被移除)。

      限電期間,虛擬機(jī)駐留在源主機(jī)上。遷移源可以接收并向任意其它虛擬機(jī)(VM)發(fā)送流量。并且,任意其它VM可以從遷移源接收流量;任意其它VM將只向遷移源發(fā)送流量??刂破鬟€將改變遷移源的轉(zhuǎn)發(fā)表并且在用于轉(zhuǎn)發(fā)流量的遷移源上安裝遷移表。源主機(jī)和目標(biāo)主機(jī)二者都具有輔助網(wǎng)絡(luò)重編程的主機(jī)代理進(jìn)程,其在本地運(yùn)行或作為虛擬機(jī)管理器進(jìn)程的部分。使能遷移源的主機(jī)代理從在本地轉(zhuǎn)發(fā)流量切換為向遷移目標(biāo)轉(zhuǎn)發(fā)。

      斷電期間,需要從源遷移到目標(biāo)的任何網(wǎng)絡(luò)狀態(tài)被遷移(如,有狀態(tài)的防火墻狀態(tài))。進(jìn)行切換時(shí)只涉及遷移源的主機(jī)代理??刂破鳠o(wú)需做任何事。盡管一些實(shí)施方案中,可以在斷電時(shí)段開(kāi)始時(shí)執(zhí)行切換,但在其它實(shí)施方案中,直到斷電后才轉(zhuǎn)發(fā)流量以防在斷電前或斷電期間取消遷移。

      斷電后期間,控制器提供指向遷移目標(biāo)的路線。并且,來(lái)自遷移源的流量仍被轉(zhuǎn)發(fā)到遷移目標(biāo)。例如,源主機(jī)和目標(biāo)主機(jī)可以執(zhí)行雙向轉(zhuǎn)發(fā)、單向轉(zhuǎn)發(fā)或三角路由。因而,除了遷移轉(zhuǎn)發(fā)流,遷移源上的多數(shù)流將是未安裝的。而且,在三角路由的情況中,來(lái)自遷移目標(biāo)的響應(yīng)將被直接發(fā)送到第一設(shè)備,第一設(shè)備之后可以與目標(biāo)主機(jī)上的虛擬機(jī)直接通信,而不是經(jīng)源主機(jī)轉(zhuǎn)發(fā)流量。

      當(dāng)取消遷移時(shí)發(fā)生取消。例如,限電或斷電期間,目標(biāo)主機(jī)可能崩潰,或可能發(fā)生某些其它事件,其導(dǎo)致遷移的取消。取消期間,控制器移除為遷移設(shè)立的所有流。例如,使能第一設(shè)備要么從源主機(jī)要么從目標(biāo)主機(jī)接收分組的第一設(shè)備上的規(guī)則將被重編程以只支持與源相應(yīng)的規(guī)則。目標(biāo)主機(jī)上的任意網(wǎng)絡(luò)編程被移除并且源主機(jī)上的任意轉(zhuǎn)發(fā)相關(guān)的編程被移除。

      根據(jù)一些示例,可以通過(guò)在全部虛擬機(jī)狀態(tài)已被轉(zhuǎn)移前在目標(biāo)處開(kāi)始運(yùn)行來(lái)減少斷電的持續(xù)時(shí)間。例如,在限電階段期間,虛擬機(jī)狀態(tài)可以被預(yù)復(fù)制,其后跟著斷電,在斷電時(shí)虛擬機(jī)任務(wù)的運(yùn)行被轉(zhuǎn)移到目標(biāo)主機(jī)并且其余狀態(tài)可以或不可以轉(zhuǎn)移。而且,斷電之后復(fù)制其余狀態(tài)時(shí)可能存在復(fù)制后限電階段。

      本公開(kāi)的一方面提供使訪客VM面臨即將發(fā)生的動(dòng)態(tài)遷移,從而使能訪客VM采取行動(dòng)。一種行動(dòng)可以是在訪客VM遷移前改變它們的健康狀態(tài)。例如,訪客VM可以將其自身放置在“無(wú)用(lame duck)”狀態(tài),其中它向其它系統(tǒng)通信“它此時(shí)不接受新任務(wù)和連接但完成已進(jìn)行的任何任務(wù)”。在這方面,訪客VM可以,例如,從負(fù)載均衡池移除它們自身并且關(guān)閉現(xiàn)有連接。這可以幫助整個(gè)網(wǎng)絡(luò)的負(fù)載均衡。而且,這對(duì)于諸如在線游戲系統(tǒng)的對(duì)斷電延遲敏感的用戶可能尤其有幫助。

      示例系統(tǒng)

      圖1示出示例系統(tǒng)100,其中正在運(yùn)行的訪客正被從源主機(jī)向目標(biāo)主機(jī)遷移。如所示,網(wǎng)絡(luò)計(jì)算設(shè)備120、源主機(jī)130和目標(biāo)主機(jī)160是網(wǎng)絡(luò)150的元件。該網(wǎng)絡(luò)還包括網(wǎng)絡(luò)控制器180,其與網(wǎng)絡(luò)150中的一個(gè)或多個(gè)設(shè)備通信。

      網(wǎng)絡(luò)150可以是數(shù)據(jù)中心、負(fù)載均衡服務(wù)器場(chǎng),或者,包括互連外設(shè)的背板或母板上組件的系統(tǒng)的任何其它類型的計(jì)算環(huán)境。網(wǎng)絡(luò)150和介于中間的節(jié)點(diǎn)可以包含各種配置和協(xié)議,其包括互聯(lián)網(wǎng)、萬(wàn)維網(wǎng)、內(nèi)聯(lián)網(wǎng)、虛擬私有網(wǎng)絡(luò)、廣域網(wǎng)、局域網(wǎng)、使用專屬于一個(gè)或多個(gè)公司的通信協(xié)議的私有網(wǎng)絡(luò)、以太網(wǎng)、WiFi(諸如802.11,802.11b、g、n或其它這樣的標(biāo)準(zhǔn))和HTTP,以及前述的各種組合。

      網(wǎng)絡(luò)控制器180可被直接或間接鏈接到網(wǎng)絡(luò)150的每個(gè)節(jié)點(diǎn),并且可被用來(lái)建立節(jié)點(diǎn)之間的連接或向特定節(jié)點(diǎn)提供信息。例如,網(wǎng)絡(luò)控制器180可被用來(lái)提供網(wǎng)絡(luò)更新、幫助信息從一個(gè)節(jié)點(diǎn)轉(zhuǎn)移到另一節(jié)點(diǎn)等。某些示例中,網(wǎng)絡(luò)控制器180可以存儲(chǔ)并處理關(guān)于網(wǎng)絡(luò)150的拓?fù)浠蚩蛇B接到網(wǎng)絡(luò)150的其它各種網(wǎng)絡(luò)的各個(gè)拓?fù)涞男畔?。網(wǎng)絡(luò)控制器180可以是,例如,傳統(tǒng)的或?qū)S玫木W(wǎng)絡(luò)接口控制器(NIC)。NIC可在網(wǎng)絡(luò)上實(shí)現(xiàn)并且經(jīng),例如,擴(kuò)展卡、母板、以太網(wǎng)芯片或任意其它介質(zhì)連接到網(wǎng)絡(luò)。

      網(wǎng)絡(luò)計(jì)算設(shè)備120可以是虛擬化的或非虛擬化的計(jì)算設(shè)備。例如,網(wǎng)絡(luò)計(jì)算設(shè)備120可以是中央處理單元(CPU)、虛擬機(jī)、linux容器、路由器、交換機(jī)或能夠發(fā)送和接收分組的任意其它網(wǎng)絡(luò)設(shè)備。網(wǎng)絡(luò)計(jì)算設(shè)備120可以通過(guò)例如有線或無(wú)線連接與源主機(jī)130和訪客110通信。

      源主機(jī)130可以是任意類型的計(jì)算設(shè)備或計(jì)算設(shè)備的系統(tǒng),該計(jì)算設(shè)備能夠作為訪客110的主機(jī)。例如,源主機(jī)130可以包括具有在其上操作的一個(gè)或多個(gè)虛擬機(jī)或其它訪客的管理程序(未示出)。盡管圖1中只示出了訪客110,但應(yīng)當(dāng)理解,多個(gè)訪客可以在任意給定時(shí)間運(yùn)行在源主機(jī)130上。某些示例中,源主機(jī)130可以在諸如嵌套虛擬化中被虛擬化。例如,源主機(jī)130可以是虛擬機(jī)、linux容器等。

      類似于源主機(jī)130,目標(biāo)主機(jī)160也可以是能夠作為訪客110的主機(jī)的任意類型的計(jì)算設(shè)備。某些示例中,目標(biāo)主機(jī)可被虛擬化。

      為了發(fā)起動(dòng)態(tài)遷移,目標(biāo)主機(jī)160聯(lián)系源主機(jī)130上的虛擬機(jī)管理器(VMM)。例如,可以在目標(biāo)主機(jī)160上開(kāi)啟VMM任務(wù)。這一任務(wù)可以聯(lián)系源主機(jī)130上的VMM,包括,例如,執(zhí)行認(rèn)證。之后可以開(kāi)始斷電階段,其中訪客110的規(guī)格和狀態(tài)從源主機(jī)130轉(zhuǎn)移到目標(biāo)主機(jī)160。

      根據(jù)某些示例,響應(yīng)于被(如,目標(biāo)160或源130)通知其即將發(fā)生遷移,訪客110可以采取預(yù)定的行動(dòng)。這一行動(dòng)的一示例是改變它的狀態(tài),諸如健康狀態(tài)。例如,訪客110可以將其自身放置在“無(wú)用”狀態(tài),除了諸如健康或不健康的其它狀態(tài)外也可以識(shí)別該狀態(tài)。在無(wú)用狀態(tài)下,訪客110可以關(guān)閉任意現(xiàn)有連接并且將其自身從負(fù)載均衡池移除。例如,訪客110可以完成待處理的任務(wù)而不接受任何新任務(wù)。

      在將訪客110向目標(biāo)主機(jī)160移動(dòng)時(shí),可以例如經(jīng)源主機(jī)130維持網(wǎng)絡(luò)計(jì)算設(shè)備120和訪客110之間的通信。例如,源主機(jī)130可以充當(dāng)在網(wǎng)絡(luò)計(jì)算設(shè)備120和目標(biāo)主機(jī)160之間的雙向轉(zhuǎn)發(fā)代理。目標(biāo)主機(jī)160被配置為接受來(lái)自源130上訪客110的代理傳入流量,并且經(jīng)源130代理傳出流量。

      當(dāng)完成遷移時(shí),目標(biāo)160和源130中的至少一個(gè)可以通知網(wǎng)絡(luò)控制器180。網(wǎng)絡(luò)控制器180可以相應(yīng)改變?cè)L客110的物理主機(jī)IP地址,使其與訪客110在目標(biāo)主機(jī)160上的新位置對(duì)應(yīng)。因此,想要與訪客110通信的客戶可以向合適的物理主機(jī)發(fā)送分組。而且,某些示例中,網(wǎng)絡(luò)控制器180可以將訪客110位置的變化通知給網(wǎng)絡(luò)計(jì)算設(shè)備120和網(wǎng)絡(luò)150的其它計(jì)算設(shè)備。例如,控制器180可以向網(wǎng)絡(luò)設(shè)備提供訪客110的新地址。因而,網(wǎng)絡(luò)計(jì)算設(shè)備120和其它設(shè)備可以重新開(kāi)始與目標(biāo)主機(jī)160上訪客110的直接通信。

      一旦網(wǎng)絡(luò)設(shè)備120開(kāi)始與目標(biāo)160上的訪客110通信,源130就可以離開(kāi)并且目標(biāo)160可以拆除傳入和傳出轉(zhuǎn)發(fā)配置。例如,可以刪除源130和目標(biāo)160上的轉(zhuǎn)發(fā)規(guī)則。根據(jù)一示例,在經(jīng)源130轉(zhuǎn)發(fā)的流量下降到0后,源130和目標(biāo)160可以等待預(yù)定時(shí)段,諸如一分鐘,之后再刪除轉(zhuǎn)發(fā)規(guī)則。這可以適應(yīng)在對(duì)網(wǎng)絡(luò)設(shè)備更新目標(biāo)160上訪客110的新地址時(shí)的時(shí)間變化。根據(jù)另一示例,使用基于反饋的機(jī)制,從而只在清楚地知道所有客戶都已被通知“改變到目標(biāo)160”時(shí)才停止轉(zhuǎn)發(fā)。

      圖2提供包括源130和控制器180的系統(tǒng)100的特定組件的框圖。

      源130包括存儲(chǔ)器132以及與存儲(chǔ)器132通信的一個(gè)或多個(gè)處理器139。存儲(chǔ)器132存儲(chǔ)可由處理器139訪問(wèn)的信息,該信息包括可由處理器139運(yùn)行的指令138。存儲(chǔ)器還包括可被處理器檢索、操作或存儲(chǔ)的數(shù)據(jù)134。存儲(chǔ)器可以是能夠存儲(chǔ)可由處理器訪問(wèn)的信息的任意類型的存儲(chǔ)器,諸如硬盤驅(qū)動(dòng)器、存儲(chǔ)卡、ROM、RAM、DVD、CD-ROM、可寫存儲(chǔ)器和只讀存儲(chǔ)器。

      處理器139可以是任意傳統(tǒng)處理器,諸如商用的中央處理單元(“CPU”)或圖形處理單元(“GPU”)。替換地,處理器可以是專用組件,諸如專用集成電路(“ASIC”)、現(xiàn)場(chǎng)可編程門陣列(“FPGA”)或其它基于硬件的處理器。作為另一示例,處理器139可以是量子計(jì)算機(jī)。

      存儲(chǔ)器132包括可根據(jù)指令138、由處理器檢索、操作或存儲(chǔ)的數(shù)據(jù)134。例如,盡管該系統(tǒng)和方法不受任意特定數(shù)據(jù)結(jié)構(gòu)的限制,但是數(shù)據(jù)可被存儲(chǔ)在計(jì)算機(jī)寄存器中,在相關(guān)數(shù)據(jù)庫(kù)中作為具有多個(gè)不同字段和記錄的表或者XML文檔。數(shù)據(jù)還可被格式化為任意計(jì)算機(jī)可讀格式,諸如但不限于,二進(jìn)制值、ASCII或Unicode。而且,數(shù)據(jù)134可以包含足以識(shí)別相關(guān)信息的任意信息,諸如數(shù)字、描述性文本、專有代碼、指針、對(duì)存儲(chǔ)在其它存儲(chǔ)器(包括其它網(wǎng)絡(luò)位置)中的數(shù)據(jù)的引用或者函數(shù)用來(lái)計(jì)算相關(guān)數(shù)據(jù)的信息。

      指令138可以是可由(多個(gè))處理器139直接運(yùn)行(諸如機(jī)器代碼)或間接運(yùn)行(諸如腳本)的任意指令集。在這方面,術(shù)語(yǔ)“指令”、“步驟”和“程序”在本文可互換使用。指令可以存儲(chǔ)為用于由處理器直接處理的目標(biāo)代碼格式,或包括按要求譯碼或預(yù)先編譯的腳本或獨(dú)立源代碼模塊的集合的任意其它計(jì)算機(jī)語(yǔ)言。

      例如,指令138可由處理器運(yùn)行,例如從遷移目標(biāo)接收與訪客遷移關(guān)聯(lián)的信息。一些示例中,響應(yīng)于接收到信息,訪客可以采取行動(dòng)。例如,訪客110可以更新它的狀態(tài),諸如通過(guò)將其健康狀態(tài)變化為“無(wú)用”狀態(tài)。這一狀態(tài)下,訪客可以完成任何待處理的任務(wù),而不接受任何新任務(wù)。指令138可以進(jìn)一步提供處理在網(wǎng)絡(luò)設(shè)備120和目標(biāo)160之間的雙向轉(zhuǎn)發(fā)。例如,數(shù)據(jù)134可以包括具有一個(gè)或多個(gè)轉(zhuǎn)發(fā)規(guī)則的流表,其用于處理從網(wǎng)絡(luò)設(shè)備120接收的、去往遷移的訪客110的流量,并且用于處理從目標(biāo)160接收的、去往網(wǎng)絡(luò)設(shè)備120的流量。指令138甚至可以進(jìn)一步提供一旦完成遷移就拆除連接。例如,源130可以在完成遷移后為了流量降下來(lái)而等待一段預(yù)定時(shí)間,并且然后從流表中移除雙向轉(zhuǎn)發(fā)規(guī)則。作為另一示例,一旦與被遷移訪客110通信的所有網(wǎng)絡(luò)設(shè)備確認(rèn)它們已經(jīng)切換到與目標(biāo)160通信,源130上設(shè)置的轉(zhuǎn)發(fā)規(guī)則就可以被拆除。

      盡管圖2功能性地將處理器139和存儲(chǔ)器132示出在同一方框內(nèi),但將理解,處理器和存儲(chǔ)器可以實(shí)際包含多個(gè)處理器和存儲(chǔ)器,它們可以或不可以存儲(chǔ)在同一物理外殼內(nèi)。例如,指令和數(shù)據(jù)的某些可被存儲(chǔ)在可移除CD-ROM上,并且其它指令和數(shù)據(jù)存儲(chǔ)在只讀計(jì)算機(jī)芯片內(nèi)。指令和數(shù)據(jù)的某些或全部可被存儲(chǔ)在物理上遠(yuǎn)離處理器139但仍可被處理器139訪問(wèn)的位置。類似地,處理器139可以實(shí)際包含:可以或不可以并行操作的處理器的集合。一些示例中,存儲(chǔ)器132和/或一個(gè)或多個(gè)處理器139可以是管理程序的部分。

      類似于源130,控制器180也可以包括存儲(chǔ)器182和一個(gè)或多個(gè)處理器189。一個(gè)或多個(gè)處理器189也可以采用與源(多個(gè))處理器139有關(guān)的上述任何形式。存儲(chǔ)器182包括數(shù)據(jù)184和指令188。存儲(chǔ)器182可以是任意類型并且可以包括與源存儲(chǔ)器132有關(guān)的上述任何特征。指令188提供檢測(cè)動(dòng)態(tài)遷移的完成并且更新目標(biāo)主機(jī)上訪客的地址。動(dòng)態(tài)遷移完成的檢測(cè)可以包括,例如,從源130和目標(biāo)160中的一個(gè)接收指示遷移完成的通知。更新地址可以包括為目標(biāo)和源編程從而為遷移做準(zhǔn)備,并且為剩余網(wǎng)絡(luò)編程從而知曉該源和目標(biāo)。指令188可以進(jìn)一步提供告知諸如網(wǎng)絡(luò)設(shè)備120的其它網(wǎng)絡(luò)設(shè)備動(dòng)態(tài)遷移完成。這可以進(jìn)一步包括向網(wǎng)絡(luò)設(shè)備提供目標(biāo)上訪客的更新后的地址。

      圖3示出另一示例系統(tǒng)300。類似于圖1的系統(tǒng)100,系統(tǒng)300可以包括若干相連的網(wǎng)絡(luò)組件,諸如源330、目標(biāo)360和控制器380。源330、目標(biāo)360和控制器380可以類似于以上結(jié)合圖1-2描述的源130、目標(biāo)160和控制器180。

      系統(tǒng)300可以進(jìn)一步包括駐留在“其它”主機(jī)320上的“其它”訪客325,“其它”主機(jī)320與源330、目標(biāo)360和控制器380通信地耦接。其它主機(jī)320可以,結(jié)合源330和目標(biāo)360,執(zhí)行如上所述的三角路由。這可被執(zhí)行,例如,作為對(duì)圖1中上述雙向轉(zhuǎn)發(fā)的附加或替換。類似于源主機(jī)和目標(biāo)主機(jī),其它主機(jī)可以是任意類型的虛擬化或非虛擬化網(wǎng)絡(luò)設(shè)備。盡管只示出了一個(gè)其它主機(jī)和一個(gè)其它訪客,但可以實(shí)現(xiàn)多個(gè)其它主機(jī)和多個(gè)其它訪客。

      這一示例中,目標(biāo)主機(jī)360聯(lián)絡(luò)控制器380,例如如通信342所示,來(lái)訂閱網(wǎng)絡(luò)更新。響應(yīng)于查表請(qǐng)求344,控制器向其它主機(jī)320提供令牌,如通信346所示。令牌可被用來(lái)與目標(biāo)主機(jī)360上的訪客310直接通信。

      盡管圖3的示例示出了執(zhí)行查表請(qǐng)求344,但其它示例中,用于與目標(biāo)主機(jī)360上的遷移訪客310通信的流可以在需要發(fā)生轉(zhuǎn)發(fā)前推送給其它主機(jī)。例如,可以在限電和/或斷電期間向其它主機(jī)推送流。

      其它訪客325向源主機(jī)330發(fā)送流量352,該流量被轉(zhuǎn)發(fā)到目標(biāo)主機(jī)360,如通信354所示。源主機(jī)330繼續(xù)轉(zhuǎn)發(fā)這些流量,直到其它訪客325從目標(biāo)主機(jī)360接收到傳入的分組(通過(guò)356示出)。當(dāng)其它訪客325從目標(biāo)主機(jī)360上的訪客310接收到分組356時(shí),其它訪客325開(kāi)始與目標(biāo)360上的訪客310直接通信,如通信358所示。例如,其它主機(jī)320使用從控制器380接收的令牌來(lái)認(rèn)證并且指定從其它訪客325到目標(biāo)主機(jī)360上訪客310的傳出路徑。在此方面,在接收到來(lái)自目標(biāo)360上訪客310的第一傳入分組后,使能其它訪客325“知曉”訪客310的新位置,并且其它訪客325自動(dòng)切換為與目標(biāo)360上的訪客310直接通信。

      圖4提供其它訪客320的示例框圖。如上所述,其它訪客325可以是虛擬機(jī)或任意其它虛擬化網(wǎng)絡(luò)組件。其它訪客320可以在駐留在網(wǎng)絡(luò)中任意主機(jī)設(shè)備上的管理程序上運(yùn)行。

      其它訪客325包括存儲(chǔ)器422和一個(gè)或多個(gè)處理器429,其中存儲(chǔ)器422包括數(shù)據(jù)424和指令428。這些組件可以和以上結(jié)合圖2描述的存儲(chǔ)器和處理器類似。指令428可以提供接收用于與目標(biāo)主機(jī)上的訪客通信的令牌,向源主機(jī)上的訪客發(fā)送流量,并且檢測(cè)來(lái)自目標(biāo)主機(jī)上訪客的傳入分組。當(dāng)檢測(cè)到傳入分組時(shí),指令428可以進(jìn)一步提供使用接收到的令牌認(rèn)證并且指定傳出路徑,以及在指定的傳出路徑上直接向目標(biāo)主機(jī)上的訪客發(fā)送分組。

      示例方法

      圖5提供示出用于虛擬化網(wǎng)絡(luò)堆棧從源到目標(biāo)的動(dòng)態(tài)遷移的方法500的示例流程圖。應(yīng)當(dāng)理解,以下方法涉及的操作不需要按所述確切順序執(zhí)行。而是,可以不同順序地或同時(shí)地處理各種操作,并且可以添加或省略操作。

      方框510中,目標(biāo)向與遷移有關(guān)的源發(fā)送信息。例如,可以在目標(biāo)主機(jī)上開(kāi)啟虛擬機(jī)管理器(VMM)以觸發(fā)動(dòng)態(tài)遷移。目標(biāo)VMM可以聯(lián)絡(luò)源VMM以發(fā)起遷移。根據(jù)其它示例,該聯(lián)絡(luò)可由目標(biāo)主機(jī)發(fā)起,和/或可以針對(duì)源主機(jī)或源訪客。進(jìn)一步的示例包括聯(lián)絡(luò)目標(biāo)的源、聯(lián)絡(luò)源和目標(biāo)兩者的第三方設(shè)備、或用于發(fā)起遷移的任何其它機(jī)制。

      方框520中,源從目標(biāo)接收信息。例如,源主機(jī)、源VMM和/或源訪客可以接收信息。一些示例中,該信息可以充當(dāng)告知訪客將要被遷移的通知。

      一些示例中,響應(yīng)于被通知即將發(fā)生遷移,源主機(jī)上的訪客可以采取行動(dòng)。一種行動(dòng)是可以改變它的健康狀態(tài),諸如通過(guò)將其自身放置在無(wú)用模式。

      方框540中,源向目標(biāo)轉(zhuǎn)發(fā)從諸如另一訪客、主機(jī)或其它設(shè)備的虛擬化或非虛擬化網(wǎng)絡(luò)設(shè)備接收的流量。例如,網(wǎng)絡(luò)控制器可以在用于轉(zhuǎn)發(fā)流量的源上的流表中安裝轉(zhuǎn)發(fā)規(guī)則。類似地,目標(biāo)可以接收被轉(zhuǎn)發(fā)的流量并且向源轉(zhuǎn)發(fā)去往網(wǎng)絡(luò)設(shè)備的傳出流量(方框550)。從而,源可以接收從目標(biāo)轉(zhuǎn)發(fā)的流量并且將它提供給網(wǎng)絡(luò)設(shè)備。

      方框560中,可以確定遷移是否完成。當(dāng),例如,訪客已經(jīng)完成從源到目標(biāo)的移動(dòng)時(shí),或者當(dāng)已更新網(wǎng)絡(luò)設(shè)備從而與目標(biāo)主機(jī)上的訪客通信時(shí),可以認(rèn)為遷移完成。根據(jù)一示例,源主機(jī)可以檢測(cè)訪客已被遷移到目標(biāo)主機(jī)。作為另一示例,例如,可以由網(wǎng)絡(luò)控制器通知源遷移完成。如果遷移還未完成,則源將繼續(xù)在網(wǎng)絡(luò)設(shè)備和目標(biāo)之間執(zhí)行轉(zhuǎn)發(fā)。

      如果方框560中確定遷移完成,則方框550中,在目標(biāo)主機(jī)上重新開(kāi)始處理并且目標(biāo)主機(jī)上的訪客直接從網(wǎng)絡(luò)設(shè)備接收分組。例如,控制器可以向網(wǎng)絡(luò)設(shè)備提供目標(biāo)主機(jī)上訪客的已更新的地址,因而使能直接通信。

      圖6提供示出用于由“其它”訪客輔助的虛擬化網(wǎng)絡(luò)堆棧的動(dòng)態(tài)遷移的方法600的另一示例流程圖。類似于圖5的方法500,可以不同順序地或同時(shí)地處理方法600中涉及的操作,并且可以添加或省略操作。

      方框610中,其它訪客接收用于與目標(biāo)主機(jī)上的遷移訪客通信的令牌。例如,響應(yīng)于查表請(qǐng)求,該令牌可從網(wǎng)絡(luò)控制器接收。令牌可以提供認(rèn)證并且指定到目標(biāo)的傳出路徑。例如,令牌可被用來(lái)認(rèn)證直接從目標(biāo)接收的分組,認(rèn)證要直接傳出到目標(biāo)的分組,認(rèn)證從目標(biāo)到其它訪客的傳入路徑上的分組,等等。

      方框620中,其它訪客向源主機(jī)上的遷移訪客發(fā)送網(wǎng)絡(luò)流量。這些流量在源中被接收(方框630),并且被轉(zhuǎn)發(fā)到目標(biāo)(方框640)。

      方框650中,目標(biāo)從源接收被轉(zhuǎn)發(fā)的流量,并且還向源轉(zhuǎn)發(fā)去往其它訪客的傳出流量。

      方框660中,其它訪客確定是否已從目標(biāo)主機(jī)上的遷移訪客接收到傳入的分組。如果沒(méi)有,則源和目標(biāo)繼續(xù)向其它訪客轉(zhuǎn)發(fā)流量/轉(zhuǎn)發(fā)來(lái)自其它訪客的流量。然而,當(dāng)其它訪客從目標(biāo)接收到傳入的分組時(shí),可以向其它訪客發(fā)送遷移完成的信號(hào)。

      因而,方框670中,其它訪客直接向目標(biāo)上的遷移訪客發(fā)送分組。例如,其它訪客使用從網(wǎng)絡(luò)控制器接收的令牌來(lái)認(rèn)證并且指明用于通信的傳出路徑。

      方法600可以提供更加無(wú)縫的轉(zhuǎn)換,因?yàn)橐坏┻w移完成,其它訪客就準(zhǔn)備好開(kāi)始向目標(biāo)上的訪客發(fā)送分組。例如,其它訪客有來(lái)自控制器的用于建立到目標(biāo)的傳出路徑的令牌,并且因而一旦完成遷移,不必要等待來(lái)自控制器的更新。

      前述技術(shù)是進(jìn)一步有益的,因?yàn)樗鼈兲峁⒃L客虛擬機(jī)的活動(dòng)進(jìn)程以對(duì)訪客最小的影響從源主機(jī)移動(dòng)到目標(biāo)主機(jī)。訪客進(jìn)程可能經(jīng)受最小延遲或無(wú)延遲或無(wú)終止。而且,使遷移訪客面臨即將發(fā)生的動(dòng)態(tài)遷移,并且作為響應(yīng),允許遷移訪客采取行動(dòng),也是有益的。例如,將遷移訪客放置在無(wú)用模式,幫助最小化對(duì)負(fù)載均衡操作的影響,并且因而允許應(yīng)用的持續(xù)運(yùn)行。這可能對(duì)對(duì)斷電延遲敏感的應(yīng)用尤其有益。

      由于可以在不脫離權(quán)利要求所限定的主題的情況下使用以上討論的特征的這些和其它變化和組合,所以示范性方面的先前描述應(yīng)當(dāng)作為說(shuō)明而不作為對(duì)權(quán)利要求限定的主題的限制。還將理解,本文所述示例的提供(以及像“諸如”、“如”、“包括”等一樣表述的條文)不應(yīng)當(dāng)被解釋為將權(quán)利要求的主題限制在特定示例;而是,該示例意圖只示出許多可能方面的某些方面。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1