云計(jì)算是使用在遠(yuǎn)程位置中可用且通過(guò)如因特網(wǎng)的網(wǎng)絡(luò)可訪問(wèn)的計(jì)算資源(硬件和軟件)。用戶可以按需作為實(shí)用工具購(gòu)買這些計(jì)算資源(包括存儲(chǔ)和計(jì)算能力)。云計(jì)算將用戶的數(shù)據(jù)、軟件和計(jì)算托付給遠(yuǎn)程服務(wù)。虛擬計(jì)算資源的使用可以提供多種優(yōu)點(diǎn),包括成本優(yōu)勢(shì)和/或能夠快速地調(diào)整以適應(yīng)變化的計(jì)算資源需求。
虛擬桌面環(huán)境可以在云上托管或在位于組織站點(diǎn)的服務(wù)器上托管。云上的桌面計(jì)算環(huán)境(下文稱為“云桌面”)提供云中服務(wù)器上運(yùn)行的虛擬桌面環(huán)境,用戶能夠從個(gè)人計(jì)算設(shè)備與之連接。組織站點(diǎn)處的桌面計(jì)算環(huán)境(下文稱為“預(yù)置虛擬桌面”)提供組織或與該組織關(guān)聯(lián)的用戶所擁有和/或運(yùn)營(yíng)的服務(wù)器上運(yùn)行的虛擬桌面環(huán)境。多個(gè)虛擬桌面提供恒定的可用性,其中虛擬桌面實(shí)例一直在云中的一個(gè)或多個(gè)服務(wù)器上運(yùn)行或在一個(gè)或多個(gè)組織服務(wù)器上運(yùn)行。但是,虛擬桌面對(duì)網(wǎng)絡(luò)延遲非常敏感,因?yàn)樗鼈儽仨毻ㄟ^(guò)網(wǎng)絡(luò)從服務(wù)器(例如,云中運(yùn)行的服務(wù)器)至用戶設(shè)備流傳輸實(shí)時(shí)的用戶交互桌面會(huì)話。如果云虛擬會(huì)話存在高延遲,則用戶在例如移動(dòng)鼠標(biāo)或嘗試流傳輸音頻時(shí)可能體驗(yàn)到時(shí)間延遲,使得用戶體驗(yàn)降低。此外,網(wǎng)絡(luò)延遲可能隨著用戶設(shè)備與虛擬桌面環(huán)境之間的地理距離而增大。
附圖簡(jiǎn)述
圖1是云桌面環(huán)境的計(jì)算系統(tǒng)示意圖。
圖2是示出遷移桌面的示例方法的流程圖。
圖3是示出遷移桌面的另一個(gè)示例方法的流程圖。
圖4是云桌面環(huán)境的另一個(gè)計(jì)算系統(tǒng)示意圖。
圖5是示出遷移桌面的另一個(gè)示例方法的流程圖。
圖6是示出多租戶環(huán)境中運(yùn)行的多個(gè)虛擬機(jī)實(shí)例的示例系統(tǒng)示意圖。
圖7示出包括與控制面關(guān)聯(lián)的多個(gè)管理組件的示例系統(tǒng)的進(jìn)一步細(xì)節(jié)。
圖8示出作為用來(lái)運(yùn)行虛擬機(jī)實(shí)例的硬件資產(chǎn)的多個(gè)主機(jī)計(jì)算機(jī)、路由器和交換機(jī)的示例。
圖9是能夠向多種用戶設(shè)備提供云桌面資源的云桌面環(huán)境的示意圖。
圖10圖示其中可以實(shí)現(xiàn)所描述的創(chuàng)新的適合計(jì)算環(huán)境的概括性示例。
具體實(shí)施方式
概述
下文描述的是用于在多個(gè)位置(例如,區(qū)域)之間遷移虛擬桌面(例如,云桌面和/或另一種類型的虛擬桌面)以便提高性能(例如,減少網(wǎng)絡(luò)延遲、增大帶寬等)的技術(shù)和解決方案。例如,基于地理位置或網(wǎng)絡(luò)延遲將用戶的云桌面實(shí)例從一個(gè)區(qū)域遷移到另一個(gè)區(qū)域能夠提供更讓人滿意的用戶體驗(yàn),因?yàn)樵谱烂婵梢宰兊酶`敏。正如本文所使用的,術(shù)語(yǔ)“用戶設(shè)備”是指能夠托管云桌面會(huì)話的任何類型的計(jì)算設(shè)備(例如,服務(wù)器計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、平板電腦、移動(dòng)電話或另一種類型的計(jì)算設(shè)備)。
云桌面可以在云中的服務(wù)器上運(yùn)行。例如,云桌面實(shí)例可以在云上運(yùn)行,其中云桌面會(huì)話捕獲用戶在用戶設(shè)備上的交互并將這些交互應(yīng)用于云上不同位置處運(yùn)行的桌面實(shí)例上。但是,此交互可能對(duì)網(wǎng)絡(luò)延遲、帶寬、抖動(dòng)(例如,網(wǎng)絡(luò)分組往返程時(shí)間上的變化)和/或其他性能測(cè)量非常敏感。如果云桌面會(huì)話存在高延遲,則用戶可能體驗(yàn)到用戶設(shè)備顯示器上的滯后或鋸齒狀移動(dòng)。網(wǎng)絡(luò)延遲往往隨著用戶設(shè)備與云中服務(wù)器之間的地理距離而增大。為了減少網(wǎng)絡(luò)延遲,可以將云桌面的服務(wù)器組件從對(duì)用戶設(shè)備呈現(xiàn)高延遲的區(qū)域遷移到對(duì)用戶設(shè)備呈現(xiàn)較低延遲的區(qū)域。在下文的任何示例中,術(shù)語(yǔ)“數(shù)據(jù)中心”與“區(qū)域”可以互換地使用。數(shù)據(jù)中心可以是指托管云桌面的服務(wù)器組件的物理位置。每個(gè)數(shù)據(jù)中心可以位于一個(gè)區(qū)域中。但是,一對(duì)一關(guān)系在數(shù)據(jù)中心與區(qū)域之間并非一定的。例如,區(qū)域可以容置多于一個(gè)數(shù)據(jù)中心。地理區(qū)域可以是指包含始于用戶設(shè)備的距離的區(qū)域范圍。地理區(qū)域還可以是指其中用戶可能所在和/或可能托管數(shù)據(jù)中心的城市、縣、位置名稱或任何其他指代。
在特定實(shí)施例中,可以基于用戶計(jì)算設(shè)備至當(dāng)前區(qū)域的網(wǎng)絡(luò)延遲以及用戶計(jì)算設(shè)備相對(duì)于當(dāng)前區(qū)域的地理位置中的至少一個(gè)來(lái)確定應(yīng)該將云桌面從當(dāng)前區(qū)域遷移。該云桌面將遷移的目的地區(qū)域可以基于用戶計(jì)算設(shè)備至該目的地區(qū)域的網(wǎng)絡(luò)延遲以及用戶計(jì)算設(shè)備相對(duì)于該目的地區(qū)域的地理位置中的至少一個(gè)來(lái)標(biāo)識(shí)??梢詫?dāng)前區(qū)域處運(yùn)行的云桌面的第一實(shí)例關(guān)閉,并且可以將包含與該云桌面的用戶關(guān)聯(lián)的用戶數(shù)據(jù)的云桌面的數(shù)據(jù)卷從當(dāng)前區(qū)域移到目的地區(qū)域。然后,可以使用被移動(dòng)的數(shù)據(jù)卷啟動(dòng)目的地區(qū)域處的云桌面的第二實(shí)例。在接收到用戶連接請(qǐng)求時(shí),可以將用戶定向到目的地區(qū)域處的云桌面的第二實(shí)例。
在另一個(gè)實(shí)施例中,可以提供一種計(jì)算環(huán)境以用于在數(shù)據(jù)中心之間遷移云桌面。該計(jì)算環(huán)境可以包括跟蹤云桌面的數(shù)據(jù)卷和一個(gè)或多個(gè)數(shù)據(jù)中心的控制面層、包含云桌面和數(shù)據(jù)卷的當(dāng)前數(shù)據(jù)中心、一個(gè)或多個(gè)候選數(shù)據(jù)中心以及管理組件。該管理組件可以用于基于用戶計(jì)算設(shè)備至當(dāng)前數(shù)據(jù)中心的網(wǎng)絡(luò)延遲以及該用戶計(jì)算設(shè)備相對(duì)于當(dāng)前數(shù)據(jù)中心的地理位置中的至少一個(gè)來(lái)確定應(yīng)該將云桌面從當(dāng)前數(shù)據(jù)中心遷移,以及基于用戶計(jì)算設(shè)備至目的地?cái)?shù)據(jù)中心的網(wǎng)絡(luò)延遲以及用戶計(jì)算設(shè)備相對(duì)于該目的地?cái)?shù)據(jù)中心的地理位置中的至少一個(gè)來(lái)標(biāo)識(shí)用于遷移云桌面的候選數(shù)據(jù)中心中的一個(gè)??梢詫⒃谱烂娴臄?shù)據(jù)卷從當(dāng)前數(shù)據(jù)中心移到所標(biāo)識(shí)的候選數(shù)據(jù)中心。然后,在接收到用戶連接請(qǐng)求時(shí),可以將用戶定向到所標(biāo)識(shí)的候選數(shù)據(jù)中心處的云桌面的第二實(shí)例。
在另一個(gè)實(shí)施例中,可以確定應(yīng)該將云桌面從當(dāng)前區(qū)域遷移??梢詷?biāo)識(shí)要將云桌面遷往的目的地區(qū)域。可以將云桌面的數(shù)據(jù)卷從當(dāng)前區(qū)域復(fù)制到目的地區(qū)域,同時(shí)同步地維護(hù)當(dāng)前區(qū)域處的數(shù)據(jù)卷和目的地區(qū)域處的數(shù)據(jù)卷。在復(fù)制完成時(shí),在當(dāng)前區(qū)域處可以凍結(jié)與該云桌面關(guān)聯(lián)的當(dāng)前用戶會(huì)話,并將當(dāng)前用戶會(huì)話的當(dāng)前存儲(chǔ)器和處理器狀態(tài)復(fù)制到目的地區(qū)域。然后,可以在目的地區(qū)域處使用該數(shù)據(jù)卷和當(dāng)前存儲(chǔ)器和處理器狀態(tài)來(lái)啟動(dòng)第二云桌面實(shí)例,并且可以將當(dāng)前用戶會(huì)話重新連接到第二云桌面實(shí)例。
由此,可以將云桌面移到另一個(gè)區(qū)域,以提高該云桌面的性能。還應(yīng)該認(rèn)識(shí)到,可以出于提高云桌面性能以外的原因而將云桌面移到另一個(gè)區(qū)域。例如,可以作為災(zāi)難恢復(fù)過(guò)程的一部分將云桌面移到另一個(gè)區(qū)域。如果存在數(shù)據(jù)中心的運(yùn)行中斷(或預(yù)期的數(shù)據(jù)中心運(yùn)行中斷),則可以預(yù)先地或反應(yīng)性地移動(dòng)云桌面。由此,用戶無(wú)需知道他們的云桌面由于數(shù)據(jù)中心運(yùn)行中斷而被移動(dòng)。前文提及的情形并非遷移云桌面的唯一情形,并且還可能存在其他情形要遷移云桌面。例如,服務(wù)器維護(hù)可能需要遷移云桌面。
云桌面
圖1是云桌面環(huán)境100的計(jì)算系統(tǒng)示意圖。用戶可以通過(guò)例如用戶設(shè)備140上運(yùn)行的云桌面客戶端應(yīng)用142來(lái)啟動(dòng)云桌面會(huì)話。云桌面客戶端應(yīng)用142可以將用戶設(shè)備140連接到一個(gè)區(qū)域處的服務(wù)器110上運(yùn)行的云桌面實(shí)例112。云桌面客戶端應(yīng)用142可以仿真操作系統(tǒng)環(huán)境的外觀,以使它對(duì)于用戶看上去像是用戶設(shè)備140正在用戶設(shè)備140本地運(yùn)行云桌面實(shí)例112。用戶設(shè)備140還可以包括健康監(jiān)視器144。健康監(jiān)視器144監(jiān)視用戶設(shè)備40與云桌面實(shí)例112之間的網(wǎng)絡(luò)連接。雖然健康監(jiān)視器144圖示為與云桌面客戶端應(yīng)用142分開(kāi)的,健康監(jiān)視器144可以替代地作為云桌面客戶端應(yīng)用142的一部分。再者,健康監(jiān)視器144圖示為位于用戶設(shè)備140上。但是,健康監(jiān)視器可以替代地位于云桌面環(huán)境100中。但是,健康監(jiān)視器服務(wù)器可以存在于云桌面環(huán)境100中。再者,健康監(jiān)視器可以存在于托管云桌面實(shí)例的服務(wù)器的其中一個(gè)或多個(gè)上。
在前一個(gè)示例中,描述了云桌面客戶端應(yīng)用。但是,并非一定要使用云桌面客戶端應(yīng)用。在一些實(shí)施例中,可以在web瀏覽器上查看云桌面實(shí)例,該瀏覽器顯示云桌面的內(nèi)容。
控制面130標(biāo)識(shí)云桌面實(shí)例112運(yùn)行所在的區(qū)域的位置。例如,云桌面客戶端應(yīng)用142可以經(jīng)單個(gè)接入點(diǎn)(例如,連接管理器(未示出))連接到云桌面??刂泼?30指向服務(wù)器110處運(yùn)行的云桌面實(shí)例112。由此,當(dāng)用戶連接到該云桌面時(shí),控制面130指向該云桌面實(shí)例112所在的區(qū)域。控制面130還含有有關(guān)可進(jìn)行連接的其他區(qū)域的信息由此,如果用戶更改區(qū)域(或如果此更改是自動(dòng)執(zhí)行的),則控制面130將指向新區(qū)域處運(yùn)行的云桌面實(shí)例。雖然圖1示出兩個(gè)區(qū)域,但是該圖示是出于說(shuō)明性目的,并且存在更多區(qū)域。再有,圖示的是每個(gè)區(qū)域一個(gè)服務(wù)器,其中區(qū)域中可能存在多個(gè)服務(wù)器。此外,雖然控制面130圖示為與云桌面服務(wù)器分開(kāi)的,但是它也可以位于一個(gè)或多個(gè)服務(wù)器上。
云桌面實(shí)例被托管在區(qū)域中的服務(wù)器110上。服務(wù)器110提供用戶的云桌面的實(shí)例。服務(wù)器110從用戶設(shè)備140接收輸入并對(duì)云桌面實(shí)例112進(jìn)行操作,從而將用戶設(shè)備140上的輸入解釋為對(duì)云桌面實(shí)例112的輸入。例如,如果用戶單擊用戶設(shè)備140上運(yùn)行的云桌面會(huì)話上的圖標(biāo),則服務(wù)器110上的對(duì)應(yīng)應(yīng)用將在云桌面實(shí)例112中被執(zhí)行。云桌面實(shí)例112可以包括被例示以向用戶提供對(duì)計(jì)算資源或計(jì)算節(jié)點(diǎn),如虛擬桌面的訪問(wèn)權(quán)的虛擬機(jī)。備選地,可以在服務(wù)器110上創(chuàng)建云桌面實(shí)例112而不使用虛擬機(jī)。
云桌面實(shí)例112可以包括桌面環(huán)境。桌面環(huán)境可以包括任何類型的表示虛擬桌面的環(huán)境。例如,桌面環(huán)境可以包括用于與云桌面中存儲(chǔ)的文件和/或應(yīng)用交互的接口。在一些情況中,桌面環(huán)境可以包括用于訪問(wèn)另一個(gè)實(shí)例包含或托管的數(shù)據(jù)和/或應(yīng)用的快捷方式。再者,在一些情況中,桌面環(huán)境可以提供用于訪問(wèn)桌面以外的文件和應(yīng)用的附加或備選接口。例如,桌面環(huán)境可以包括或可以是文件管理器。在一些情況中,無(wú)論底層操作系統(tǒng)和/或硬件,桌面環(huán)境均可以呈示特定外觀和感覺(jué)。例如,桌面環(huán)境可以配置成仿真Windows桌面、Linux桌面或iOS桌面。在其他情況中,該實(shí)例可以是用戶選擇的虛擬機(jī)計(jì)算資源的一部分。在此類情況中,桌面環(huán)境可以是為該虛擬機(jī)計(jì)算資源選定的操作系統(tǒng)的桌面環(huán)境(例如,Windows、Linux等)。
在前一個(gè)示例中,描述了在該區(qū)域中運(yùn)行云桌面的單個(gè)服務(wù)器110。但是,可以認(rèn)識(shí)到的,可以對(duì)云桌面使用多個(gè)服務(wù)器。例如,單獨(dú)服務(wù)器可以包含該桌面的數(shù)據(jù)卷。
如果用戶想要從不同區(qū)域訪問(wèn)其云桌面,可以將用戶的云桌面的數(shù)據(jù)卷從前一個(gè)區(qū)域移到新區(qū)域處的服務(wù)器120,并且可以啟動(dòng)新云桌面實(shí)例122。
例如,用戶可以基于多種因素決定將其云桌面移動(dòng)到另一個(gè)區(qū)域。例如,如果用戶居住在一個(gè)地理區(qū)域(即,該地理區(qū)域的數(shù)據(jù)中心托管其云桌面實(shí)例),但是將處在不同的地理區(qū)域一段時(shí)間,則該用戶可以決定將其云桌面移到新地理區(qū)域。該位置可以由例如用戶設(shè)備的IP地址來(lái)確定。備選地,云桌面應(yīng)用可以提示用戶(例如,通過(guò)健康監(jiān)視器144或網(wǎng)絡(luò)監(jiān)視器)其網(wǎng)絡(luò)健康差或如果用戶將其云桌面遷移到另一個(gè)區(qū)域,則能夠改善其延遲。此提示可以在云桌面會(huì)話開(kāi)始出現(xiàn),在云桌面會(huì)話期間的某些時(shí)間出現(xiàn),在用戶指令下(例如,用戶打開(kāi)應(yīng)用以測(cè)試其網(wǎng)速)或在云桌面會(huì)話過(guò)程中按規(guī)律的間隔時(shí)間出現(xiàn)。
在前一個(gè)示例中,描述了云桌面會(huì)話。應(yīng)該理解,云桌面會(huì)話可以是指其中將至第一實(shí)例的連接重定向到第二實(shí)例而不與用戶斷開(kāi)連接(例如,用戶登錄到單個(gè)會(huì)話中)的會(huì)話。云桌面會(huì)話還可以是指其中拆掉至第一實(shí)例的連接并啟動(dòng)至第二實(shí)例的第二建立(例如,可以對(duì)用戶提供其會(huì)話正在重新連接的指示)的會(huì)話。云桌面會(huì)話不限于前文描述,并且可以是能夠?qū)崿F(xiàn)從用戶設(shè)備至一個(gè)區(qū)域處的第一實(shí)例和另一個(gè)區(qū)域處的第二實(shí)例的連接的任何會(huì)話。
地理區(qū)域和延遲
數(shù)據(jù)中心位于一個(gè)地理區(qū)域中。例如,單個(gè)區(qū)域(例如,俄勒岡,波特蘭)可以托管數(shù)據(jù)中心(例如,波特蘭數(shù)據(jù)中心)。另一個(gè)區(qū)域(例如,佛羅里達(dá),邁阿密)可以托管不同的數(shù)據(jù)中心(例如,邁阿密數(shù)據(jù)中心)。用戶的云桌面可以被托管在這些數(shù)據(jù)中心的任何一個(gè)。希望連接到其云桌面(即,云桌面實(shí)例)的用戶可以通過(guò)其用戶設(shè)備來(lái)訪問(wèn)包含其云桌面實(shí)例的數(shù)據(jù)中心。包含用戶的云桌面實(shí)例的數(shù)據(jù)中心可以是最初為用戶的云桌面建立的數(shù)據(jù)中心。但是,如果用戶改變位置(例如,用戶希望從邁阿密工作),則用戶的初始數(shù)據(jù)中心可能在地理上很遙遠(yuǎn)(例如,云桌面被托管在波特蘭數(shù)據(jù)中心)和/或用戶的云桌面會(huì)話可能存在高延遲。由此,將云桌面定位到較接近用戶的數(shù)據(jù)中心可能是期待的。例如,可以計(jì)算用戶計(jì)算設(shè)備至當(dāng)前區(qū)域的網(wǎng)絡(luò)延遲,并且可以使用延遲閾值來(lái)確定是否應(yīng)該移動(dòng)云桌面。
再者,出于數(shù)據(jù)中心相對(duì)于用戶設(shè)備的距離以外的原因,延遲可能增大。取決于用戶正在連接到數(shù)據(jù)中心(通過(guò)網(wǎng)絡(luò))的具體方式,延遲可能根據(jù)連接而增大。例如,如果用戶試圖連接到數(shù)據(jù)中心且從用戶設(shè)備到該數(shù)據(jù)中心的網(wǎng)絡(luò)拓?fù)浜荛L(zhǎng)或在慢速連接上行進(jìn),則延遲將可能高。由此,減少用戶設(shè)備與目的地?cái)?shù)據(jù)中心之間的地理距離可以改善網(wǎng)絡(luò)延遲。但是,情況并非總是如此。例如,如果數(shù)據(jù)中心在地理上靠近用戶設(shè)備,但是從用戶設(shè)備到該數(shù)據(jù)中心的連接慢,則用戶可以通過(guò)連接到地理上較遠(yuǎn)但數(shù)據(jù)中心與該用戶設(shè)備之間的連接較快的數(shù)據(jù)中心來(lái)體驗(yàn)更好的性能。
在一些實(shí)施例中,可以不基于網(wǎng)絡(luò)延遲,而是基于其他準(zhǔn)則來(lái)選擇目的地區(qū)域。例如,如果一個(gè)國(guó)家存在有關(guān)數(shù)據(jù)存儲(chǔ)的法規(guī)和規(guī)定,則可以基于這些法規(guī)和規(guī)定來(lái)選擇目的地區(qū)域。再者,如果存儲(chǔ)成本在數(shù)據(jù)中心之間不同,則用戶可以基于計(jì)費(fèi)結(jié)構(gòu)來(lái)選擇目的地區(qū)域。地理區(qū)域的選擇不限于上文描述,以及可以利用任何數(shù)量的因素來(lái)確定目的地區(qū)域。例如,如果存在一地理位置的歷史延遲數(shù)據(jù),則可以基于該歷史延遲數(shù)據(jù)來(lái)確定目的地區(qū)域。
遷移云桌面
圖2是示出遷移虛擬桌面(例如,云桌面或另一種類型的虛擬桌面,如預(yù)置虛擬桌面)的示例方法的流程圖。在210處,基于用戶計(jì)算設(shè)備至當(dāng)前區(qū)域的網(wǎng)絡(luò)延遲以及用戶計(jì)算設(shè)備相對(duì)于當(dāng)前區(qū)域的地理位置中的至少一個(gè)來(lái)確定要將云桌面從當(dāng)前區(qū)域遷移。例如,用戶可以接收到指示:網(wǎng)絡(luò)健康差(例如,高延遲或連接可靠性)。由此,云桌面會(huì)話可以建議用戶將云桌面卷移到不同區(qū)域??梢韵蛴脩籼崾具w移他們的云桌面,并且基于用戶的選擇,可以作出遷移云桌面的確定。該確定可以發(fā)生在用戶的云桌面會(huì)話開(kāi)始時(shí),用戶請(qǐng)求時(shí)或可以持續(xù)地監(jiān)視網(wǎng)絡(luò)的狀態(tài)。此外,還可以提示與云桌面關(guān)聯(lián)的管理員移動(dòng)用戶的云桌面(例如,如果管理員接收到網(wǎng)絡(luò)延遲超過(guò)閾值的指示),以及管理員可以確定將云桌面遷移到不同的區(qū)域。
在220處,基于用戶計(jì)算設(shè)備至目的地區(qū)域的網(wǎng)絡(luò)延遲以及用戶計(jì)算設(shè)備相對(duì)于該目的地區(qū)域的地理位置中的至少一個(gè)來(lái)標(biāo)識(shí)要將云桌面遷往的目的地區(qū)域??梢韵蛴脩籼峁┑乩砩辖咏撚脩舻臄?shù)據(jù)中心的列表。備選地,云桌面可以對(duì)多個(gè)數(shù)據(jù)中心執(zhí)行ping(因特網(wǎng)包探索器)并且使用接收到的分組的時(shí)間簽名來(lái)確定目的地區(qū)域??梢杂捎脩魜?lái)標(biāo)識(shí)目的地區(qū)域或可以自動(dòng)地確定目的地。例如,一旦確定應(yīng)該遷移云桌面,則可以標(biāo)識(shí)目的地區(qū)域而無(wú)需來(lái)自用戶的輸入??梢杂卸嘤谝粋€(gè)候選區(qū)域?;诶缬脩粼O(shè)備至一個(gè)或多個(gè)候選區(qū)域的網(wǎng)絡(luò)延遲以及用戶計(jì)算設(shè)備相對(duì)于該一個(gè)或多個(gè)候選區(qū)域的地理位置,可以評(píng)估這些候選區(qū)域以確定目的地區(qū)域。
在230處,關(guān)閉當(dāng)前區(qū)域處運(yùn)行的云桌面的當(dāng)前實(shí)例(即,第一實(shí)例)。因?yàn)橐苿?dòng)云桌面卷,所以為了確保在遷移期間該卷未被更改(即,從用戶對(duì)云桌面作出更改起),可以將云桌面會(huì)話暫停。例如,該會(huì)話可以顯示進(jìn)度條或某種其他指示:云桌面正在移動(dòng)或當(dāng)前不可用。
在240處,將云桌面的數(shù)據(jù)卷從當(dāng)前區(qū)域移到目的地區(qū)域。數(shù)據(jù)卷可以包括與該云桌面的用戶關(guān)聯(lián)的用戶數(shù)據(jù)、應(yīng)用數(shù)據(jù)、應(yīng)用軟件、操作系統(tǒng)軟件或?qū)⒃谱烂嬉频侥康牡貐^(qū)域所需的任何方面。
在250處,使用移動(dòng)的數(shù)據(jù)卷在目的地區(qū)域處啟動(dòng)云桌面的新實(shí)例(即,第二實(shí)例)。第二實(shí)例可以根據(jù)操作系統(tǒng)映像、來(lái)自當(dāng)前區(qū)域的用戶的云桌面實(shí)例、移動(dòng)的數(shù)據(jù)卷和/或用于該云桌面的第二實(shí)例的任何其他軟件或設(shè)置來(lái)重新創(chuàng)建。
在260處,在接收到用戶連接請(qǐng)求時(shí),將用戶連接請(qǐng)求定向到目的地區(qū)域處的云桌面的第二實(shí)例。用戶可以接收到其云桌面已移動(dòng)的指示或可以移動(dòng)云桌面而不通知用戶。此外,用戶無(wú)需知道云桌面已移動(dòng)到哪里。例如,用戶可以接收到指示其云桌面已被移動(dòng)的指示。
圖3是示出遷移虛擬桌面(例如,云桌面或另一種類型的虛擬桌面,如預(yù)置虛擬桌面)的另一個(gè)示例方法的流程圖。在310處,基于用戶計(jì)算設(shè)備至當(dāng)前數(shù)據(jù)中心的網(wǎng)絡(luò)延遲以及用戶計(jì)算設(shè)備相對(duì)于當(dāng)前數(shù)據(jù)中心的地理位置中的至少一個(gè)來(lái)確定要將云桌面從當(dāng)前數(shù)據(jù)中心遷移。該確定可以發(fā)生在用戶的云桌面會(huì)話開(kāi)始時(shí),用戶請(qǐng)求時(shí)或可以持續(xù)地監(jiān)視網(wǎng)絡(luò)的狀態(tài)。
在320處,基于用戶計(jì)算設(shè)備至目的地?cái)?shù)據(jù)中心的網(wǎng)絡(luò)延遲以及用戶計(jì)算設(shè)備相對(duì)于該目的地?cái)?shù)據(jù)中心的地理位置中的至少一個(gè)來(lái)將要將云桌面遷往的候選數(shù)據(jù)中心中的一個(gè)標(biāo)識(shí)為目的地?cái)?shù)據(jù)中心。可以向用戶提供地理上接近該用戶的候選數(shù)據(jù)中心的列表。備選地,云桌面可以對(duì)多個(gè)候選數(shù)據(jù)中心執(zhí)行ping,并選擇用戶計(jì)算設(shè)備至目的地?cái)?shù)據(jù)中心的網(wǎng)絡(luò)延遲小于該用戶計(jì)算設(shè)備至當(dāng)前數(shù)據(jù)中心的延遲的數(shù)據(jù)中心。
在330處,將云桌面的數(shù)據(jù)卷從當(dāng)前數(shù)據(jù)中心移到目的地?cái)?shù)據(jù)中心。在340處,在接收到用戶連接請(qǐng)求時(shí),將用戶連接請(qǐng)求定向到目的地?cái)?shù)據(jù)中心處運(yùn)行的云桌面的實(shí)例??梢栽趫?zhí)行前文提及的步驟中任一步驟時(shí)使用管理組件。
圖4是云桌面環(huán)境400的計(jì)算系統(tǒng)示意圖,以及圖5是示出遷移桌面的示例方法的流程圖。用戶可以通過(guò)例如用戶設(shè)備440上運(yùn)行的云桌面客戶端應(yīng)用442來(lái)啟動(dòng)云桌面會(huì)話。云桌面客戶端應(yīng)用442可以將用戶設(shè)備440連接到一個(gè)區(qū)域處的服務(wù)器410上運(yùn)行的云桌面實(shí)例412。
在510處,確定要從當(dāng)前區(qū)域遷移云桌面。該確定可以發(fā)生在用戶的云桌面會(huì)話開(kāi)始時(shí),用戶請(qǐng)求時(shí)或可以持續(xù)地監(jiān)視網(wǎng)絡(luò)的狀態(tài)。該確定可以由用戶設(shè)備440上的健康監(jiān)視器444來(lái)執(zhí)行??刂泼?30標(biāo)識(shí)云桌面實(shí)例412運(yùn)行所在的區(qū)域的位置。
在520處,標(biāo)識(shí)要將云桌面遷往的目的地區(qū)域。可以向用戶提供地理上接近該用戶的數(shù)據(jù)中心的列表。備選地,云桌面可以對(duì)多個(gè)數(shù)據(jù)中心執(zhí)行ping并且使用接收到的分組的時(shí)間簽名來(lái)確定目的地區(qū)域。
在530處,將云桌面的數(shù)據(jù)卷從當(dāng)前區(qū)域復(fù)制到目的地區(qū)域。數(shù)據(jù)卷可以包括與用戶數(shù)據(jù)、應(yīng)用數(shù)據(jù)、應(yīng)用軟件、操作系統(tǒng)軟件或?qū)⒃谱烂嬉频侥康牡貐^(qū)域所需的任何方面。在540處,在復(fù)制過(guò)程中同步地維護(hù)當(dāng)前區(qū)域處的云桌面數(shù)據(jù)卷和目的地區(qū)域處的云桌面數(shù)據(jù)卷。例如,如果由于例如用戶保存新文檔而導(dǎo)致數(shù)據(jù)卷被更改,則對(duì)該數(shù)據(jù)卷的更改將被復(fù)制,從而確保當(dāng)前區(qū)域處的數(shù)據(jù)卷和目的地區(qū)域處的數(shù)據(jù)卷看上去是相同的。
在550處,當(dāng)復(fù)制完成時(shí),凍結(jié)與當(dāng)前區(qū)域處的云桌面關(guān)聯(lián)的當(dāng)前用戶會(huì)話(例如,當(dāng)前用戶會(huì)話被鎖定或暫停直到將其重新連接到新實(shí)例為止)。這樣確保不可能在當(dāng)前區(qū)域處進(jìn)行任何新更改,從而使得當(dāng)前區(qū)域處的數(shù)據(jù)卷與目的地區(qū)域處的數(shù)據(jù)卷變?yōu)椴煌健km然當(dāng)前示例描述凍結(jié)當(dāng)前用戶會(huì)話,但是當(dāng)前用戶會(huì)話無(wú)需一定要被凍結(jié)。例如,可以記錄當(dāng)前區(qū)域處的更改并向上移交,直到例如用戶切換到目的地區(qū)域處運(yùn)行的實(shí)例為止。
在560處,將當(dāng)前區(qū)域處的當(dāng)前存儲(chǔ)器和處理器狀態(tài)復(fù)制到目的地區(qū)域。在570處,使用復(fù)制的數(shù)據(jù)卷和當(dāng)前存儲(chǔ)器和處理器狀態(tài)來(lái)啟動(dòng)目的地區(qū)域處的服務(wù)器420上的第二云桌面實(shí)例422。這樣使得第二云桌面實(shí)例422能夠看上去與當(dāng)前區(qū)域處運(yùn)行的云桌面實(shí)例412實(shí)質(zhì)性地相同。例如,復(fù)制數(shù)據(jù)卷之前在當(dāng)前區(qū)域處的云桌面實(shí)例412處運(yùn)行的任何應(yīng)用將在第二云桌面實(shí)例422上運(yùn)行。
在580處,將當(dāng)前用戶會(huì)話重新連接到第二云桌面實(shí)例422。因?yàn)楫?dāng)前區(qū)域處的云桌面實(shí)例和第二云桌面實(shí)例的外觀是相同的(即,桌面外觀是相同的),所以用戶甚至可以不知道云桌面已移到目的地區(qū)域。
在上文描述中,術(shù)語(yǔ)“移動(dòng)”和“復(fù)制”是可互換使用的。由于復(fù)制和/或移動(dòng)操作的本質(zhì)的原因,應(yīng)該理解,副本可以保留在源設(shè)備上,直到復(fù)制/移動(dòng)操作完成為止。正如本領(lǐng)域中熟知的,這樣能夠在失去連接、服務(wù)中斷等的情況中進(jìn)行數(shù)據(jù)留存。
因此,由于云桌面實(shí)例在地理上更接近客戶設(shè)備或?qū)τ诳蛻舳嗽O(shè)備具有更低的延遲的目的地區(qū)域處運(yùn)行,所以用戶應(yīng)該在使用該云桌面時(shí)體驗(yàn)到更好的性能。
云計(jì)算環(huán)境
圖6是圖示能夠使用本文描述的實(shí)施例的一個(gè)環(huán)境的基于網(wǎng)絡(luò)的計(jì)算服務(wù)提供方600的計(jì)算系統(tǒng)示意圖。作為背景,計(jì)算服務(wù)提供方600(即,云提供方)能夠?qū)⒂?jì)算和存儲(chǔ)能力作為服務(wù)交付給最終接收方群體。在示范實(shí)施例中,計(jì)算服務(wù)提供方可以是為組織建立或代組織建立的。即,計(jì)算服務(wù)提供方600可以提供“私用云環(huán)境”。在另一個(gè)實(shí)施例中,計(jì)算服務(wù)提供方600支持多租戶環(huán)境,其中多個(gè)客戶獨(dú)立地運(yùn)作(即,公共云環(huán)境)。一般來(lái)說(shuō),計(jì)算服務(wù)提供方600能夠提供如下模型:基礎(chǔ)設(shè)施即服務(wù)(“IaaS”)、平臺(tái)即服務(wù)(“PaaS”)和/或軟件即服務(wù)(“SaaS”)。可以提供其他模型。對(duì)于IaaS模型,計(jì)算服務(wù)提供方600可以將計(jì)算機(jī)作為物理機(jī)器或虛擬機(jī)以及其他資源來(lái)提供。虛擬機(jī)可以被管理程序作為訪客來(lái)運(yùn)行,正如下文對(duì)此進(jìn)一步的描述。PaaS模型交付可以包括操作系統(tǒng)、編程語(yǔ)言執(zhí)行環(huán)境、數(shù)據(jù)庫(kù)和web服務(wù)器的計(jì)算平臺(tái)。應(yīng)用開(kāi)發(fā)商可以在該計(jì)算服務(wù)提供方平臺(tái)上開(kāi)發(fā)并運(yùn)行其軟件解決方案而沒(méi)有購(gòu)買和管理底層硬件和軟件的成本。SaaS模型允許在計(jì)算服務(wù)提供方中安裝和操作應(yīng)用軟件。在一些實(shí)施例中,最終用戶使用運(yùn)行web瀏覽器或其他輕量級(jí)客戶端應(yīng)用的聯(lián)網(wǎng)的客戶端設(shè)備,如臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、平板電腦、智能電話等來(lái)訪問(wèn)計(jì)算服務(wù)提供方600。本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到計(jì)算服務(wù)提供方600可以被描述為“云”環(huán)境。
圖示的具體計(jì)算服務(wù)提供方600包括多個(gè)服務(wù)器計(jì)算機(jī)602A-602D。雖然示出了僅四個(gè)服務(wù)器計(jì)算機(jī),但是任何數(shù)量均可使用,且大的中心可以包括數(shù)千個(gè)服務(wù)器計(jì)算機(jī)。服務(wù)器計(jì)算機(jī)602A-602D可以提供用于執(zhí)行軟件實(shí)例606A-606D的計(jì)算資源。在一個(gè)實(shí)施例中,實(shí)例606A-606D是虛擬機(jī)。正如本領(lǐng)域中公知的,虛擬機(jī)是像物理機(jī)器一樣執(zhí)行應(yīng)用的機(jī)器(即,計(jì)算機(jī))的軟件實(shí)現(xiàn)的實(shí)例。在虛擬機(jī)的示例中,服務(wù)器602A-602D中每一個(gè)可以配置成執(zhí)行管理程序608或執(zhí)行配置成能夠?qū)崿F(xiàn)多個(gè)實(shí)例606在單個(gè)服務(wù)器上執(zhí)行的其他類型的程序。此外,每個(gè)實(shí)例606可以配置成執(zhí)行一個(gè)或多個(gè)應(yīng)用。
應(yīng)該認(rèn)識(shí)到,雖然本文公開(kāi)的實(shí)施例主要是在虛擬機(jī)的情形中描述的,但是可以結(jié)合本文公開(kāi)的概念和技術(shù)采用其他類型的實(shí)例。例如,可以結(jié)合存儲(chǔ)資源、數(shù)據(jù)通信資源以及其其他類型的計(jì)算資源來(lái)采用本文公開(kāi)的技術(shù)。本文公開(kāi)的實(shí)施例還可以直接在計(jì)算機(jī)系統(tǒng)上執(zhí)行應(yīng)用的全部或一部分而不利用虛擬機(jī)實(shí)例。
可以預(yù)留一個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)604來(lái)執(zhí)行用于管理服務(wù)器計(jì)算機(jī)602和實(shí)例606的操作的軟件組件。例如,服務(wù)器計(jì)算機(jī)604可以執(zhí)行管理組件610??蛻艨梢栽L問(wèn)管理組件610來(lái)配置該客戶所購(gòu)買的實(shí)例606的操作的多個(gè)不同方面。例如,客戶可以購(gòu)買、租用或出租實(shí)例,并且對(duì)這些實(shí)例的配置進(jìn)行更改。客戶還可以指定有關(guān)如何響應(yīng)于需求擴(kuò)展所購(gòu)買的實(shí)例的設(shè)置。該管理組件還可以包括策略文檔以便實(shí)現(xiàn)客戶策略。自動(dòng)擴(kuò)展組件612可以基于客戶定義的規(guī)則來(lái)擴(kuò)展實(shí)例606。在一個(gè)實(shí)施例中,自動(dòng)擴(kuò)展組件612使得客戶能夠指定在確定何時(shí)應(yīng)該例示新實(shí)例時(shí)使用的放大規(guī)則以及在確定何時(shí)應(yīng)該將現(xiàn)有實(shí)例終止時(shí)使用的縮小規(guī)則。自動(dòng)擴(kuò)展組件612可以由不同服務(wù)器計(jì)算機(jī)602或其他計(jì)算設(shè)備上執(zhí)行的多個(gè)子組件組成。自動(dòng)擴(kuò)展組件612可以監(jiān)視內(nèi)部管理網(wǎng)絡(luò)上的可用計(jì)算資源以及基于需求來(lái)修改可用的資源。
部署組件614可以用于幫助客戶部署計(jì)算資源的新實(shí)例606。該部署組件可以對(duì)與實(shí)例關(guān)聯(lián)的賬戶信息有訪問(wèn)權(quán),例如誰(shuí)是該賬戶的擁有者、信用卡信息、擁有者的國(guó)家等。部署組件614可以從客戶接收包含描述應(yīng)該如何配置新實(shí)例606的數(shù)據(jù)的配置。例如,該配置可以指定要安裝在新實(shí)例606中的一個(gè)或多個(gè)應(yīng)用,提供配置新實(shí)例606要執(zhí)行的腳本和/或其他類型的代碼,提供指定如何準(zhǔn)備應(yīng)用高速緩存的高速緩存邏輯,以及其他類型的信息。部署組件614可以利用客戶提供的配置和高速緩存邏輯來(lái)配置、準(zhǔn)備和啟動(dòng)新實(shí)例606。配置、高速緩存邏輯和其他信息可以由客戶使用管理組件610來(lái)指定或通過(guò)將此信息直接提供到部署組件614來(lái)指定。實(shí)例管理器可以視為部署組件的一部分。
客戶賬戶信息615可以包括與多租戶環(huán)境的客戶關(guān)聯(lián)的任何期望信息。例如,客戶賬戶信息可以包括客戶的唯一標(biāo)識(shí)符、客戶地址、計(jì)費(fèi)信息、許可信息、用于啟動(dòng)實(shí)例的定制參數(shù)、調(diào)度信息、自動(dòng)擴(kuò)展參數(shù)、用于訪問(wèn)該賬戶的先前IP地址等。
健康監(jiān)視器616可以持續(xù)跟蹤用戶設(shè)備至服務(wù)器計(jì)算機(jī)602的健康(例如,網(wǎng)絡(luò)延遲)。例如,如果健康監(jiān)視器616確定健康差(例如,網(wǎng)絡(luò)延遲高),則健康監(jiān)視器616可以提示用戶。
遷移組件618可以用于將數(shù)據(jù)卷從一個(gè)數(shù)據(jù)中心遷移到另一個(gè)數(shù)據(jù)中心。遷移組件618可以具有其自己的含有連接和位置信息的數(shù)據(jù)存儲(chǔ)。例如,該連接和位置信息可以用于標(biāo)識(shí)目的地區(qū)域。在圖6中,健康監(jiān)視器616和遷移組件618圖示為單獨(dú)的組件。應(yīng)該連接,健康監(jiān)視器616和/或遷移組件618還可以作為另一個(gè)組件(例如,管理組件610)的一部分。再者,該管理組件還可以包括云桌面管理組件以便管理云桌面。該云桌面管理組件也可以用于遷移云桌面。
網(wǎng)絡(luò)630可以被利用來(lái)將服務(wù)器計(jì)算機(jī)602A-602D與服務(wù)器計(jì)算機(jī)604互連。網(wǎng)絡(luò)630可以是局域網(wǎng)(LAN)并且可以連接到廣域網(wǎng)(WAN)640,以使最終用戶能夠訪問(wèn)計(jì)算服務(wù)提供方600。應(yīng)該認(rèn)識(shí)到,圖6中圖示的網(wǎng)絡(luò)拓?fù)湟驯缓?jiǎn)化以及可以利用遠(yuǎn)遠(yuǎn)更多的網(wǎng)絡(luò)和聯(lián)網(wǎng)設(shè)備來(lái)將本文公開(kāi)的多種計(jì)算系統(tǒng)互連。
圖7進(jìn)一步詳細(xì)地圖示能夠在計(jì)算服務(wù)提供方600的多租戶環(huán)境中使用的管理組件706。為了訪問(wèn)和利用實(shí)例(如,圖6的實(shí)例606),可以使用客戶端設(shè)備??蛻舳嗽O(shè)備710可以是多種計(jì)算設(shè)備、移動(dòng)或其他設(shè)備中的任何一種,包括蜂窩電話、智能電話、手持計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、臺(tái)式計(jì)算機(jī)等??蛻舳嗽O(shè)備710可以經(jīng)由端點(diǎn)712與計(jì)算服務(wù)提供方600通信,端點(diǎn)712可以是設(shè)計(jì)成接收和處理API請(qǐng)求的DNS地址。具體地,端點(diǎn)712可以是配置成公開(kāi)API的web服務(wù)器。使用API請(qǐng)求,客戶端710能夠發(fā)出請(qǐng)求以實(shí)現(xiàn)本文描述的任何功能??梢詫儆谟?jì)算服務(wù)提供方600內(nèi)部的其他服務(wù)715可以相似地向端點(diǎn)712發(fā)出API請(qǐng)求。
可以包括在或可以不包括在計(jì)算服務(wù)提供方600中的其他通用管理服務(wù)包括許可控制714,例如一個(gè)或多個(gè)計(jì)算機(jī)一起作為許可控制web服務(wù)工作。許可控制714可以對(duì)計(jì)算服務(wù)提供方600內(nèi)進(jìn)行數(shù)據(jù)的服務(wù)或存儲(chǔ)的API請(qǐng)求進(jìn)行認(rèn)證、驗(yàn)證和解包。容量跟蹤器716負(fù)責(zé)確定需要如何配置服務(wù)器以便通過(guò)在容量的預(yù)測(cè)、提供和實(shí)時(shí)配置及分配的方面管理和配置物理庫(kù)存來(lái)滿足不同實(shí)例類型的需求。容量跟蹤器716在容量池?cái)?shù)據(jù)庫(kù)718中維護(hù)可用庫(kù)存的池。容量跟蹤器716還可以監(jiān)視容量水平,以便知道資源是隨處可用還是受限的。實(shí)例管理器750控制網(wǎng)絡(luò)中的實(shí)例的啟動(dòng)和終止。當(dāng)接收到指令(如通過(guò)API請(qǐng)求)要啟動(dòng)實(shí)例時(shí),實(shí)例管理器從容量池718提取資源,并在所決定的主機(jī)服務(wù)器計(jì)算機(jī)上啟動(dòng)該實(shí)例。與實(shí)例管理器相似的是存儲(chǔ)管理器722和物理資源管理器724。存儲(chǔ)管理器722涉及存儲(chǔ)卷的啟動(dòng)和終止,而網(wǎng)絡(luò)資源管理器724涉及路由器、交換機(jī)、子網(wǎng)等的啟動(dòng)和終止。分區(qū)網(wǎng)絡(luò)740結(jié)合圖6進(jìn)一步描述,并且包括啟動(dòng)實(shí)例所在的物理層。
健康監(jiān)視服務(wù)760可以提供對(duì)資源和客戶運(yùn)行在計(jì)算服務(wù)提供方600上運(yùn)行的應(yīng)用的監(jiān)視。系統(tǒng)管理員可以使用健康監(jiān)視服務(wù)760來(lái)收集和跟蹤度量,以及獲得應(yīng)用運(yùn)行情況如何的概覽。例如,健康監(jiān)視服務(wù)760可以允許應(yīng)用性能和運(yùn)行健康的系統(tǒng)范圍可見(jiàn)性。健康監(jiān)視服務(wù)760生成的度量可以存儲(chǔ)在度量數(shù)據(jù)庫(kù)762中。
圖8圖示分區(qū)網(wǎng)絡(luò)840以及與之關(guān)聯(lián)的物理硬件。分區(qū)網(wǎng)絡(luò)840可以包括通過(guò)路由器816耦合在一起的多個(gè)數(shù)據(jù)中心,如數(shù)據(jù)中心810。路由器816讀取所接收的分組中的地址信息,并且確定分組的目的地。如果路由器確定另一個(gè)數(shù)據(jù)中心包含主機(jī)服務(wù)器計(jì)算機(jī),則將該分組轉(zhuǎn)發(fā)到該數(shù)據(jù)中心。如果該分組尋址到數(shù)據(jù)中心810中的主機(jī),則將其傳遞到網(wǎng)絡(luò)地址解釋器(NAT)818,網(wǎng)絡(luò)地址解釋器(NAT)818將該分組的公共IP地址轉(zhuǎn)換成私用IP地址。NAT還將私用地址解釋為數(shù)據(jù)中心810外綁定的公共地址。附加的路由器820可以耦合到NAT以便將分組路由到主機(jī)服務(wù)器計(jì)算機(jī)830的一個(gè)或多個(gè)機(jī)架。每個(gè)機(jī)架830可以包括耦合到多個(gè)主機(jī)服務(wù)器計(jì)算機(jī)的交換機(jī)832。840處以擴(kuò)充的視圖示出一具體主機(jī)服務(wù)器計(jì)算機(jī)。
每個(gè)主機(jī)840具有包括一個(gè)或多個(gè)CPU、存儲(chǔ)器、存儲(chǔ)設(shè)備等的底層硬件850。在硬件850上運(yùn)行層是管理程序和內(nèi)核層860。管理程序或內(nèi)核層可以分類為類型1或類型2管理程序。類型1管理程序在主機(jī)硬件850上運(yùn)行以便控制硬件以及管理訪客操作系統(tǒng)。類型2管理程序運(yùn)行在常規(guī)操作系統(tǒng)環(huán)境內(nèi)。由此,在類型2環(huán)境中,管理程序可以是操作系統(tǒng)上運(yùn)行的不同層,以及該操作系統(tǒng)與系統(tǒng)硬件交互。不同類型的管理程序包括基于Xen的、Hyper-V、ESXi/ESX、Linux等,但是還可以使用其他管理程序。管理層870可以是管理程序的一部分或與之是分開(kāi)的,并且一般包括訪問(wèn)硬件850所需的設(shè)備驅(qū)動(dòng)程序。分區(qū)880是管理程序隔離的邏輯單元。每個(gè)分區(qū)880可以獲分配硬件層的存儲(chǔ)器、CPU分配、存儲(chǔ)等中的其自有部分。附加地,每個(gè)分區(qū)可以包括虛擬機(jī)及其自有的訪客操作系統(tǒng)。因此,每個(gè)分區(qū)是設(shè)計(jì)成獨(dú)立于其他分區(qū)支持其自己的虛擬機(jī)的容量的抽象部分。
實(shí)例上執(zhí)行的任何應(yīng)用均可以使用管理層870來(lái)監(jiān)視,管理層870然后可以將度量傳遞到健康監(jiān)視服務(wù)760以便存儲(chǔ)在度量數(shù)據(jù)庫(kù)762中。此外,管理層870可以向健康監(jiān)視服務(wù)760傳遞正在運(yùn)行的實(shí)例的數(shù)量、它們是否何時(shí)啟動(dòng)的、正在使用的操作系統(tǒng)、正在運(yùn)行的應(yīng)用等。所有此類度量均可供健康監(jiān)視服務(wù)760消費(fèi)以及存儲(chǔ)在度量數(shù)據(jù)庫(kù)762中。
云桌面環(huán)境
圖9是能夠向多種用戶設(shè)備提供云桌面資源的云桌面環(huán)境的示意圖。云桌面環(huán)境無(wú)意提出有關(guān)用途或功能性范圍的任何限制,因?yàn)檫@些創(chuàng)新可以在任何類型的計(jì)算設(shè)備中實(shí)現(xiàn)。例如,計(jì)算設(shè)備可以是多種計(jì)算設(shè)備中任一種(例如,服務(wù)器計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、平板電腦、移動(dòng)電話或另一種類型的計(jì)算設(shè)備)。
參考圖9,云桌面環(huán)境可以包括一個(gè)或多個(gè)用戶設(shè)備902A、902B、902C。用戶設(shè)備902A、902B和902C中每一個(gè)可以位于相同的區(qū)域或不同的區(qū)域中。例如,用戶設(shè)備902A可以被一個(gè)區(qū)域(例如,辦公室)的用戶使用,以及用戶設(shè)備902B和902C可以被不同區(qū)域(例如,出公差)的用戶使用。用戶可以正常地訪問(wèn)他們位于一個(gè)區(qū)域(即,區(qū)域1)上的云桌面。該區(qū)域可以包含托管與用戶關(guān)聯(lián)的云桌面的一個(gè)或多個(gè)數(shù)據(jù)中心912A-912N。
如果確定用戶位于不同的地理位置(例如,用戶嘗試通過(guò)處于不同地理位置的用戶計(jì)算設(shè)備902B或902C訪問(wèn)他們的云桌面),則用戶的云桌面會(huì)話可以被移動(dòng)到不同的區(qū)域(例如,從區(qū)域1至區(qū)域2)。作為另一個(gè)示例,如果云桌面實(shí)例已移到不同區(qū)域(即,從區(qū)域1到區(qū)域2),則確定用戶的云桌面會(huì)話性能會(huì)改善。由此,與該用戶關(guān)聯(lián)的數(shù)據(jù)卷從區(qū)域1移到區(qū)域2,其中云桌面會(huì)話可以托管在新區(qū)域處的數(shù)據(jù)中心922A-922N中的至少一個(gè)上。
應(yīng)該理解,雖然描述的是遷移云桌面,但是這些實(shí)施例中任一個(gè)實(shí)施例還可以應(yīng)用于基于云的服務(wù)。例如,如果確定基于云的服務(wù),如音樂(lè)流傳輸服務(wù)或數(shù)據(jù)庫(kù)在遷移到新區(qū)域的情況下表現(xiàn)更好,則可以使用所描述的實(shí)施例中任一個(gè)實(shí)施例來(lái)將該基于云的服務(wù)遷移到不同區(qū)域。
本發(fā)明公開(kāi)的實(shí)施例可以依據(jù)如下條款來(lái)描述:
1.一種用于在區(qū)域之間遷移云桌面的方法,其包括:
基于用戶計(jì)算設(shè)備至當(dāng)前區(qū)域的網(wǎng)絡(luò)延遲或所述用戶計(jì)算設(shè)備相對(duì)于所述當(dāng)前區(qū)域的地理位置中的至少一個(gè)來(lái)確定要將所述云桌面從所述當(dāng)前區(qū)域遷移;
基于所述用戶計(jì)算設(shè)備至目的地區(qū)域的網(wǎng)絡(luò)延遲或所述用戶計(jì)算設(shè)備相對(duì)于所述目的地區(qū)域的地理位置中的至少一個(gè)來(lái)標(biāo)識(shí)要將所述云桌面遷往的所述目的地區(qū)域;
將所述云桌面的數(shù)據(jù)卷從所述當(dāng)前區(qū)域復(fù)制到所述目的地區(qū)域,所述數(shù)據(jù)卷包含與所述云桌面的用戶關(guān)聯(lián)的用戶數(shù)據(jù);
在所述復(fù)制過(guò)程中同步地維護(hù)所述當(dāng)前區(qū)域處的所述數(shù)據(jù)卷和所述目的地區(qū)域處的所述數(shù)據(jù)卷;以及
在完成所述復(fù)制時(shí):
凍結(jié)與所述當(dāng)前區(qū)域處的所述云桌面關(guān)聯(lián)的當(dāng)前用戶會(huì)話;
將所述當(dāng)前用戶會(huì)話的當(dāng)前存儲(chǔ)器和處理器狀態(tài)復(fù)制到所述目的地區(qū)域;
使用所述復(fù)制的數(shù)據(jù)卷和當(dāng)前存儲(chǔ)器和處理器狀態(tài)來(lái)啟動(dòng)所述目的地區(qū)域處的云桌面實(shí)例;以及
將所述當(dāng)前用戶會(huì)話重新連接到所述目的地區(qū)域處的所述云桌面實(shí)例。
2.如權(quán)利要求1所述的方法,其中所述確定包括:
計(jì)算所述用戶計(jì)算設(shè)備至所述當(dāng)前區(qū)域的所述網(wǎng)絡(luò)延遲;以及
確定所述用戶計(jì)算設(shè)備至所述當(dāng)前區(qū)域的所述網(wǎng)絡(luò)延遲超過(guò)延遲閾值。
3.如權(quán)利要求2所述的方法,其中所述計(jì)算包括執(zhí)行ping操作,所述ping操作確定所述用戶計(jì)算設(shè)備發(fā)送到所述當(dāng)前區(qū)域的分組的時(shí)間簽名。
4.如權(quán)利要求1所述的方法,其中所述確定包括:
標(biāo)識(shí)所述用戶計(jì)算設(shè)備的當(dāng)前地理位置;以及
基于所述用戶計(jì)算設(shè)備相對(duì)于所述當(dāng)前區(qū)域的所述當(dāng)前地理位置來(lái)確定應(yīng)該遷移所述云桌面。
5.如權(quán)利要求4所述的方法,其中所述當(dāng)前地理位置由所述用戶計(jì)算設(shè)備的IP地址來(lái)標(biāo)識(shí)。
6.如權(quán)利要求1所述的方法,其中所述確定包括:
提示用戶和與所述云桌面關(guān)聯(lián)的管理員中的一個(gè)要遷移所述云桌面;以及
接收來(lái)自用戶和管理員的所述其中之一的選擇以將所述云桌面遷移到所述目的地區(qū)域。
7.如權(quán)利要求1所述的方法,其中所述確定在所述當(dāng)前用戶會(huì)話期間自動(dòng)地執(zhí)行而無(wú)需所述云桌面的用戶輸入。
8.如權(quán)利要求1所述的方法,其中所述標(biāo)識(shí)包括:
識(shí)別一個(gè)或多個(gè)候選區(qū)域;以及
基于所述用戶計(jì)算設(shè)備至所述一個(gè)或多個(gè)候選區(qū)域的網(wǎng)絡(luò)延遲或所述用戶計(jì)算設(shè)備相對(duì)于所述一個(gè)或多個(gè)候選區(qū)域的地理位置中的至少一個(gè),評(píng)估所述一個(gè)或多個(gè)候選區(qū)域以確定所述目的地區(qū)域。
9.如權(quán)利要求1所述的方法,其中所述標(biāo)識(shí)包括:
至少基于所述用戶計(jì)算設(shè)備的當(dāng)前地理位置的歷史網(wǎng)絡(luò)延遲數(shù)據(jù)來(lái)標(biāo)識(shí)所述目的地區(qū)域。
10.如權(quán)利要求1所述的方法,其中所述標(biāo)識(shí)包括:
識(shí)別一個(gè)或多個(gè)候選區(qū)域;以及
基于所述用戶計(jì)算設(shè)備至所述一個(gè)或多個(gè)候選區(qū)域的延遲或所述用戶計(jì)算設(shè)備至所述一個(gè)或多個(gè)候選區(qū)域的地理位置中的至少一個(gè),評(píng)估所述一個(gè)或多個(gè)候選區(qū)域以確定所述目的地區(qū)域。
11.如權(quán)利要求8所述的方法,其中所述標(biāo)識(shí)一個(gè)或多個(gè)候選區(qū)域包括:
基于所述一個(gè)或多個(gè)候選區(qū)域的計(jì)費(fèi)結(jié)構(gòu)來(lái)標(biāo)識(shí)所述一個(gè)或多個(gè)候選區(qū)域。
12.一種用于在數(shù)據(jù)中心之間遷移虛擬桌面的計(jì)算系統(tǒng),所述計(jì)算系統(tǒng)包括:
當(dāng)前數(shù)據(jù)中心,所述當(dāng)前數(shù)據(jù)中心包括虛擬桌面和數(shù)據(jù)卷,所述數(shù)據(jù)卷包含與所述虛擬桌面的用戶關(guān)聯(lián)的用戶數(shù)據(jù);
一個(gè)或多個(gè)候選數(shù)據(jù)中心;
管理組件,所述管理組件配置成執(zhí)行包括如下的操作:
基于用戶計(jì)算設(shè)備至所述當(dāng)前數(shù)據(jù)中心的網(wǎng)絡(luò)延遲或所述用戶計(jì)算設(shè)備相對(duì)于所述當(dāng)前數(shù)據(jù)中心的地理位置中的至少一個(gè)來(lái)確定要將虛擬桌面從所述當(dāng)前數(shù)據(jù)中心遷移;
基于所述用戶計(jì)算設(shè)備至目的地?cái)?shù)據(jù)中心的網(wǎng)絡(luò)延遲或所述用戶計(jì)算設(shè)備相對(duì)于所述目的地?cái)?shù)據(jù)中心的地理位置中的至少一個(gè)來(lái)將要將所述虛擬桌面遷往的所述一個(gè)或多個(gè)候選數(shù)據(jù)中心中的一個(gè)標(biāo)識(shí)為所述目的地?cái)?shù)據(jù)中心;以及
將所述虛擬桌面的所述數(shù)據(jù)卷從所述當(dāng)前數(shù)據(jù)中心移到所述目的地?cái)?shù)據(jù)中心;以及
控制面層,所述控制面層跟蹤所述虛擬桌面的所述數(shù)據(jù)卷和所述一個(gè)或多個(gè)數(shù)據(jù)中心,所述控制面層配置成執(zhí)行包括如下的操作:
在接收到用戶連接請(qǐng)求時(shí),將所述用戶連接請(qǐng)求定向到所述目的地?cái)?shù)據(jù)中心處運(yùn)行的所述虛擬桌面的實(shí)例。
13.如權(quán)利要求9所述的計(jì)算系統(tǒng),其中所述用戶計(jì)算設(shè)備至所述目的地?cái)?shù)據(jù)中心的所述網(wǎng)絡(luò)延遲小于所述用戶計(jì)算設(shè)備至所述當(dāng)前數(shù)據(jù)中心的網(wǎng)絡(luò)延遲。
14.如權(quán)利要求9所述的計(jì)算系統(tǒng),其中所述用戶計(jì)算設(shè)備至所述目的地?cái)?shù)據(jù)中心的所述地理位置比所述用戶計(jì)算設(shè)備至所述當(dāng)前數(shù)據(jù)中心的地理位置更靠近。
15.如權(quán)利要求9所述的計(jì)算系統(tǒng),其中所述管理組件配置成執(zhí)行包括如下的又一些操作:
關(guān)閉所述當(dāng)前數(shù)據(jù)中心處運(yùn)行的所述虛擬桌面的實(shí)例;以及在所述目的地?cái)?shù)據(jù)中心處啟動(dòng)所述虛擬桌面的實(shí)例。
16.如權(quán)利要求9所述的計(jì)算系統(tǒng),其中所述管理組件配置成執(zhí)行包括如下的又一些操作:
在所述移動(dòng)過(guò)程中同步地維護(hù)所述當(dāng)前數(shù)據(jù)中心處的所述數(shù)據(jù)卷的副本和所述目的地?cái)?shù)據(jù)中心處的所述數(shù)據(jù)卷的副本;以及
在完成所述移動(dòng)時(shí):
凍結(jié)與所述當(dāng)前數(shù)據(jù)中心處的所述虛擬桌面關(guān)聯(lián)的當(dāng)前用戶會(huì)話;
將所述當(dāng)前用戶會(huì)話的當(dāng)前存儲(chǔ)器和處理器狀態(tài)復(fù)制到所述目的地?cái)?shù)據(jù)中心;
使用所述移動(dòng)的數(shù)據(jù)卷和所述復(fù)制的當(dāng)前存儲(chǔ)器和處理器狀態(tài)來(lái)啟動(dòng)所述目的地?cái)?shù)據(jù)中心處的所述虛擬桌面的實(shí)例;以及
將所述當(dāng)前用戶會(huì)話重新連接到所述目的地?cái)?shù)據(jù)中心處的所述虛擬桌面的所述啟動(dòng)的實(shí)例。
17.一種其上存儲(chǔ)指令的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述指令用于執(zhí)行區(qū)域之間遷移基于云的服務(wù)的操作,所述操作包括:
基于用戶計(jì)算設(shè)備至當(dāng)前區(qū)域的網(wǎng)絡(luò)延遲或所述用戶計(jì)算設(shè)備相對(duì)于所述當(dāng)前區(qū)域的地理位置中的至少一個(gè)來(lái)確定要將基于云的服務(wù)從所述當(dāng)前區(qū)域遷移;
基于所述用戶計(jì)算設(shè)備至目的地區(qū)域的網(wǎng)絡(luò)延遲或所述用戶計(jì)算設(shè)備相對(duì)于所述目的地區(qū)域的地理位置中的至少一個(gè)來(lái)標(biāo)識(shí)要將所述基于云的服務(wù)遷往的所述目的地區(qū)域;
將所述基于云的服務(wù)的數(shù)據(jù)卷從所述當(dāng)前區(qū)域復(fù)制到所述目的地區(qū)域;
使用所述數(shù)據(jù)卷,在所述目的地區(qū)域處啟動(dòng)基于云的服務(wù)實(shí)例;以及
將與所述基于云的服務(wù)關(guān)聯(lián)的當(dāng)前用戶會(huì)話連接到所述目的地區(qū)域處的所述基于云的服務(wù)實(shí)例。
18.如權(quán)利要求13所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述操作還包括:
在所述復(fù)制過(guò)程中同步地維護(hù)所述當(dāng)前區(qū)域處的所述數(shù)據(jù)卷的副本和所述目的地區(qū)域處的所述數(shù)據(jù)卷的副本;以及
在完成所述復(fù)制時(shí):
凍結(jié)與所述當(dāng)前區(qū)域處的所述基于云的服務(wù)關(guān)聯(lián)的所述當(dāng)前用戶會(huì)話;以及
將所述當(dāng)前用戶會(huì)話的當(dāng)前存儲(chǔ)器和處理器狀態(tài)復(fù)制到所述目的地區(qū)域;以及
其中所述啟動(dòng)基于云的服務(wù)實(shí)例包括,使用所述移動(dòng)的數(shù)據(jù)卷和所述復(fù)制的當(dāng)前存儲(chǔ)器和處理器狀態(tài)來(lái)啟動(dòng)所述目的地區(qū)域處的所述基于云的服務(wù)的實(shí)例。
19.如權(quán)利要求13所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述確定包括:
計(jì)算所述用戶計(jì)算設(shè)備至所述當(dāng)前區(qū)域的所述網(wǎng)絡(luò)延遲;以及
確定所述網(wǎng)絡(luò)延遲超過(guò)延遲閾值。
20.如權(quán)利要求13所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中所述確定在與所述基于云的服務(wù)關(guān)聯(lián)的所述當(dāng)前用戶會(huì)話期間自動(dòng)地執(zhí)行而無(wú)需來(lái)自用戶的輸入。
示例計(jì)算環(huán)境
圖10圖示其中可以實(shí)現(xiàn)所描述的創(chuàng)新的適合計(jì)算環(huán)境1000的概括性示例。計(jì)算環(huán)境1000無(wú)意提出有關(guān)用途或功能性范圍的任何限制,因?yàn)檫@些創(chuàng)新可以在多種多樣的通用或?qū)S糜?jì)算系統(tǒng)中實(shí)現(xiàn)。例如,計(jì)算環(huán)境1000可以是多種計(jì)算設(shè)備中任一種(例如,臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、平板計(jì)算機(jī)等)。
參考圖10,計(jì)算環(huán)境1000包括一個(gè)或多個(gè)處理單元1010、1015和存儲(chǔ)器1020、1025。在圖10中,此基本配置1030被包含在虛線內(nèi)。處理單元1010、1015執(zhí)行計(jì)算機(jī)可執(zhí)行指令。處理單元可以是通用中央處理單元(CPU)、專用集成電路(ASIC)中的處理器或任何其他類型的處理器。在多處理系統(tǒng)中,多個(gè)處理單元執(zhí)行計(jì)算機(jī)可執(zhí)行指令以增大處理能力。例如,圖10示出中央處理單元1010以及圖形處理單元或協(xié)處理單元1015。有形存儲(chǔ)器1020、1025可以是處理單元可訪問(wèn)的易失性存儲(chǔ)器(例如,檢測(cè)器、高速緩存、RAM)、非易失性存儲(chǔ)器(例如,ROM、EEPROM、閃存等)或二者的某種組合。存儲(chǔ)器1020、1025存儲(chǔ)實(shí)現(xiàn)本文描述的一個(gè)或多個(gè)創(chuàng)新的軟件1080,軟件1080采用適于被處理單元執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的形式。
計(jì)算系統(tǒng)可以具有附加特征。例如,計(jì)算環(huán)境1000包括存儲(chǔ)裝置1040、一個(gè)或多個(gè)輸入裝置1050、一個(gè)或多個(gè)輸出裝置1060和一個(gè)或多個(gè)通信連接1070。如總線、控制器或網(wǎng)絡(luò)的互連機(jī)構(gòu)(未示出)將計(jì)算環(huán)境1000的組件互連。典型地,操作系統(tǒng)軟件(未示出)為計(jì)算環(huán)境1000中執(zhí)行的其他軟件提供操作環(huán)境,以及協(xié)調(diào)計(jì)算環(huán)境1000的這些組件的活動(dòng)。
有形存儲(chǔ)裝置1040可以是可移動(dòng)的或不移動(dòng)的,并且包括磁盤、磁帶或磁帶盒、CD-ROM、DVD或能夠用于以非暫時(shí)性方式存儲(chǔ)信息且能夠在計(jì)算環(huán)境1000內(nèi)被訪問(wèn)的任何其他介質(zhì)。存儲(chǔ)裝置1040存儲(chǔ)用于實(shí)現(xiàn)本文描述的一個(gè)或多個(gè)創(chuàng)新的軟件1080的指令。
輸入裝置1050可以是觸控輸入裝置,如鍵盤、鼠標(biāo)、輸入筆或跟蹤球、語(yǔ)音輸入裝置、掃描裝置或向計(jì)算環(huán)境1000提供輸入的另一種裝置。輸出裝置1060可以是顯示器、打印機(jī)、揚(yáng)聲器或CD寫(xiě)入器或從計(jì)算機(jī)環(huán)境1000提供輸出的另一種裝置。
通信連接1070能夠?qū)崿F(xiàn)通過(guò)通信介質(zhì)至另一個(gè)計(jì)算實(shí)體的通信。該通信介質(zhì)在調(diào)制的數(shù)據(jù)信號(hào)中載送信息,如計(jì)算機(jī)可執(zhí)行指令、音頻或視頻輸入或輸出或其他數(shù)據(jù)。調(diào)制的數(shù)據(jù)信號(hào)是具有其特征集合中的一個(gè)或多個(gè)特征或以將信息編碼在信號(hào)中的方式改變的信號(hào)。作為舉例而非限制,通信介質(zhì)可以是電、光、RF或其他載體。
雖然一些本發(fā)明公開(kāi)的方法的操作是出于方便以特定順序來(lái)描述的,但是應(yīng)該理解此描述方式涵蓋重新安排,除非下文闡述的具體語(yǔ)言要求特定排序。例如,在一些情況中,順序描述的操作可以進(jìn)行重新安排或并行地執(zhí)行。而且,為了簡(jiǎn)化,附圖可能未示出本發(fā)明公開(kāi)的方法可以與其他方法結(jié)合來(lái)使用的多種方式。
本文公開(kāi)的任一方法可以作為存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(例如,一個(gè)或多個(gè)光介質(zhì)盤、易失性存儲(chǔ)器組件(如DRAM或SRAM)或非易失性存儲(chǔ)器組件(如閃存存儲(chǔ)器或硬盤))上且在計(jì)算機(jī)(例如,任何可購(gòu)得的計(jì)算機(jī),包括智能電話或包括計(jì)算硬件的其他移動(dòng)設(shè)備)上執(zhí)行的計(jì)算機(jī)可執(zhí)行指令來(lái)實(shí)現(xiàn)。術(shù)語(yǔ)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)不包括通信連接,如信號(hào)和載波。用于實(shí)現(xiàn)本發(fā)明公開(kāi)的技術(shù)的任何計(jì)算機(jī)可執(zhí)行指令以及本發(fā)明公開(kāi)的實(shí)施例的實(shí)現(xiàn)過(guò)程中創(chuàng)建和使用的任何數(shù)據(jù)均可以存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上。這些計(jì)算機(jī)可執(zhí)行指令可以是例如專用軟件應(yīng)用或通過(guò)web瀏覽器或其他軟件應(yīng)用(如,遠(yuǎn)程計(jì)算應(yīng)用)訪問(wèn)或下載的軟件應(yīng)用的一部分。此類軟件可以在例如單個(gè)本地計(jì)算機(jī)(例如,任何適合的可購(gòu)計(jì)算機(jī))上執(zhí)行或在使用一個(gè)或多個(gè)網(wǎng)絡(luò)計(jì)算機(jī)的網(wǎng)絡(luò)環(huán)境(例如,經(jīng)由因特網(wǎng)、廣域網(wǎng)、局域網(wǎng)、客戶端-服務(wù)器網(wǎng)絡(luò)(如,云計(jì)算網(wǎng)絡(luò))或其他此類網(wǎng)絡(luò))中執(zhí)行。
為了簡(jiǎn)明,僅描述了基于軟件的實(shí)現(xiàn)中的某些選定方面。本領(lǐng)域中熟知的其他細(xì)節(jié)予以省略。例如,應(yīng)該理解,本發(fā)明公開(kāi)的技術(shù)不限于任何具體計(jì)算機(jī)語(yǔ)言或程序。例如,本發(fā)明公開(kāi)的技術(shù)可以由C++、Java、Perl、JavaScript、Adobe Flash或任何其他適合的編程語(yǔ)言編寫(xiě)的軟件來(lái)實(shí)現(xiàn)。相似地,本發(fā)明公開(kāi)的技術(shù)不限于任何特定計(jì)算機(jī)或任何特定類型的硬件。適合的計(jì)算機(jī)和硬件的某些細(xì)節(jié)是為人熟知的,并且在本發(fā)明公開(kāi)中無(wú)需進(jìn)行詳細(xì)闡述。
還應(yīng)該理解,本文描述的任何功能性可以至少部分地由一個(gè)或多個(gè)硬件邏輯組件替代軟件來(lái)執(zhí)行。例如且非限制性地,可使用的說(shuō)明性類型的硬件邏輯組件包括現(xiàn)場(chǎng)可編程門陣列(FPGA)、專用集成電路(ASIC)、程序相關(guān)標(biāo)準(zhǔn)產(chǎn)品(ASSP)、芯片上系統(tǒng)(SOC)、復(fù)雜可編程邏輯器件(CPLD)等。
再者,可以經(jīng)由適合的通信方式上傳、下載或遠(yuǎn)程地訪問(wèn)這些基于軟件的實(shí)施例中任一個(gè)(包括例如,用于促使計(jì)算機(jī)執(zhí)行本發(fā)明公開(kāi)的任一方法的計(jì)算機(jī)可執(zhí)行指令)。此類適合的通信方式包括,例如因特網(wǎng)、萬(wàn)維網(wǎng)、內(nèi)聯(lián)網(wǎng)、軟件應(yīng)用、電纜(包括光纜)、磁通信、電磁通信(包括RF、微波和紅外線通信)、電子通信或其他此類通信方式。
本發(fā)明公開(kāi)的方法、設(shè)備和系統(tǒng)在任何方面不應(yīng)視為限制。相反,本發(fā)明公開(kāi)以單獨(dú)和多種組合以及彼此從屬組合的方式面向多種公開(kāi)的實(shí)施例的所有創(chuàng)新和非顯見(jiàn)性特征和方面。本發(fā)明公開(kāi)的方法、設(shè)備和系統(tǒng)不限于任何具體方面或特征或其組合,本發(fā)明公開(kāi)的實(shí)施例也不要求一定應(yīng)具有任何一個(gè)或多個(gè)具體優(yōu)點(diǎn)或解決任何一個(gè)或多個(gè)問(wèn)題。
鑒于本發(fā)明公開(kāi)的原理可應(yīng)用的許多可能的實(shí)施例,應(yīng)該認(rèn)識(shí)到,圖示的實(shí)施例僅是本發(fā)明的優(yōu)選示例,且不應(yīng)視為限制本發(fā)明的范圍。相反,本發(fā)明的范圍由所附專利權(quán)利要求限定。因此,我們對(duì)落在這些權(quán)利要求范圍內(nèi)的所有項(xiàng)組作為本發(fā)明要求權(quán)利。