本公開涉及用于通過使用設備來遷移虛擬機的方法和裝置。
背景技術:
由于在移動設備中執(zhí)行的應用需要比移動設備中可用的更多的計算資源,所以正在開發(fā)將應用的工作負載卸載到服務器的技術。
例如,可以通過使用服務器的計算資源來執(zhí)行應用,并且移動設備可以從服務器接收執(zhí)行應用的結果并可以輸出執(zhí)行結果。因此,用戶可以具有好像該應用在移動設備中執(zhí)行的體驗。
然而,當用戶持續(xù)移動時,如果移動設備和服務器之間的距離增加,則移動設備和服務器之間的數(shù)據(jù)傳輸可能變慢。此外,移動設備可以根據(jù)工作負載的特性而需要具有較高計算能力的虛擬機。因此,需要一種由移動設備將移動設備的虛擬機遷移到高度適合的云服務器的方法。
技術實現(xiàn)要素:
【技術方案】
提供了用于通過使用移動設備遷移虛擬機的方法和裝置。
附圖說明
通過結合附圖對示例性實施例的以下描述,這些和/或其他方面將變得清楚和更容易理解,在附圖中:
圖1a是用于描述根據(jù)示例性實施例的由云控制服務器執(zhí)行的遷移移動設備的虛擬機的方法的示圖;
圖1b是用于描述根據(jù)示例性實施例的由云控制服務器執(zhí)行的、基于估計的延遲確定虛擬機要被遷移到的云服務器的方法的示圖;
圖1c是根據(jù)示例性實施例的用于描述基于延遲的、由云控制服務器執(zhí)行的遷移虛擬機的方法的示圖;
圖1d是用于描述根據(jù)示例性實施例的由云控制服務器執(zhí)行的、基于估計的收費成本而確定虛擬機要遷移到的云服務器的方法的示圖;
圖1e是用于描述根據(jù)示例性實施例的由云控制服務器執(zhí)行的、基于移動設備的估計電池消耗而確定虛擬機要遷移到的云服務器的方法的示圖;
圖1f是用于描述根據(jù)示例性實施例的由移動設備執(zhí)行的提供用于設置關于確定遷移服務器的參考的菜單的方法的示圖;
圖2是根據(jù)示例性實施例的由云控制服務器執(zhí)行的、基于用戶的選擇而遷移虛擬機的方法的流程圖;
圖3是用于描述根據(jù)示例性實施例的遷移虛擬機的方法的示圖;
圖4是根據(jù)另一示例性實施例的由云控制服務器執(zhí)行的、基于用戶的選擇而遷移虛擬機的方法的流程圖;
圖5是用于描述根據(jù)示例性實施例的由移動設備執(zhí)行的、提供用于選擇移動設備的虛擬機要遷移到的云服務器的用戶界面的方法的示圖;
圖6a是用于描述根據(jù)另一示例性實施例的由移動設備執(zhí)行的、提供用于選擇移動設備的虛擬機要遷移到的云服務器的用戶界面的方法的示圖;
圖6b是用于描述根據(jù)另一示例性實施例的由移動設備執(zhí)行的、提供用于選擇移動設備的虛擬機要遷移到的云服務器的用戶界面的方法的示圖;
圖7是根據(jù)示例性實施例的由云控制服務器執(zhí)行的、基于移動設備的用戶的移動路線信息確定移動設備的虛擬機要遷移到的云服務器的方法的流程圖;
圖8是根據(jù)另一個示例性實施例的由云控制服務器執(zhí)行的、基于移動設備的用戶的移動路線信息而確定移動設備的虛擬機要遷移到的云服務器的方法的流程圖;
圖9示出根據(jù)示例性實施例的存儲在云控制服務器中的用戶的移動路線信息;
圖10是根據(jù)另一示例性實施例的由云控制服務器執(zhí)行的、用于描述根據(jù)用戶的移動路線信息而確定移動設備的虛擬機要遷移到的云服務器的方法的示圖;
圖11是根據(jù)另一個示例性實施例的由云控制服務器執(zhí)行的、用于描述根據(jù)用戶的移動路線信息和延遲而確定移動設備的虛擬機要遷移到的云服務器的方法的示圖;
圖12是根據(jù)示例性實施例的由云控制服務器執(zhí)行的、基于移動設備要被沿著其移動的估計路線和用戶的虛擬機使用模式而遷移移動設備的虛擬機的方法的流程圖;
圖13a示出根據(jù)示例性實施例的存儲在云控制服務器中的用戶的虛擬機使用模式信息;
圖13b是根據(jù)另一示例性實施例的由云控制服務器執(zhí)行的、基于移動設備要被沿著其移動的估計路線和用戶的虛擬機使用模式而遷移移動設備的虛擬機的方法的示圖;
圖14a示出根據(jù)另一示例性實施例的關于存儲在云控制服務器中的用戶的移動路線和虛擬機使用模式的信息;
圖14b是根據(jù)另一示例性實施例的由云控制服務器執(zhí)行的、基于移動設備要被沿著其移動的估計的路線和用戶的虛擬機使用模式而遷移移動設備的虛擬機的方法的示圖;
圖15是用于描述根據(jù)示例性實施例的當家庭云服務器被注冊在云控制服務器中時在家庭云服務器和公共云服務器之一之間遷移虛擬機的方法的示圖;
圖16是用于描述根據(jù)示例性實施例的由家庭云服務器執(zhí)行的通過使用家庭云系統(tǒng)來執(zhí)行虛擬機的方法的示圖;
圖17示出根據(jù)示例性實施例的當移動設備進入家庭區(qū)域時在移動設備的屏幕上顯示的用戶界面;
圖18是用于描述根據(jù)示例性實施例的由移動設備執(zhí)行的、顯示用于接收在家庭云系統(tǒng)中選擇設備的輸入的用戶界面的方法的示圖;
圖19是根據(jù)示例性實施例的云控制服務器的框圖;和
圖20是示出根據(jù)示例性實施例的移動設備的配置的框圖。
具體實施方式
另外的方面將在下面的描述中部分地闡述,并且部分地將從描述中變得明顯,或者可以通過實施所提供的示例性實施例來了解。
根據(jù)示例性實施例的一個方面,控制多個云服務器的云控制服務器包括:通信單元,被配置為向移動設備發(fā)送關于多個云服務器中的一個或多個云服務器的信息、從所述移動設備接收由所述移動設備的用戶選擇的并且來自所述一個或多個云服務器的云服務器的識別信息;以及控制器,被配置為將所述移動設備的虛擬機從所述移動設備的虛擬機所在的、并且來自于所述多個云服務器中的云服務器遷移到所選擇的云服務器,其中移動設備的虛擬機執(zhí)行從移動設備輸出的應用。
關于一個或多個云服務器的信息可以包括一個或多個云服務器中的每一個云服務器的識別信息、一個或多個云服務器中的每一個云服務器的名稱信息、一個或多個云服務器中的每一個云服務器的位置信息、移動設備與一個或多個云服務器中的每一個云服務器之間的距離的信息、一個或多個云服務器中的每一個云服務器可提供的虛擬機的配置信息以及一個或多個云服務器中的每一個云服務器可提供的虛擬機的計算能力信息中的至少之一。
通信單元還可以被配置成從移動設備接收對關于能夠提供虛擬機的一個或多個云服務器的信息的請求,以及當接收到請求時將關于一個或多個云服務器的信息發(fā)送到移動設備。
通信單元還可以被配置成:獲得移動設備的位置信息、基于移動設備的位置信息而確定位于距移動設備的位置預設距離內(nèi)的一個或多個云服務器以及將關于一個或多個云服務器的信息發(fā)送到移動設備。
通信單元還可以被配置成基于用于執(zhí)行應用的計算能力而確定能夠提供具有計算能力的虛擬機的一個或多個云服務器,并將關于一個或多個云服務器的信息發(fā)送到移動設備。
根據(jù)另一示例性實施例的一方面,控制多個云服務器的云控制服務器包括:通信單元,被配置成獲得移動設備的用戶的移動路線信息和移動設備的位置信息;以及控制器,被配置成基于位置信息和所述移動設備的用戶的移動路線信息來確定所述移動設備要被沿著其移動的估計路線,基于所述移動設備要被沿著其移動的估計路線而確定移動設備的虛擬機將被遷移到的云服務器,并且將移動設備的虛擬機從其中正被執(zhí)行的移動設備的虛擬機的、并且來自多個云服務器中的云服務器遷移到所確定的云服務器,其中所述移動設備的虛擬機執(zhí)行從所述移動設備輸出的應用。
移動設備的估計路線可以包括移動設備在估計路線上的估計速度,并且控制器還可以被配置成確定位于距移動設備的估計路線預設距離內(nèi)的一個或多個云服務器以及基于估計的移動設備的速度來確定來自所述一個或多個云服務器中的并且所述移動設備的虛擬機要被遷移到的云服務器。
控制器還可以被配置為確定位于距移動設備的估計路線的預設距離內(nèi)的一個或多個云服務器,并且確定一個或多個云服務器中的提供具有最高計算能力的虛擬機的云服務器作為移動設備的虛擬機要遷移到的云服務器。
控制器還可以被配置為獲得關于移動設備的虛擬機的用戶的使用模式信息、基于使用模式信息而確定遷移移動設備的虛擬機的時間以及在所確定的時間遷移移動設備的虛擬機。
控制器還可以被配置用于基于使用模式信息而確定用戶在預設時段期間不使用移動設備的虛擬機的時段作為遷移移動設備的虛擬機的時間,并且在所確定的時間遷移所述移動設備的虛擬機。
根據(jù)另一示例性實施例的一方面,一種遷移虛擬機的方法,由控制多個云服務器的云控制服務器執(zhí)行,該方法包括:向移動設備發(fā)送關于多個云服務器中的一個或多個云服務器的信息;從移動設備接收由移動設備的用戶選擇的、來自于一個或多個云服務器的云服務器的識別信息;以及將移動設備的虛擬機從移動設備的虛擬機所在的、并且來自于所述多個云服務器的云服務器遷移到所選擇的云服務器,其中所述移動設備的虛擬機執(zhí)行從移動設備輸出的應用。
關于一個或多個云服務器的信息可以包括一個或多個云服務器中的每一個云服務器的識別信息、一個或多個云服務器中的每一個云服務器的名稱信息、一個或多個云服務器中的每一個云服務器的位置信息、移動設備與所述一個或多個云服務器中的每一個云服務器之間的距離的信息、所述一個或多個云服務器中的每一個云服務器可提供的虛擬機的配置信息以及所述一個或多個云服務器中的每一個云服務器可提供的虛擬機的計算能力信息中的至少之一。
信息的發(fā)送可以包括從移動設備接收對關于能夠提供虛擬機的一個或多個云服務器的信息的請求;以及當接收到所述請求時,將關于所述一個或多個云服務器的信息發(fā)送到所述移動設備。
信息的發(fā)送可以包括:獲得移動設備的位置信息;基于所述移動設備的位置信息而確定位于距所述移動設備的位置預設距離內(nèi)的所述一個或多個云服務器;以及將關于所述一個或多個云服務器的信息發(fā)送到所述移動設備。
信息的發(fā)送可以包括基于用于執(zhí)行應用的計算能力來確定能夠提供具有計算能力的虛擬機的一個或多個云服務器;以及將關于所述一個或多個云服務器的信息發(fā)送到所述移動設備。
根據(jù)另一示例性實施例的一方面,一種遷移虛擬機的方法,由控制多個云服務器的云控制服務器執(zhí)行,該方法包括:獲得移動設備的用戶的移動路線信息;獲得所述移動設備的位置信息;基于所述移動設備的位置信息和移動設備的用戶的移動路線信息而確定所述移動設備要沿著其移動的估計路線;基于所述移動設備要被移動的估計路線而確定所述移動設備的虛擬機要被遷移到的云服務器;以及將移動設備的虛擬機從正被執(zhí)行的移動設備的虛擬機所在的、并且來自于多個云服務器中的云服務器遷移到所確定的云服務器,其中移動設備的虛擬機執(zhí)行從所述移動設備輸出的應用。
移動設備的估計路線可以包括移動設備在估計路線上的估計速度,并且基于估計路線確定云服務器可以包括確定位于距離移動設備的估計路線預設距離內(nèi)的一個或多個云服務器、基于移動設備的估計速度而確定來自所述一個或多個云服務器中的、并且所述移動設備的虛擬機要被遷移到的云服務器。
基于估計路線確定云服務器可以包括:確定位于距離移動設備的估計路線預設距離內(nèi)的一個或多個云服務器;以及確定提供所述一個或多個云服務器中具有最高計算能力的虛擬機的云服務器作為移動設備的虛擬機要遷移到的云服務器。
基于估計路線確定云服務器可以包括:獲得關于移動設備的虛擬機的用戶的使用模式信息;基于使用模式信息來確定遷移所述移動設備的虛擬機的時間;以及在所確定的時間遷移移動設備的虛擬機。
確定遷移虛擬機的時間可以包括:基于使用模式信息,確定用戶在預設時段期間不使用移動設備的虛擬機的時段作為遷移移動設備的虛擬機的時間。
【發(fā)明模式】
本申請要求于2014年10月10日在韓國知識產(chǎn)權局提交的韓國專利申請?zhí)?0-2014-0136963的權益,其公開內(nèi)容通過引用整體并入本文。
在下文中,將簡要描述在說明書中使用的術語,并且將詳細描述發(fā)明性構思。
本文使用的包括描述性或技術術語的所有術語應被解釋為具有對本領域普通技術人員顯而易見的含義。然而,根據(jù)本領域普通技術人員的意圖、先例或新技術的出現(xiàn),術語可以具有不同的含義。此外,一些術語可以由申請人任意選擇,并且在這種情況下,將在本發(fā)明性構思的詳細描述中詳細描述所選術語的含義。因此,本文使用的術語必須基于術語的含義以及整個說明書中的描述來定義。
此外,當部件“包括”或“包含”元件時,除非存在與其相反的特定描述,否則該部件還可以包括其他元件,而不排除其他元件。在下面的描述中,諸如“單元”和“模塊”的術語表示用于處理至少一個功能或操作的單元,其中單元和塊可以實現(xiàn)為硬件或軟件或通過組合硬件和軟件來體現(xiàn)。
在整個說明書中,術語“虛擬化”可以指示在一個物理服務器中執(zhí)行多個操作系統(tǒng)的能力。在這種情況下,操作系統(tǒng)可以分別在彼此獨立和分離的硬件環(huán)境中操作,并且可以基于操作系統(tǒng)中的每一個來執(zhí)行應用。
在整個說明書中,術語“虛擬機”可以共同地指示在虛擬化環(huán)境中執(zhí)行的操作系統(tǒng)和應用。虛擬機可以具有其自己的計算資源,包括中央處理單元(cpu)、存儲器、硬盤、網(wǎng)絡等。例如,具有2ghzcpu、2gb隨機存取存儲器(ram)、10gb硬盤和唯一的網(wǎng)際協(xié)議(ip)地址的虛擬機可以作為軟件實現(xiàn)。
在整個說明書中,術語“虛擬機的配置信息”可以指關于形成虛擬機的硬件資源的信息。例如,虛擬機的配置信息可以包括關于cpu、圖形處理單元(gpu)、ram和硬盤的規(guī)格的信息。
在整個說明書中,其中正在執(zhí)行虛擬機的實際物理設備可以被稱為主機設備。此外,其中正在執(zhí)行虛擬機的實際物理設備的操作系統(tǒng)可以被稱為主機操作系統(tǒng)。此外,在虛擬機中執(zhí)行的操作系統(tǒng)可以被稱為客戶操作系統(tǒng)。
在整個說明書中,術語“虛擬機遷移”可以指虛擬機從一個物理服務器或設備遷移到另一個物理服務器或設備。例如,被遷移到第二物理設備的第一物理設備中的源虛擬機可以意味著在第二物理設備中生成目標虛擬機,并且源虛擬機中的數(shù)據(jù)被轉(zhuǎn)發(fā)到所生成的目標虛擬機。
例如,一個虛擬機中的數(shù)據(jù)可以包括虛擬機的硬盤中的數(shù)據(jù)、虛擬機的存儲器中的數(shù)據(jù)、虛擬機的cpu寄存器數(shù)據(jù)等。
在整個說明書中,術語“云服務器”通常可以指在多個物理機器中配置的虛擬化計算環(huán)境的基礎設施。云服務器可以動態(tài)地分配或移除硬件資源,并且可以向多個用戶提供虛擬機服務。云服務器可以包括公共云服務器和家庭云服務器。
公共云服務器可以指開放式云服務,通過該公共云服務器一般用戶可以被分配虛擬機并且可以使用虛擬機。公共云服務器可以由提供用于執(zhí)行虛擬機的資源的服務提供者運行。加入公共云服務的每個用戶可以通過使用在公共云服務器中注冊的帳戶通過公共云服務器執(zhí)行虛擬機。
家庭云服務器可以指特定個人或群組的云服務。在一些實施例中,家庭云服務器可以被稱為私有云服務器。
在整個說明書中,術語“工作負載(workload)”可以指示設備需要處理的作業(yè)。工作負載可以指整個應用或整個操作系統(tǒng),或者可以指程序的一些代碼。當工作負載增加時,也可以增加由cpu處理的代碼的數(shù)量、存儲器的使用、網(wǎng)絡的使用和存儲器的使用。
在整個說明書中,術語“卸載(offload)”可以指示移動設備的工作負載不由移動設備處理,而是以執(zhí)行移動設備的工作負載的方式由服務器處理,并且執(zhí)行工作負載的結果從服務器發(fā)送到移動設備。
在整個說明書中,術語“延遲”可以指示從移動設備發(fā)送用戶輸入到云服務器的時間到執(zhí)行根據(jù)用戶輸入而處理的工作負載的結果從云服務器返回到移動設備的時間的時段??梢曰趫?zhí)行工作負載所需的資源信息、處理工作負載的虛擬機的資源信息以及虛擬機和移動設備之間的通信速度來計算延遲。
在整個說明書中,術語“用戶的移動路線信息”可以意味著指示用戶根據(jù)時間的位置的信息。例如,用戶的移動路線信息可以是指示一天中根據(jù)時間而變化的用戶的位置的信息。
在整個說明書中,術語“關于虛擬機的用戶的使用模式”可以是指示用戶使用虛擬機的時間點或用戶使用虛擬機的位置的信息。
現(xiàn)在將參考附圖更全面地描述一個或多個實施例。然而,一個或多個實施例可以以許多不同的形式實施,并且不應被解釋為限于本文所闡述的實施例;相反,提供這些實施例以使得本公開將是徹底和完全的,并且將向本領域的普通技術人員充分傳達一個或多個實施例的概念。在下面的描述中,不詳細描述公知的功能或結構,因為它們將以不必要的細節(jié)模糊一個或多個實施例。
如本文所使用的,術語“和/或”包括一個或多個相關所列項目的任何和所有組合。諸如“至少一個”的表述在元素列表之前時修飾整個元素列表,并且不修飾列表的各個元素。
在下文中,第一至第三云服務器2000a至2000c也可以被稱為云服務器2000或公共云服務器2000。
圖1a是用于描述根據(jù)示例性實施例的由云控制服務器1000執(zhí)行的遷移移動設備100的虛擬機的方法的示圖。
參考圖1a,執(zhí)行移動設備100的工作負載的虛擬機可以從第一云服務器2000a被遷移到第二云服務器2000b。
移動設備100的工作負載可以被卸載到也被稱為云服務器2000的第一至第三云服務器2000a至2000c中的一個。
例如,需要在移動設備100中執(zhí)行的應用或操作系統(tǒng)可以被卸載到云服務器2000。云服務器2000可以執(zhí)行從移動設備100卸載的應用或操作系統(tǒng),并且向移動設備100可以發(fā)送執(zhí)行應用或操作系統(tǒng)的結果。
例如,當移動設備100請求云服務器2000執(zhí)行游戲時,云服務器2000可以生成虛擬機以執(zhí)行所請求的游戲,并且可以控制該虛擬機執(zhí)行游戲應用。當執(zhí)行游戲應用時,云服務器2000可以僅將游戲的執(zhí)行結果(例如游戲執(zhí)行圖像、聲音數(shù)據(jù)等)發(fā)送到移動設備100。移動設備100可以接收來自云服務器2000的游戲的執(zhí)行結果,并且可以輸出接收的游戲的執(zhí)行結果。此外,云服務器2000可以從移動設備100接收移動設備100的用戶輸入。云服務器2000可以執(zhí)行接收的用戶輸入,就好像用戶輸入直接輸入到云服務器2000中的虛擬機。云服務器2000中的虛擬機可以根據(jù)接收到的用戶輸入來執(zhí)行游戲應用。
此外,要在移動設備100中執(zhí)行的應用或操作系統(tǒng)的程序的一些代碼可以被卸載到云服務器2000。例如,當移動設備100執(zhí)行運動識別應用時,移動設備100可以向云服務器2000卸載由需要大量計算的代碼組成的模塊。在這種情況下,可以經(jīng)由遠程過程調(diào)用(rpc)進程來實現(xiàn)對卸載的模塊的調(diào)用。云服務器2000可以由于移動設備100的呼叫而執(zhí)行卸載的模塊,并且執(zhí)行結果可以自動返回到移動設備100。
移動設備100可以根據(jù)用戶的選擇將工作負載卸載到云服務器2000。此外,根據(jù)在移動設備100中設置的標準,移動設備100可以自動將工作負載卸載到云服務器2000。例如,在移動設備100必須執(zhí)行需要大量計算的工作負載的情況下或者必須執(zhí)行需要相對于外部數(shù)據(jù)庫的高流量的工作負載的情況下,移動設備100可以自動將工作負載卸載到云服務器2000。
需要大量計算的工作負載或需要相對于外部數(shù)據(jù)庫的高流量的工作負載可以包括光學字符讀取器應用、智能字符識別應用、運動識別應用、面部識別應用、面部表情識別應用、對象識別應用、語音識別應用、增強現(xiàn)實應用、智能數(shù)據(jù)庫、圖像搜索應用、病毒掃描應用、行為分析應用(behaviorprofilingapplication)等。
移動設備100的工作負載的卸載可以應用于網(wǎng)絡應用。例如,在發(fā)送到移動設備100的網(wǎng)頁包括需要大量計算的渲染對象的情況下,作為網(wǎng)絡服務器和移動設備100之間的代理服務器操作的云服務器2000可以渲染發(fā)送到移動設備100的網(wǎng)頁的對象(這需要大量的計算),從而可以執(zhí)行移動設備100的工作負載。
移動設備100可以將要在移動設備100中執(zhí)行的工作負載卸載到云服務器2000。例如,移動設備100可以允許移動設備100的工作負載由云服務器2000處理,可以接收來自云服務器2000的工作負載的執(zhí)行結果,從而可以向用戶提供工作負載的執(zhí)行結果。移動設備100可以從用戶接收用戶輸入,并且可以將用戶輸入發(fā)送到云服務器2000。因此,用戶可以具有好像在移動設備100中執(zhí)行應用的體驗。
云控制服務器1000可以是管理云服務器2000的服務器。云控制服務器1000可以是不具有執(zhí)行虛擬機的能力的單獨的服務器,或者可以是能夠執(zhí)行或遷移虛擬機的云服務器2000中之一。
云控制服務器1000可以監(jiān)視云服務器2000。例如,云控制服務器1000可以從云服務器2000接收關于要由云服務器2000提供的虛擬機的虛擬機信息。虛擬機信息可以包括云服務器2000可以生成的虛擬機的數(shù)量。此外,虛擬機信息可以包括虛擬機的資源規(guī)格(specification)信息、虛擬機的估計的延遲信息、估計的收費成本信息和估計的電池使用信息。
云控制服務器1000可以監(jiān)視移動設備100和移動設備100的虛擬機。例如,云控制服務器1000可以周期性地從移動設備100接收移動設備100的位置信息。此外,云控制服務器1000可以監(jiān)視移動設備100的虛擬機是否正被使用。
云控制服務器1000可以與移動設備100交互操作,從而可以從云服務器2000中確定移動設備100的虛擬機要遷移到的云服務器2000。
例如,云控制服務器1000可以基于執(zhí)行遷移目標工作負載所需的資源信息、云服務器2000可提供的每個虛擬機的資源信息以及移動設備100和每個虛擬機之間的估計的通信速度來計算延遲,并且可以確定在執(zhí)行虛擬機時具有最小延遲的云服務器2000作為虛擬機要遷移到的目標云服務器2000。
延遲可以指從移動設備100將用戶輸入發(fā)送到云服務器2000的時間到根據(jù)用戶輸入處理的工作負載的執(zhí)行結果從云服務器2000返回到移動設備1000的時間的時段。因此,當進一步增加執(zhí)行工作負載所需的資源的規(guī)格,并且云服務器2000可提供的虛擬機的性能進一步降低或者移動設備100和云服務器2000之間的距離進一步增加時,延遲可能增加。
此外,例如,云控制服務器1000可以基于執(zhí)行遷移目標工作負載所需的資源信息、關于云服務器2000可提供的虛擬機的信息、移動設備100和每個云服務器2000之間的距離以及由于使用資源而導致的估計的收費成本而將具有最低成本的云服務器2000確定為虛擬機要被遷移到的目標云服務器2000。
此外,例如,云控制服務器1000可以基于執(zhí)行遷移目標工作負載所需的資源信息、關于云服務器2000可提供的虛擬機的信息以及移動設備100與每個云服務器2000之間的距離來計算每個云服務器2000的電池的使用量。然后,基于計算的電池的使用量,云控制服務器1000可以將與最少電池消耗相對應的云服務器2000確定為虛擬機要被遷移到的目標云服務器2000。
此外,例如,云控制服務器1000可以從移動設備100接收由移動設備100的用戶選擇的云服務器2000的識別信息,并且可以將所選擇的云服務器2000確定為虛擬機要被遷移到的目標云服務器2000。
此外,例如,云控制服務器1000可以基于移動設備100的當前位置和移動設備100的用戶的移動路線信息來確定移動設備100的估計的移動路線,并且基于移動設備100的估計的移動路線,云控制服務器1000可以將與估計路線最相鄰的云服務器2000確定為移動設備100的虛擬機要被遷移到的目標云服務器2000。
此外,例如,云控制服務器1000可以考慮移動設備100的估計路線和估計的速度,并且因此可以確定最少地引起對估計路線的遷移的云服務器2000作為移動設備100的虛擬機要被遷移到的目標云服務器2000。
此外,例如,云控制服務器1000可以基于移動設備100的用戶的虛擬機使用模式信息來確定何時遷移移動設備100的虛擬機。例如,基于用戶的虛擬機使用模式信息,云控制服務器1000可以確定用戶在預定義長度的時間內(nèi)不使用虛擬機的時段,并且可以在確定的時段內(nèi)遷移用戶的虛擬機。
當確定了虛擬機要被遷移到的目標云服務器2000時,云控制服務器1000可以控制云服務器2000,以允許虛擬機遷移到確定的目標云服務器2000。
圖1b是用于描述根據(jù)示例性實施例的由云控制服務器1000執(zhí)行的基于估計的延遲來確定虛擬機要被遷移到的云服務器2000方法的示圖。
參考圖1b,云控制服務器1000可以分別計算第一、第二和第三云服務器2000a、2000b和2000c的估計的延遲,并且可以將第二云服務器2000b中的虛擬機遷移到具有最小延遲的第三云服務器2000c。
延遲可以指從移動設備發(fā)送用戶輸入到云服務器的時間到根據(jù)用戶輸入處理的工作負載的執(zhí)行結果從云服務器返回到移動設備的時間的時段。
云控制服務器1000可以確定執(zhí)行工作負載所需的計算處理能力、存儲器規(guī)格和網(wǎng)絡速度。例如,云控制服務器1000可以從移動設備100接收用于執(zhí)行工作負載的資源信息。另外,例如,云控制服務器1000可以從其中放置了執(zhí)行移動設備100的工作負載的虛擬機的云服務器2000接收由云服務器2000計算的用于執(zhí)行工作負載的資源信息。
云控制服務器1000可以基于用于執(zhí)行工作負載的資源信息、關于云服務器2000可提供的虛擬機的信息以及移動設備100與每個云服務器2000之間的距離來分別計算與云服務器2000相對應的估計的延遲。
例如,當虛擬機的計算處理速度低于工作負載所請求的計算處理速度時,云控制服務器1000可以確定估計的延遲為高。此外,當虛擬機的存儲器小于工作負載所請求的存儲器時,云控制服務器1000可以將估計的延遲確定為高。
此外,例如,當移動設備100和云服務器2000之間的距離增加時,云控制服務器1000可以將估計的延遲確定為高。
此外,云控制服務器1000可以向移動設備100發(fā)送云服務器2000的網(wǎng)絡地址,并且可以請求移動設備100測試(例如ping測試)與云服務器2000的網(wǎng)絡狀態(tài)。當從移動設備100接收到與云服務器2000的網(wǎng)絡狀態(tài)時,因為云服務器2000的分組交換時間和分組丟失率大,所以云控制服務器1000可以確定云服務器2000的估計的延遲為高。
參考圖1b,移動設備100和第一云服務器2000a之間的距離最短,但第一云服務器2000a的計算處理速度和存儲器容量小于移動設備100的工作負載所請求的最小規(guī)格,因此,云控制服務器1000可以確定第一云服務器2000a的估計的延遲高于第三云服務器2000c的估計的延遲。因此,云控制服務器1000可以將第二云服務器2000b中的虛擬機遷移到第三云服務器2000c。
圖1c是根據(jù)示例性實施例的用于描述由云控制服務器1000執(zhí)行的、基于延遲的遷移虛擬機的方法的示圖。
參考圖1c,由于移動設備100被移動,云控制服務器1000可以計算延遲,并且可以基于計算出的延遲來遷移虛擬機。
參考圖1c,移動設備100的用戶從釜山市開始并通過火車去首爾市。用戶識別報紙的字符,并且因此通過使用移動設備100中的光學字符讀取器應用來檢索信息。此外,云控制服務器1000被設置為基于延遲來遷移用戶的虛擬機。用戶將光學字符讀取器應用程序卸載到作為用戶家中的云服務器的服務器12000a(例如智能tv),并且用戶上火車。服務器12000a中的虛擬機通過與移動設備100交互操作來執(zhí)行光學字符讀取器應用。
云控制服務器1000可以監(jiān)視移動設備100的虛擬機。當火車啟動并且因此移動設備100變得遠離服務器12000a時,移動設備100和服務器12000a之間的延遲可能增加。
由于移動設備100正在朝向東大邱市移動,云控制服務器1000可以計算服務器12000a和服務器22000b的延遲。例如,云控制服務器1000可以基于移動設備100與服務器12000a和服務器22000b之間的距離以及服務器12000a和服務器22000b的計算處理速度來計算服務器12000a和服務器22000b的延遲。參考圖1c,當移動設備100接近服務器22000b時,并且服務器22000b的計算處理速度高于服務器12000a的計算處理速度時,云控制服務器1000可以將服務器12000a中的虛擬機遷移到服務器22000b。
由于移動設備100正從東大邱市朝向光明市移動,云控制服務器1000可以計算服務器22000b和服務器32000c的延遲。當移動設備100更靠近服務器32000c,并且服務器32000c的計算處理速度高于服務器22000b的計算處理速度時,云控制服務器1000可以將服務器22000b中的虛擬機遷移到服務器32000c。
由于移動設備100從光明市朝著首爾市移動,云控制服務器1000可以計算服務器32000c和服務器42000d的延遲。參考圖1c,盡管移動設備100更靠近服務器42000d,但是移動設備100和服務器42000d之間的距離以及移動設備100和服務器32000c之間的距離之差不大,服務器42000d的計算處理速度不滿足工作負載所需要的計算處理速度,并且服務器42000d的計算處理速度顯著地小于服務器32000c的計算處理速度,因此云控制服務器1000不將服務器32000c中的虛擬機遷移到服務器42000d,并且可以繼續(xù)執(zhí)行服務器32000c中的虛擬機。
圖1d是用于描述根據(jù)示例性實施例的由云控制服務器1000執(zhí)行的、基于估計的收費成本來確定虛擬機要被遷移到的云服務器2000的方法的示圖。
參考圖1d,云控制服務器1000可以分別計算與云服務器2000相對應的估計的收費成本,并且可以將第二云服務器2000b中的虛擬機遷移到其計算的估計收費成本最小的第三云服務器2000c。
云控制服務器1000可以分別存儲與云服務器2000相對應的計費策略。例如,可能已經(jīng)根據(jù)構成虛擬機的cpu的性能、cpu的數(shù)量、存儲器容量、硬件容量、操作系統(tǒng)的類型以及是否設置了gpu和視頻圖形卡而確定了相應于每個云服務器2000的要收費的成本。此外,例如,可以考慮關于與每個云服務器2000的連接的網(wǎng)絡使用費來確定要收費的成本。
云控制服務器1000可以基于用于執(zhí)行要被遷移的工作負載的資源信息和分別與云服務器2000相對應的計費策略來計算估計的收費成本。例如,云控制服務器1000可以與云服務器2000中的每一個相對應地獲得滿足由工作負載所請求的最低規(guī)格并且來自云服務器2000可提供的虛擬機的虛擬機的價格。例如,在移動設備100的工作負載所請求的最低規(guī)格是1ghz的cpu和2gb的存儲器的情況下,云控制服務器1000可以確定由具有2ghz的cpu、具有2gb的存儲器和具有20gb的硬盤構成的虛擬機的價格,作為與第三云服務器2000c對應的價格,其中虛擬機來自第三云服務器2000c提供的具有不同資源的虛擬機。
參考圖1d,云控制服務器1000可以將第二云服務器2000b中的虛擬機遷移到估計的收費成本是免費的第一云服務器2000a。
圖1e是用于描述根據(jù)示例性實施例的由云控制服務器1000執(zhí)行的、基于移動設備100的估計的電池消耗來確定虛擬機要被遷移到的云服務器2000的方法的示圖。
參考圖1e,云控制服務器1000可以分別計算相對于云服務器2000的移動設備100的估計的電池消耗,并且可以將第二云服務器2000b中的虛擬機遷移到相應于最小的計算的電池消耗的云服務器2000。
移動設備100的電池消耗可以根據(jù)與云服務器2000連接的網(wǎng)絡的類型或狀態(tài)在每個云服務器2000中變化。例如,如果移動設備100可以經(jīng)由短距離無線網(wǎng)絡(例如wi-fi)直接連接到云服務器2000,則可以減少移動設備100的電池消耗。
如果與云服務器2000的通信速度慢或云服務器2000的分組丟失率高,則分組重傳時間或分組等待時間增加,使得移動設備100的電池消耗可能增加。
移動設備100的電池消耗可以考慮用于執(zhí)行工作負載的資源信息和關于云服務器2000可提供的虛擬機的信息而確定。例如,如果云服務器2000不能提供滿足要被遷移的工作負載所需的最低規(guī)格的虛擬機,則延遲可能增加。當延遲增加時,移動設備100輸出執(zhí)行結果的時段就增加,并且當用于輸出執(zhí)行結果的時段增加時,可能增加移動設備100的電池消耗。
參考圖1e,移動設備100和第一云服務器2000a之間的距離最短,并且移動設備100能夠與第一云服務器2000a進行短距離無線通信。然而,第一云服務器2000a的計算處理速度和存儲器容量小于移動設備100的工作負載所請求的最低規(guī)格。此外,移動設備100和第三云服務器2000c之間的距離小于移動設備100和第二云服務器2000b之間的距離。因此,云控制服務器1000可以按照第三云服務器2000c、第一云服務器2000a和第二云服務器2000b的順序確定估計的電池消耗是最大的。
因此,云控制服務器1000可以將第二云服務器2000b中的虛擬機遷移到第三云服務器2000c。
圖1f是用于描述根據(jù)示例性實施例的由移動設備100執(zhí)行的、提供用于設置關于確定遷移服務器的參考的菜單的方法的示圖。
參考圖1f,移動設備100可以提供用于設置關于確定遷移服務器的參考的菜單。
關于確定遷移服務器的參考可以包括最小延遲、最小收費成本和最小電池消耗。
當接收到選擇移動設備100的屏幕上顯示的關于確定多個遷移服務器的參考之一的用戶輸入時,移動設備100可以將所選擇的參考發(fā)送到云控制服務器1000。在這種情況下,移動設備100還可以向云控制服務器1000發(fā)送在云控制服務器1000中注冊的用戶識別信息和移動設備100的識別信息。
當從移動設備100接收到關于確定遷移服務器的參考的信息時,云控制服務器1000可以相應于用戶識別信息或移動設備100的識別信息而存儲所接收的關于確定遷移服務器的參考的信息。
此外,云控制服務器1000可以基于由用戶選擇的關于確定遷移服務器的參考來遷移移動設備100的工作負載。
雖然圖1示出了提供用于從多個遷移服務器中選擇一個參考的菜單的方法,但是移動設備100可以提供用于選擇多個參考的菜單。
圖2是根據(jù)示例性實施例的由云控制服務器1000執(zhí)行的、基于用戶的選擇來遷移虛擬機的方法的流程圖。
在操作s210中,控制云服務器2000的云控制服務器1000可以向移動設備100發(fā)送關于云服務器2000中的一個或多個云服務器2000的信息。
關于一個或多個云服務器2000的信息可以包括以下中的至少一個:每個云服務器2000的識別信息、名稱信息和位置信息;關于移動設備100和每個云服務器2000之間的距離的信息、每個云服務器2000可提供的虛擬機的配置信息以及每個云服務器2000可提供的虛擬機的計算能力信息。
云控制服務器1000可以周期性地向移動設備100發(fā)送關于一個或多個云服務器2000的信息。此外,當云控制服務器1000從移動設備100接收到關于能提供虛擬機的至少一個云服務器2000的信息的請求時,云控制服務器1000可以將關于一個或多個云服務器2000的信息發(fā)送到移動設備100。
云控制服務器1000可以確定來自云服務器2000中的并且能夠執(zhí)行移動設備100的虛擬機的一個或多個云服務器2000,并且可以將關于一個或多個云服務器2000的信息發(fā)送到移動設備100。
例如,云控制服務器1000可以獲得移動設備100的位置信息,并且可以基于移動設備100的位置信息來確定位于距離移動設備100的位置預設距離內(nèi)的一個或多個云服務器2000。
此外,例如,云控制服務器1000可以基于用于執(zhí)行應用的計算能力來確定能夠提供具有用于執(zhí)行應用的計算能力的虛擬機的一個或多個云服務器2000。
當確定了一個或多個云服務器2000時,云控制服務器1000可以向移動設備100發(fā)送關于一個或多個云服務器2000的信息。
在操作s220中,云控制服務器1000可以從移動設備100接收來自一個或多個云服務器2000中的并且由用戶選擇的云服務器2000的識別信息。
在操作s230中,云控制服務器1000可以將移動設備100的虛擬機從該虛擬機被放置到其中的云服務器2000遷移到來自一個或多個云服務器2000中的被選擇的云服務器2000。
移動設備100的虛擬機可以執(zhí)行從移動設備100輸出的應用。云控制服務器1000可以請求移動設備100的虛擬機正在其中執(zhí)行的云服務器2000來遷移移動設備100的虛擬機到由用戶選擇的云服務器2000。將參考圖3詳細描述從正在執(zhí)行移動設備100的虛擬機的云服務器2000將移動設備100的虛擬機遷移到所選擇的云服務器2000的方法。
圖3是用于描述根據(jù)示例性實施例的遷移虛擬機的方法的示圖。
參考圖3,第一云服務器2000a和第二云服務器2000b可以將在第一云服務器2000a中執(zhí)行的虛擬機遷移到第二云服務器2000b。
第一云服務器2000a或第二云服務器2000b可以是主機設備?;蛘?,第一云服務器2000a或第二云服務器2000b可以是家庭云服務器或公共云服務器。
第一云服務器2000a可以包括主機硬件2000a_30、主機操作系統(tǒng)2000a_20和虛擬機管理器2000a_10。
主機硬件2000a_30可以包括第一云服務器2000a中的物理計算資源。例如,主機硬件2000a_30可以包括cpu、硬盤、ram、網(wǎng)絡資源等。
主機操作系統(tǒng)2000a_20可以指安裝在第一云服務器2000a中的操作系統(tǒng)。也就是說,主機操作系統(tǒng)2000a_20可以指能夠控制主機硬件2000a_30的程序。此外,可以在主機操作系統(tǒng)2000a_20中執(zhí)行各種應用。虛擬機管理器2000a_10也可以作為主操作系統(tǒng)2000a_20中的應用來執(zhí)行。
虛擬機管理器2000a_10可以生成虛擬機。例如,虛擬機管理器2000a_10可以從外部設備接收虛擬機生成請求。虛擬機生成請求可以包括虛擬機配置信息。
虛擬機管理器2000a_10可以管理虛擬機。例如,虛擬機管理器2000a_10可以刪除或遷移虛擬機。
虛擬機管理器2000a_10可以監(jiān)視虛擬機。例如,虛擬機管理器2000a_10可以監(jiān)視用于生成虛擬機的第一云服務器2000a的資源的剩余容量。此外,虛擬機管理器2000a_10可以監(jiān)視虛擬機和移動設備100之間的延遲。
當從外部設備接收到虛擬機生成請求時,虛擬機管理器2000a_10可以基于虛擬機生成請求而生成虛擬機。例如,虛擬機管理器2000a_10可以基于虛擬機配置信息來虛擬化在執(zhí)行虛擬機時所請求的資源。
例如,如果虛擬機配置信息指示具有2ghz的兩個cpu、具有2gb的ram和具有10gb的硬盤,則虛擬機管理器2000a_10可以生成具有2ghz的兩個cpu、2gb的ram和10gb的硬盤的虛擬機。
例如,虛擬機管理器2000a_10可以將第一云服務器2000a中的物理存儲器分配給虛擬機,以便生成虛擬機的存儲器或硬盤。然后,虛擬機管理器2000a_10可以通過將能夠?qū)崿F(xiàn)具有10gb的硬盤的文件(例如虛擬硬盤文件)加載到所分配的存儲器來實現(xiàn)硬盤。此外,虛擬機管理器2000a_10可以將所分配的存儲器的2gb決定為虛擬機的存儲器。
虛擬機管理器2000a_10可以通過復用第一云服務器2000a的cpu來生成具有2ghz的兩個cpu,并且因此可以實現(xiàn)虛擬機的cpu。
此外,虛擬機管理器2000a_10可以在虛擬機中執(zhí)行用于執(zhí)行應用的操作系統(tǒng)。此外,虛擬機管理器2000a_10可以在虛擬機中執(zhí)行的操作系統(tǒng)中執(zhí)行應用。虛擬機的操作系統(tǒng)和應用可以存儲在虛擬機的硬盤中,并且當存儲在硬盤中的操作系統(tǒng)和應用的執(zhí)行代碼被加載到虛擬機的ram時,操作系統(tǒng)及應用可以在虛擬機中被執(zhí)行。
在一些實施例中,硬件資源、操作系統(tǒng)或應用的虛擬化可以被稱為硬件資源、操作系統(tǒng)或應用的實例化(instantiation)。
第二云服務器2000b還可以包括主機硬件2000b_30、主機操作系統(tǒng)2000b_20和虛擬機管理器2000b_10,并且主機硬件2000b_30、主機操作系統(tǒng)2000b_20和虛擬機管理器2000b_10的功能可以分別對應于第一云服務器2000a的各部分。
第一云服務器2000a可以將在第一云服務器2000a中執(zhí)行的第二虛擬機遷移到第二云服務器2000b。
例如,第一云服務器2000a的虛擬機管理器2000a_10可以請求第二云服務器2000b的虛擬機管理器2000b_10將第一云服務器2000a中的第二虛擬機遷移到第二云服務器2000b。在這種情況下,遷移請求可以包括虛擬機配置信息。第一云服務器2000a中的第二虛擬機可以被稱為源虛擬機。
當接收到遷移請求時,第二云服務器2000b的虛擬機管理器2000b_10可以生成虛擬機。例如,虛擬機管理器2000b_10可以將第二云服務器2000b的存儲容量的一部分分配給用于存儲要從第一云服務器2000a接收的源虛擬機中的數(shù)據(jù)的區(qū)域。此外,第二云服務器2000b的虛擬機管理器2000b_10可以基于虛擬機配置信息而生成虛擬機的計算資源。在這種情況下,在第二云服務器2000b中生成的虛擬機可以被稱為目標虛擬機。
第一云服務器2000a的虛擬機管理器2000a_10可以將源虛擬機中的數(shù)據(jù)發(fā)送到第二云服務器2000b。
例如,第一云服務器2000a的虛擬機管理器2000a_10可以將源虛擬機中的所有數(shù)據(jù)發(fā)送到第二云服務器2000b。在這種情況下,第一云服務器2000a的虛擬機管理器2000a_10可以通過發(fā)送寫入到分配給源虛擬機的并且是來自第一云服務器2000a的存儲器中的存儲器部分的整個數(shù)據(jù)來遷移虛擬機。因此,在源虛擬機中的cpu寄存器數(shù)據(jù)和存儲在ram和硬盤中的所有數(shù)據(jù)可以被發(fā)送到第二云服務器2000b。通過這樣做,不僅源虛擬機中的應用還有源虛擬機中的操作系統(tǒng)都可以被發(fā)送到第二云服務器2000b。
盡管在圖3中未示出,第一云服務器2000a的虛擬機管理器2000a_10可以僅將源虛擬機中的應用發(fā)送到第二云服務器2000b。
此外,第一云服務器2000a的虛擬機管理器2000a_10可以將與移動設備100的網(wǎng)絡協(xié)議的狀態(tài)數(shù)據(jù)(例如tcp控制塊)發(fā)送到第二云服務器2000b。
當?shù)诙品掌?000b的虛擬機管理器2000b_10從第一云服務器2000a的虛擬機管理器2000a_10接收到源虛擬機中的數(shù)據(jù)時,第二云服務器2000b的虛擬機管理器2000b_10可以存儲從第一云服務器2000a接收的源虛擬機的ram數(shù)據(jù)到第二云服務器2000b中的目標虛擬機的ram中。此外,第二云服務器2000b的虛擬機管理器2000b_10可以存儲從第一云服務器2000a接收的源虛擬機的硬盤數(shù)據(jù)到目標虛擬機的硬盤中。此外,第二云服務器2000b的虛擬機管理器2000b_10可以將從第一云服務器2000a接收的源虛擬機的cpu寄存器值寫入目標虛擬機的cpu寄存器中。
當源虛擬機訪問第一云服務器2000a內(nèi)部或外部的存儲設備時,第一云服務器2000a的虛擬機管理器2000a_10可以向第二云服務器2000b發(fā)送關于存儲設備的訪問權限的信息。
第二云服務器2000b的虛擬機管理器2000b_10可以執(zhí)行目標虛擬機。當在第二云服務器2000b中執(zhí)行目標虛擬機時,目標虛擬機可以經(jīng)由網(wǎng)絡與移動設備100連接。當目標虛擬機與移動設備100連接時,第二云服務器2000b可以將目標虛擬機的執(zhí)行結果發(fā)送給移動設備100。
在一些實施例中,第一云服務器2000a可以停止執(zhí)行源虛擬機,并且可以將源虛擬機遷移到第二云服務器2000b。
在一些實施例中,第一云服務器2000a和第二云服務器2000b可以不停止執(zhí)行源虛擬機,并且可以將源虛擬機遷移到第二云服務器2000b。這里,在執(zhí)行源虛擬機中的應用并且因此改變源虛擬機中的數(shù)據(jù)的情況下,可以僅將改變的部分發(fā)送到第二云服務器2000b。此外,移動設備100可以從第一云服務器2000a接收源虛擬機的執(zhí)行結果,直到移動設備1000與第二云服務器2000b連接。
圖4是根據(jù)另一示例性實施例的由云控制服務器1000執(zhí)行的、基于用戶的選擇來遷移虛擬機的方法的流程圖。
在操作s410中,移動設備100可以通過使用第一云服務器2000a中的虛擬機來執(zhí)行應用。
例如,可以在第一云服務器2000a中的虛擬機中執(zhí)行實際應用和實際操作系統(tǒng),并且移動設備100可以從第一云服務器2000a接收虛擬機的執(zhí)行結果,并且可以輸出該執(zhí)行結果。
移動設備100可以將用戶輸入發(fā)送到第一云服務器2000a。當從移動設備100接收到用戶輸入時,第一云服務器2000a可以基于用戶輸入而執(zhí)行應用,并且可以將執(zhí)行結果發(fā)送到移動設備100。
因此,用戶可以像在移動設備100中執(zhí)行實際應用一樣使用移動設備100。
在操作s415中,移動設備100可以接收選擇用于遷移移動設備100的虛擬機的菜單的用戶輸入。
例如,當在執(zhí)行應用的同時接收到用戶輸入時,移動設備100可以在應用的執(zhí)行圖像上顯示用于遷移虛擬機的菜單。
由于用戶選擇用于遷移正在執(zhí)行的虛擬機的菜單,所以移動設備100可以接收選擇用于遷移移動設備100的虛擬機的菜單的用戶輸入。
此外,例如,移動設備100可以提供用于遷移虛擬機的單獨的應用。在這種情況下,移動設備100可以提供用于不僅遷移所執(zhí)行的虛擬機而且遷移存儲在云服務器2000中的虛擬機的接口。
在操作s420中,移動設備100可以向云控制服務器1000請求關于能夠執(zhí)行移動設備100的虛擬機的一個或多個云服務器2000的信息。
對關于能夠執(zhí)行移動設備100的虛擬機的一個或多個云服務器2000的信息的請求可以包括移動設備100的虛擬機的識別信息。此外,對關于能夠執(zhí)行移動設備100的虛擬機的一個或多個云服務器2000的信息的請求還可以包括移動設備100的位置信息。此外,對關于能夠執(zhí)行移動設備100的虛擬機的一個或多個云服務器2000的信息的請求可以包括在云控制服務器1000中注冊的用戶識別信息以及移動設備100的識別信息。
在操作s425中,云控制服務器1000可以確定能夠執(zhí)行移動設備100的虛擬機的一個或多個云服務器2000。
例如,云控制服務器1000可以基于移動設備100的位置信息來確定位于距移動設備100的位置預設距離內(nèi)的一個或多個云服務器2000。
此外,例如,云控制服務器1000可以基于移動設備100的虛擬機的配置信息來確定一個或多個云服務器2000。例如,云控制服務器1000可以基于從移動設備100接收的移動設備100的識別信息來獲得移動設備100的虛擬機的配置信息。云控制服務器1000可以確定能夠提供包括等于移動設備100的虛擬機的配置的虛擬機的一個或多個云服務器2000。
此外,云控制服務器1000可以通過考慮在移動設備100的虛擬機中執(zhí)行工作負載所需的虛擬機計算能力、云服務器2000可提供的每個虛擬機的計算能力以及移動設備100與每個云服務器2000之間的距離的全部來計算延遲,并且可以確定其延遲等于或小于預設閾值的一個或多個云服務器2000。
根據(jù)移動設備100的虛擬機中的工作負載的特性,云控制服務器1000可以選擇移動設備100與每個云服務器2000之間的距離或每個虛擬機的計算能力作為用于確定一個或多個云服務器2000的參考。
例如,在移動設備100的虛擬機中的工作負載導致移動設備100和云服務器2000之間的大量數(shù)據(jù)交換的情況下,云控制服務器1000可以基于移動設備100和每個云服務器2000之間的距離來確定一個或多個云服務器2000。此外,在移動設備100的虛擬機中的工作負載(例如計算敏感的工作或大數(shù)據(jù)分析)為大量的計算的情況下,云控制服務器1000可以基于每個虛擬機的計算能力來確定一個或多個云服務器2000。
在操作s430中,云控制服務器1000可以將關于在操作s425中確定的一個或多個云服務器2000的信息發(fā)送到移動設備100。
關于一個或多個云服務器2000的信息可以包括關于每個云服務器2000的識別信息、關于每個云服務器2000的名稱信息、關于移動設備100和每個云服務器2000之間的距離的信息、每個云服務器2000可提供的虛擬機的配置信息、每個云服務器2000可提供的虛擬機的計算能力信息以及每個云服務器2000的延遲。
在操作s435中,移動設備100可以顯示從云控制服務器1000接收的關于一個或多個云服務器2000的信息。
例如,基于從云控制服務器1000接收的一個或多個云服務器2000中的每一個的位置信息,移動設備100可以顯示地圖圖像,并且可以在所顯示的地圖圖像上標記一個或多個云服務器2000的位置。
此外,例如,移動設備100可以在地圖圖像上的一個或多個云服務器2000的位置上顯示一個或多個云服務器2000的名稱、關于移動設備100和一個或多個云服務器2000之間的距離的多條信息、一個或多個云服務器2000可提供的虛擬機的多條配置信息、一個或多個云服務器2000可提供的虛擬機的多條計算能力信息、延遲等。
在操作s440中,移動設備100可以接收選擇來自顯示的一個或多個云服務器2000中的第二云服務器2000b的用戶輸入。
移動設備100可以向用戶提供關于一個或多個云服務器2000的信息,并且可以從用戶接收選擇一個云服務器2000的輸入。
在操作s445中,移動設備100可以請求云控制服務器1000將移動設備100的虛擬機遷移到由用戶選擇的第二云服務器2000b。
遷移虛擬機的請求(也稱為虛擬機遷移請求)可以包括用戶選擇的第二云服務器2000b的識別信息。
在操作s450中,云控制服務器1000可以請求第一云服務器2000a將移動設備100的虛擬機遷移到第二云服務器2000b。
當云控制服務器1000從移動設備100接收到虛擬機遷移請求時,云控制服務器1000可以基于虛擬機的識別信息而獲得存儲移動設備100的虛擬機的第一云服務器2000a的識別信息。
當云控制服務器1000獲得存儲移動設備100的虛擬機的第一云服務器2000a的識別信息時,云控制服務器1000可以請求第一云服務器2000a將移動設備100的虛擬機遷移到用戶選擇的第二云服務器2000b。
發(fā)送到第一云服務器2000a的用于遷移虛擬機的請求(也稱為虛擬機遷移請求)可以包括虛擬機的識別信息和第二云服務器2000b的識別信息。
在操作s455中,第一云服務器2000a可以將正在第一云服務器2000a中執(zhí)行的移動設備100的虛擬機遷移到第二云服務器2000b。
基于虛擬機的識別信息,第一云服務器2000a可以從存儲在第一云服務器2000a中的虛擬機中識別移動設備100的遷移目標虛擬機。
當?shù)谝辉品掌?000a識別移動設備100的虛擬機時,第一云服務器2000a可以將移動設備100的虛擬機遷移到第二云服務器2000b??梢詤⒖紙D3描述將存儲在第一云服務器2000a中的虛擬機從第一云服務器2000a遷移到第二云服務器2000b的方法。
在操作s460中,移動設備100可以通過使用第二云服務器2000b中的虛擬機來執(zhí)行應用。
由于移動設備100的虛擬機從第一云服務器2000a遷移到第二云服務器2000b,因此移動設備100可以通過使用第二云服務器2000b中的虛擬機來執(zhí)行應用。
圖5是用于描述根據(jù)示例性實施例的由移動設備100執(zhí)行的用于提供用來選擇移動設備100的虛擬機要遷移到的云服務器2000的用戶界面的方法的示圖。
參考圖5,移動設備100可以顯示用于遷移虛擬機的位置的菜單。
例如,移動設備100可以從云服務器2000接收在移動設備100的虛擬機中執(zhí)行的應用的執(zhí)行圖像,并且可以在移動設備100的屏幕上顯示接收到的執(zhí)行圖像。當虛擬地執(zhí)行應用的同時移動設備100接收輸入預設鍵的用戶輸入時,移動設備100可以在所顯示的執(zhí)行圖像上顯示虛擬機遷移菜單510。
當移動設備100接收到選擇虛擬機遷移菜單510的用戶輸入時,移動設備100可以向云控制服務器1000請求關于至少一個云服務器2000的信息,在該云服務器2000中可以執(zhí)行移動設備100的虛擬機。
圖6a是用于描述根據(jù)另一示例性實施例的由移動設備100執(zhí)行的、提供用于選擇移動設備100的虛擬機要遷移到的云服務器2000的用戶界面的方法的示圖。
參考圖6a,移動設備100可以顯示地圖600,其上標記了區(qū)域610-640,其中能夠執(zhí)行虛擬機的云服務器2000位于這些區(qū)域中。
例如,移動設備100可以從云控制服務器1000接收關于可以在其中執(zhí)行移動設備100的虛擬機的一個或多個云服務器2000的信息。
關于一個或多個云服務器2000的信息可以包括關于每個云服務器2000的識別信息、關于每個云服務器2000的名稱信息、關于移動設備100和每個云服務器2000之間的距離的信息、每個云服務器2000可提供的虛擬機的配置信息、每個云服務器2000可提供的虛擬機的計算能力信息以及每個云服務器2000的延遲。
基于從云控制服務器1000接收的一個或多個云服務器2000中的每一個的位置信息,移動設備100可以顯示地圖圖像,并且可以在顯示的地圖圖像上標記一個或多個云服務器2000的位置。
此外,移動設備100可以在地圖圖像上的一個或多個云服務器2000的位置上顯示一個或多個云服務器2000的名稱、關于移動設備100與一個或多個云服務器2000之間的距離的多條信息、一個或多個云服務器2000可提供的虛擬機的多條計算能力信息以及延遲。
移動設備100可以與指示公共云服務器2000的圖像610、620和640不同地顯示指示家庭云服務器2000的圖像630。
移動設備100可以在地圖圖像上顯示指示移動設備100的當前位置的圖像660。
移動設備100可以從用戶接收選擇一個云服務器2000的用戶輸入。當移動設備100接收到選擇一個云服務器2000的用戶輸入時,移動設備100可以請求云控制服務器1000將移動設備100的虛擬機遷移到用戶選擇的一個云服務器2000。遷移虛擬機的請求可以包括用戶選擇的一個云服務器2000的識別信息。
圖6b是用于描述根據(jù)另一示例性實施例的由移動設備100執(zhí)行的、提供用于選擇移動設備100的虛擬機要遷移到的云服務器2000的用戶界面的方法的示圖。
參考圖6b,移動設備100可以顯示地圖600,其上標記了區(qū)域610-640,其中能夠執(zhí)行虛擬機的云服務器2000位于這些區(qū)域中。
基于從云控制服務器1000接收的每個云服務器2000的位置信息,移動設備100可以顯示地圖圖像,并且可以在顯示的地圖圖像上標記云服務器2000的位置。
此外,移動設備100可以在地圖圖像上的云服務器2000的位置上顯示云服務器2000的名稱、延遲、收費成本和電池消耗?;谝苿釉O備100的工作負載所請求的資源信息、每個云服務器2000可提供的虛擬機的資源信息和虛擬機與移動設備100之間的通信速度,云服務器2000的延遲、收費成本和電池消耗可以由云控制服務器1000計算。
移動設備100可以從用戶接收選擇一個云服務器2000的用戶輸入。當移動設備100接收到選擇一個云服務器2000的用戶輸入時,移動設備100可以請求云控制服務器1000將移動設備100的虛擬機遷移到用戶選擇的一個云服務器2000。遷移虛擬機的請求可以包括用戶選擇的一個云服務器2000的識別信息。
圖7是根據(jù)示例性實施例的由云控制服務器1000執(zhí)行的、基于移動設備100的用戶的移動路線信息來確定移動設備100的虛擬機要遷移到的云服務器2000的方法的流程圖。
在操作s710中,控制云服務器2000的云控制服務器1000可以獲得移動設備100的用戶的移動路線信息。
用戶的移動路線信息可以是指表示根據(jù)時間的用戶的位置的信息。例如,用戶的移動路線信息可以是指一天中根據(jù)時間而變化的用戶的位置的信息。
在操作s720中,云控制服務器1000可以獲得移動設備100的位置信息。
云控制服務器1000可以從移動設備100獲得移動設備100的位置信息。在一些實施例中,云控制服務器1000可以從云服務器2000獲得移動設備100的位置信息,其中移動設備100的虛擬機位于該云服務器2000中。
移動設備100的位置信息可以包括移動設備100的緯度和經(jīng)度以及移動設備100的地址信息。此外,移動設備100的位置信息可以包括關于移動設備100的緯度和經(jīng)度被測量的時間的信息。此外,移動設備100的位置信息可以包括每個位置處移動設備的速度信息。
在操作s730中,云控制服務器1000可以基于移動設備100的位置信息和用戶的移動路線信息而確定移動設備100移動所沿著的估計路線。
例如,基于移動設備100的位置信息,云控制服務器1000可以確定用戶的移動路線上的點,其中該點對應于移動設備100的位置。在移動路線信息指示根據(jù)時間的用戶的移動路線的情況下,云控制服務器1000可以基于測量移動設備100的位置信息時的時間來確定移動設備100的移動方向。
當確定了與移動設備100的位置相對應的點以及移動設備100的移動方向時,云控制服務器1000可以基于用戶的移動路線信息來計算移動設備100將被移動預定時段所沿著的估計路線。
在操作s740中,基于移動設備100的估計路線,云控制服務器1000可以確定移動設備100的虛擬機要遷移到的云服務器2000。
云控制服務器1000可以將位于最接近移動設備100的估計路線的云服務器2000確定為移動設備100的虛擬機要遷移到的云服務器2000。
或者,云控制服務器1000可以確定位于與移動設備100的所估計的路線相距預設距離范圍內(nèi)的一個或多個云服務器2000,并且可以基于移動設備100的估計速度和一個或多個云服務器2000的每一個可提供的虛擬機的計算能力從一個或多個云服務器2000中確定移動設備100的虛擬機要遷移到的云服務器2000。
在操作s750中,云控制服務器1000可以從正在執(zhí)行移動設備100的虛擬機的云服務器2000將移動設備100的虛擬機遷移到所確定的云服務器2000,其來自一個或多個云服務器2000。
移動設備100的虛擬機可以是執(zhí)行從移動設備100輸出的應用的虛擬機。云控制服務器1000可以請求移動設備100的虛擬機正在其中被執(zhí)行的云服務器2000將移動設備100的虛擬機遷移到確定的云服務器2000。將移動設備100的虛擬機從正在執(zhí)行移動設備100的虛擬機的云服務器2000遷移到確定的云服務器2000的方法可以參考圖3來描述。
在這種情況下,云控制服務器1000可以基于用戶相對于移動設備100的虛擬機的虛擬機使用模式信息來確定遷移移動設備100的虛擬機的時間,并且可以在所確定的時間遷移移動設備100的虛擬機。例如,云控制服務器1000可以確定用戶在預設時段期間不使用移動設備100的虛擬機的時段作為遷移移動設備100的虛擬機的時間。
圖8是根據(jù)另一示例性實施例的由云控制服務器1000執(zhí)行的、基于移動設備100的用戶的移動路線信息來確定移動設備100的虛擬機要遷移到的云服務器2000的方法的流程圖。
在操作s810中,移動設備100可以通過使用第一云服務器2000a中的虛擬機來執(zhí)行應用。
例如,可以在第一云服務器2000a中的虛擬機中執(zhí)行實際應用和實際操作系統(tǒng),并且移動設備100可以從第一云服務器2000a接收虛擬機的執(zhí)行結果以及可以輸出該執(zhí)行結果。
移動設備100可以將用戶輸入發(fā)送到第一云服務器2000a。當從移動設備100接收到用戶輸入時,第一云服務器2000a可以基于用戶輸入而執(zhí)行應用,并且可以將執(zhí)行結果發(fā)送到移動設備100。
因此,用戶可以像在移動設備100中執(zhí)行實際應用一樣使用移動設備100。
在操作s820中,云控制服務器1000可以從移動設備100獲得移動設備100的用戶的移動路線信息。
云控制服務器1000可以在預設時段內(nèi)從移動設備100周期性地接收移動設備100的位置信息,并且可以基于接收到的位置信息來生成關于用戶的平均移動路線的信息。此外,云控制服務器1000可以從移動設備100接收移動設備100的用戶的移動路線信息。此外,云控制服務器1000可以基于設置移動路線的用戶輸入來獲得移動設備100的用戶的移動路線信息。
當云控制服務器1000獲得用戶的移動路線信息時,云控制服務器1000可以將用戶的移動路線信息與用戶的識別信息相對應地存儲。
用戶的移動路線信息可以是指表示根據(jù)時間的用戶的位置的信息。例如,用戶的移動路線信息可以是指一天中根據(jù)時間而變化的用戶的位置的信息。
在操作s830中,云控制服務器1000可以向移動設備100請求移動設備100的位置信息。
云控制服務器1000可以確定是否遷移移動設備100的虛擬機。例如,云控制服務器1000可以周期性地確定是否遷移移動設備100的虛擬機。另外,當移動設備100和第一云服務器2000a之間的通信速度等于或小于閾值時,云控制服務器1000可以確定是否遷移移動設備100的虛擬機。
當云控制服務器1000確定遷移移動設備100的虛擬機時,云控制服務器1000可以向移動設備100請求移動設備100的位置信息。
在操作s840中,移動設備100可將移動設備100的位置信息發(fā)送到云控制服務器1000。
移動設備100的位置信息可以包括緯度、經(jīng)度和地址。此外,移動設備100的位置信息可以包括關于測量緯度、經(jīng)度和地址時的時間的信息。此外,移動設備100的位置信息可以包括移動設備100在每個位置的速度信息。
在操作s850中,云控制服務器1000可以基于移動設備100的用戶的移動路線信息和移動設備100的位置信息來確定移動設備100要移動所沿著的估計路線。
例如,基于移動設備100的位置信息,云控制服務器1000可以確定用戶的移動路線上的點,其中該點對應于移動設備100的位置。在移動路線信息指示根據(jù)時間的用戶的移動路線的情況下,云控制服務器1000可以基于測量移動設備100的位置信息的時間來確定移動設備100的移動方向。
當確定了與移動設備100的位置相對應的點以及移動設備100的移動方向時,云控制服務器1000可以基于用戶的移動路線信息來計算移動設備100將被移動預定時段所沿著的估計路線。
在操作s860中,基于移動設備100的估計路線,云控制服務器1000可以將第二云服務器2000b確定為移動設備100的虛擬機要遷移到的云服務器2000。
云控制服務器1000可以將位置最接近移動設備100的估計路線的云服務器2000的第二云服務器2000b確定為移動設備100的虛擬機要遷移到的云服務器2000。
或者,云控制服務器1000可以確定位于與移動設備100的所估計的路線相距預設距離范圍內(nèi)的一個或多個云服務器2000,并且可以基于移動設備100的估計速度以及由一個或多個云服務器2000中的每一個可提供的虛擬機的計算能力來從一個或多個云服務器2000中確定移動設備100的虛擬機要遷移到的第二云服務器2000b。
在用戶的移動路線信息包括關于移動路線的速度信息的情況下,云控制服務器1000可以基于移動設備100的位置信息和用戶的移動路線信息而獲得移動設備100在移動路線上的估計速度。
當云控制服務器1000獲得移動設備100的估計速度時,云控制服務器1000可以基于估計速度而確定云服務器2000作為移動設備100的虛擬機所遷移到的第二云服務器2000b,其中所確定的云服務器2000來自一個或多個云服務器2000,并且其在預設時段內(nèi)距離移動設備100的累積距離最短。也就是說,云控制服務器1000可以基于移動設備100的估計速度而確定云服務器2000作為移動設備100的虛擬機要遷移到的第二云服務器2000b,其中確定的云服務器2000可以最少地導致在所估計的路線上的遷移。
此外,例如,云控制服務器1000可以確定提供具有最高計算能力的虛擬機并且來自一個或多個云服務器2000的云服務器2000作為移動設備100的虛擬機將被遷移到的第二云服務器2000b。
在操作s870中,云控制服務器1000可以請求第一云服務器2000a將移動設備100的虛擬機遷移到第二云服務器2000b。
當云控制服務器1000確定移動設備100的虛擬機要遷移到的云服務器2000時,云控制服務器1000可以獲得第一云服務器2000a的識別信息,在第一云服務器2000a中存儲了移動設備100的虛擬機。
當云控制服務器1000獲得存儲有移動設備100的虛擬機的第一云服務器2000a的識別信息時,云控制服務器1000可以請求第一云服務器2000a遷移移動設備100的虛擬機到操作s860中所確定的第二云服務器2000b。發(fā)送到第一云服務器2000a的用于遷移虛擬機的請求可以包括虛擬機的識別信息和第二云服務器2000b的識別信息。
在操作s880中,第一云服務器2000a可以將正在第一云服務器2000a中執(zhí)行的移動設備100的虛擬機遷移到第二云服務器2000b。
基于虛擬機的識別信息,第一云服務器2000a可以從存儲在第一云服務器2000a中的虛擬機中識別移動設備100的遷移目標虛擬機。
當?shù)谝辉品掌?000a識別移動設備100的虛擬機時,第一云服務器2000a可以將移動設備100的虛擬機遷移到第二云服務器2000b。將存儲在第一云服務器2000a中的虛擬機從第一云服務器2000a遷移到第二云服務器2000b的方法可以參考圖3的描述。
在操作s890中,移動設備100可以通過使用第二云服務器2000b中的虛擬機來執(zhí)行應用。
由于移動設備100的虛擬機從第一云服務器2000a遷移到第二云服務器2000b,因此移動設備100可以通過使用第二云服務器2000b中的虛擬機來執(zhí)行應用。
圖9示出根據(jù)示例性實施例的存儲在云控制服務器1000中的用戶的移動路線信息900。
參考圖9,用戶的移動路線信息900可以包括根據(jù)時間910的移動設備100的緯度920、經(jīng)度930和速度940。
可以統(tǒng)計地計算用戶的移動路線信息900。例如,云控制服務器1000可以在一個月中從移動設備100接收移動設備100的多條位置信息,并且可以基于多條位置信息來記錄移動設備100根據(jù)時間的位置和速度?;谟涗浟艘粋€月的位置和速度,云控制服務器1000可以計算用戶的平均移動路線信息。
用戶的移動路線信息900可以與用戶的識別信息相對應地存儲在云控制服務器1000中。
圖10是用于描述根據(jù)另一示例性實施例的由云控制服務器1000執(zhí)行的、基于用戶的移動路線信息來確定移動設備100的虛擬機要遷移到的云服務器2000的方法的示圖。
參考圖10,在移動設備100的當前位置1080在服務器11010和服務器21030之間以及獲得關于移動設備100的位置1080的信息的時間是下午6:50的情況下,云控制服務器1000可以將服務器31040確定為移動設備100的虛擬機要遷移到的云服務器2000。
例如,當移動設備100和服務器11010之間的延遲增加時,云控制服務器1000可以向移動設備100請求移動設備100的位置信息。云控制服務器1000可以從移動設備100接收移動設備100的位置信息。
當云控制服務器1000接收到移動設備100的位置信息時,云控制服務器1000可以基于圖9所示的用戶的移動路線信息900來確定移動設備100要移動所沿著的估計路線。
例如,云控制服務器1000可以基于用戶的移動路線信息,從用戶的移動路線上的點中確定與移動設備100的位置相對應的位置1080。此外,在獲得移動設備100的位置信息的時間是下午6:50的情況下,云控制服務器1000可以將在用戶的移動路線上的移動設備100的移動方向確定為移動設備100從公司1020朝向家庭1060的方向。
當從用戶的移動路線上的點中確定與移動設備100的位置相對應的位置1080和移動設備100的移動方向時,云控制服務器1000可以確定移動設備100將沿著用戶的移動路線向東移動。
當確定了移動設備100要移動的估計路線時,云控制服務器1000可以確定移動設備100的虛擬機要遷移到的云服務器2000。
考慮到移動設備100的估計路線和估計速度,云控制服務器1000可以確定云服務器作為移動設備100的虛擬機要遷移到的云服務器2000,其中云服務器可以在單位時段內(nèi)導致最少遷移。
例如,云控制服務器1000可以識別出服務器21030和服務器31040位于距離移動設備100的估計路線的預設距離內(nèi)。此外,基于圖9所示的用戶的移動路線信息900,當移動設備100沿著所估計的路線移動時,云控制服務器1000可以確定從移動設備100到服務器21030的累積距離小于從移動設備100到服務器31040的累積距離。也就是說,由于移動設備100經(jīng)由服務器21030朝向服務器31040移動,并且服務器21030附近的移動設備100的移動速度比服務器31040附近的移動設備100的移動速度快,因此云控制服務器1000可以確定移動設備100更靠近服務器31040的時段比移動設備100更靠近服務器21030的時段長多于閾值。
因此,云控制服務器1000可以從服務器21030和服務器31040中確定服務器31040作為移動設備100的虛擬機要遷移到的云服務器2000,其中從移動設備100到服務器31040的累計距離在預設時段內(nèi)是最短的。
圖11是用于描述根據(jù)另一示例性實施例的由云控制服務器1000、基于用戶的移動路線信息和延遲來確定移動設備100的虛擬機要遷移到的云服務器2000的方法的示圖。
參考圖11,云控制服務器1000可以考慮移動設備100的移動目標位置和延遲來確定移動設備100的虛擬機要遷移到的云服務器2000。
例如,當云控制服務器1000接收到移動設備100的位置信息時,云控制服務器1000可以基于圖9所示的用戶的移動路線信息900來確定移動設備100要移動所沿著的估計路線。當確定了移動設備100要移動所沿著的估計路線時,云控制服務器1000可以將服務器21030或服務器31040確定為位于距移動設備100的估計路線預設距離內(nèi)的云服務器2000。
延遲可以指從當移動設備100將用戶輸入發(fā)送到云服務器2000時到當根據(jù)用戶輸入處理的工作負載的執(zhí)行結果從云服務器2000返回到移動設備100時的時段。
云控制服務器1000可以基于在移動設備100的虛擬機中執(zhí)行工作負載所需的計算能力、云服務器2000可提供的虛擬機的計算能力以及云服務器2000與移動設備100的估計路線之間的距離來計算估計路線上的估計延遲。因此,基于計算出的延遲,云控制服務器1000可以確定移動設備100的虛擬機將要遷移到的云服務器2000。
例如,在移動設備100的虛擬機中執(zhí)行工作負載所需的計算能力為200、服務器21030可提供的虛擬機的計算能力為200并且服務器21030和移動設備100的估計路線之間的距離是10的情況下,云控制服務器1000可以確定相對于服務器21030的延遲是10ms。此外,在服務器31040可提供的虛擬機的計算能力為100并且服務器31040與移動設備100的估計路線之間的距離為10的情況下,云控制服務器1000可以確定相對于服務器31040的延遲是20ms。
因此,云控制服務器1000可以不確定更接近移動設備100的估計路線的服務器31040,而可以確定其延遲較小的服務器21030作為移動設備100的虛擬機要遷移到的云服務器2000。
圖12是根據(jù)示例性實施例的由云控制服務器1000執(zhí)行的、基于移動設備100將要移動的估計路線和用戶的虛擬機使用模式來遷移移動設備100的虛擬機的方法的流程圖。
在操作s1210中,移動設備1000可以通過使用第一云服務器2000a中的虛擬機來執(zhí)行應用。在操作s1215中,云控制服務器1000可以從移動設備100獲得移動設備100的用戶的移動路線信息。在操作s1220中,云控制服務器1000可以向移動設備100請求移動設備100的位置信息。在操作s1225中,移動設備100可以將移動設備100的位置信息發(fā)送到云控制服務器1000。在操作s1230中,基于移動設備100的用戶的移動路線信息和移動設備100的位置信息,云控制服務器1000可以確定移動設備100將沿著其移動的估計路線。在操作s1235中,基于移動設備100的估計路線,云控制服務器1000可將第二云服務器2000b確定為移動設備100的虛擬機要遷移到的云服務器2000??梢詤⒖紙D8中的操作s810至s860描述操作s1210至s1235。
在操作s1240中,云控制服務器1000可以獲得關于移動設備100的虛擬機的用戶的使用模式。
關于虛擬機的用戶使用模式可以包括指示用戶使用虛擬機的時間或指示用戶使用虛擬機的位置的信息。
云控制服務器1000可以周期性地檢查用戶是否使用虛擬機??梢曰谠谔摂M機中執(zhí)行的工作負載的結果是否被發(fā)送到移動設備100或者是否從移動設備100接收到用戶輸入來確定虛擬機是否被使用。
云控制服務器1000可以基于用戶在預設時段內(nèi)的虛擬機使用記錄來統(tǒng)計地獲得用戶的虛擬機使用模式信息。此外,云控制服務器1000可以從移動設備100接收用戶的虛擬機使用模式信息。此外,云控制服務器1000可以基于相對于虛擬機設置使用模式的用戶輸入來獲得用戶的虛擬機使用模式信息。
云控制服務器1000可以與用戶的識別信息相對應地存儲用戶的虛擬機使用模式信息。
在操作s1245中,云控制服務器1000可以基于相對于移動設備100的虛擬機的用戶使用模式來確定遷移移動設備100的虛擬機的時間。
云控制服務器1000可以確定在移動設備100的估計路線上在預設時段內(nèi)用戶不使用虛擬機的時段或路線。云控制服務器1000可以確定用戶不使用虛擬機的時段或路線的開始作為遷移點。
當確定了遷移點時,云控制服務器1000可以確定移動設備100到達遷移點的時間作為遷移移動設備100的虛擬機的時間。
例如,如果用戶主要在用戶移動時使用虛擬機,則云控制服務器1000可以將家庭或工作場所確定為遷移點。如果用戶主要在用戶到達家庭或工作場所之后使用虛擬機,則云控制服務器1000可以將用戶離開家庭或工作場所的點確定為遷移點。
例如,在用戶通過公共交通工具移動時用戶使用虛擬機并且不在換乘區(qū)域中使用虛擬機的情況下,則云控制服務器1000可以將換乘區(qū)域確定為遷移點。
在操作s1250中,云控制服務器1000可以在操作s1245中確定的時間,請求第一云服務器2000a將移動設備100的虛擬機遷移到第二云服務器2000b。
云控制服務器1000可以確定移動設備100是否到達遷移點。當移動設備100到達遷移點時,云控制服務器1000可以請求第一云服務器2000a將移動設備100的虛擬機遷移到第二云服務器2000b。
在操作s1255中,第一云服務器2000a可以將正在第一云服務器2000a中執(zhí)行的移動設備100的虛擬機遷移到第二云服務器2000b。在操作s1260中,移動設備100可以通過使用第二云服務器2000b中的虛擬機來執(zhí)行應用??梢詤⒖紙D8中的操作s880至s890來描述操作s1255至s1260。
通常,由于在虛擬機的遷移期間發(fā)生的停機時間用戶經(jīng)歷臨時停止應用的執(zhí)行的狀態(tài)。然而,根據(jù)本示例性實施例,由于虛擬機在用戶不使用虛擬機的時段內(nèi)遷移,所以用戶可能不會經(jīng)歷在用戶使用移動設備100時暫時停止應用的執(zhí)行的狀態(tài)。
圖13a示出根據(jù)示例性實施例的存儲在云控制服務器1000中的用戶的虛擬機使用模式信息1310。
參考圖13a,用戶的虛擬機使用模式信息1310可以是指示用戶是否通過在特定時間或位置使用虛擬機來使用移動設備100的信息。
可以統(tǒng)計地計算用戶的虛擬機使用模式信息1310。例如,云控制服務器1000可以記錄用戶在一個月內(nèi)使用虛擬機的時間或位置?;谠谝粋€月期間記錄的時間和位置,云控制服務器1000可以獲得用戶的平均虛擬機使用模式。
用戶的虛擬機使用模式信息1310可以與用戶的識別信息相對應地存儲在云控制服務器1000中。
基于用戶的虛擬機使用模式信息1310,云控制服務器1000可以確定用戶不使用虛擬機的用戶的整個移動路線的點或路線。
圖13b是用于描述根據(jù)另一示例性實施例的由云控制服務器1000執(zhí)行的、基于移動設備100將要移動所沿著的估計路線和用戶的虛擬機使用模式來遷移移動設備100的虛擬機的方法的示圖。
參考圖13b,云控制服務器1000可以在用戶的移動路線的一點處遷移移動設備100的虛擬機,在該點用戶不使用虛擬機。
例如,當移動設備100和服務器11010之間的延遲增加時,云控制服務器1000可以向移動設備100請求移動設備100的位置信息。云控制服務器1000可以從移動設備100接收移動設備100的位置信息。
當云控制服務器1000接收到移動設備100的位置信息時,云控制服務器1000可以基于圖13a所示的用戶的移動路線信息來確定移動設備100的移動路線。
例如,云控制服務器1000可以基于用戶的移動路線信息來確定與用戶的移動路線上的移動設備100的位置相對應的點1080。此外,當獲得移動設備100的位置信息的時間是下午6:50時,云控制服務器1000可以確定移動設備100在用戶的移動路線上的移動方向,作為移動設備100從公司1020朝向家庭1060的方向。因此,云控制服務器1000可以確定移動設備100將沿著用戶的移動路線1090移動的估計路線1410,該路線1410從用戶的移動路線上的點1080開始,并且該點對應于移動設備100的位置。此外,基于移動設備100將被移動所沿著的估計路線1410,云控制服務器1000可以確定服務器31040作為移動設備100的虛擬機要遷移到的云服務器2000。
當服務器31040被確定為移動設備100的虛擬機要遷移到的云服務器2000時,云控制服務器1000可以確定遷移移動設備100的虛擬機的時間。
例如,云控制服務器1000可以在移動設備100的估計路線上的預設時段期間確定用戶不使用虛擬機的時段或路線。
例如,基于圖13a所示的用戶的虛擬機使用模式信息1310,云控制服務器1000可以確定用戶在移動設備100的估計路線上的地鐵換乘區(qū)域1420中5分鐘沒有使用移動設備100的虛擬機。因此,云控制服務器1000可以將移動設備100的估計路線上的地鐵換乘區(qū)域1420確定為遷移點。
由于已經(jīng)確定遷移點,當移動設備100到達遷移點時,云控制服務器1000可以將移動設備100的虛擬機遷移到服務器31040。
圖14a示出根據(jù)另一示例性實施例的存儲在云控制服務器1000中的關于用戶的移動路線和虛擬機使用模式的信息。
參考圖14a,用戶的移動路線和虛擬機使用模式可以分別被匹配相同的次數(shù),并且可以被存儲。
例如,從作為出勤時間的上午8:00到上午9:00,用戶的移動路線和用戶的虛擬機使用模式可以是多個。
例如,從家到工作場所,用戶可以通過地鐵或穿梭巴士移動。當用戶通過地鐵去工作場所時,用戶可以在出勤時間期間使用虛擬機,但是當用戶通過穿梭巴士去工作場所時,用戶可以不執(zhí)行工作負載,或者可以不使用虛擬機而可以直接執(zhí)行移動設備100中的工作負載。
因此,云控制服務器1000可以確定從上午8:00到上午9:00的兩條路線以及分別對應于這兩條路線的虛擬機使用模式。
圖14b是用于描述根據(jù)另一示例性實施例的由云控制服務器1000執(zhí)行的、基于移動設備100將被移動所沿著的估計路線和用戶的虛擬機使用模式來遷移移動設備100的虛擬機的方法的示圖。
參考圖14b,云控制服務器1000可以基于用戶的移動路線和虛擬機使用模式信息來確定其虛擬機要被遷移的移動設備100的位置。
例如,云控制服務器1000可以接收移動設備100的位置信息和從移動設備100獲得位置信息的時間。
基于用戶的移動路線信息,云控制服務器1000可以確定與用戶的移動路線上的移動設備100的位置相對應的點1080。
此外,云控制服務器1000可以基于移動設備100的位置和獲取位置信息的時間來確定與時間對應的多條移動路線之一作為估計路線。
例如,如圖14a所示,在獲得位置信息的時間是上午8:10am的情況下,云控制服務器1000可以將移動設備100的移動方向確定為移動設備100從公司1020朝向家庭1060的方向。此外,云控制服務器1000可以從上午8:00至上午9:00的兩個移動路線中確定地鐵路線作為移動設備100的估計路線。
當基于與所確定的移動路線對應的虛擬機使用模式來確定多個移動路線之一時,云控制服務器1000可以確定其虛擬機要被遷移的移動設備100的位置。
例如,如圖14a所示,當用戶搭乘地鐵去工作場所時,用戶在他搭乘地鐵移動時繼續(xù)使用虛擬機。因此,云控制服務器1000可以在換乘站中或在用戶到達工作場所時遷移虛擬機,因為用戶在換乘站中或在到達時不使用虛擬機。
在用戶的移動路線涉及使用穿梭巴士并且移動設備100的工作負載被卸載到云服務器2000的情況下,用戶不在穿梭巴士中使用虛擬機,因此,云控制服務器1000可以在用戶搭乘穿梭巴士移動時遷移移動設備100的虛擬機。
圖15是用于描述根據(jù)示例性實施例的當家庭云服務器2000d被注冊在云控制服務器1000中時在家庭云服務器2000d與公共云服務器2000a-2000c之一之間遷移虛擬機的方法的示圖。
參考圖15,家庭云服務器2000d可以注冊在云控制服務器1000中。
家庭云服務器2000d可以是包括作為能夠管理虛擬機的軟件或硬件邏輯門的虛擬機管理器的家庭設備。例如,家庭云服務器2000d可以是平板個人計算機(pc)或智能電話。此外,家庭云服務器2000d可以是包括智能冰箱、智能tv、機器人清潔機等的家用電子電器設備。例如,家庭云服務器2000d可以指控制在用戶的家庭中形成的家庭云系統(tǒng)的服務器。
家庭云服務器2000d中的虛擬機管理器可以包括用于執(zhí)行家庭云服務器2000d中的多個操作系統(tǒng)的虛擬化層。例如,虛擬化層可以通過使用諸如kvm或xen的管理程序技術來實現(xiàn)。此外,家庭云服務器2000d中的虛擬機管理器可以包括用于管理家庭云服務器2000d的資源或管理虛擬機的云層。例如,可以通過使用諸如openstack或cloudstack的云技術來植入云層。
云控制服務器1000可以提供用于注冊家庭云服務器2000d的用戶界面。用于注冊家庭云服務器2000d的用戶界面可以包括用于接收用戶信息的輸入和關于家庭云服務器2000d的信息的用戶界面。
關于家庭云服務器2000d的信息可以包括家庭云服務器2000d的識別信息、家庭云服務器2000d可提供的虛擬機的配置信息、家庭云服務器2000d的位置信息和家庭云服務器2000d的鏈接信息。家庭云服務器2000d的鏈接信息可以包括家庭云服務器2000d的統(tǒng)一資源定位符(url)地址。
當接收到注冊家庭云服務器2000d的用戶輸入時,云控制服務器1000可以基于存儲在云控制服務器1000中的用戶的帳戶信息存儲關于家庭云服務器2000d的信息。
當家庭云服務器2000d被注冊在云控制服務器1000中時,云控制服務器1000可以從家庭云服務器2000d接收關于在家庭云服務器2000d中正在執(zhí)行的虛擬機的信息。
此外,云控制服務器1000可以控制家庭云服務器2000d和公共云服務器2000a-2000c之一,以使得虛擬機在家庭云服務器2000d和公共云服務器2000a-2000c之一之間被遷移。
云控制服務器1000可以從移動設備100或家庭云服務器2000d接收移動設備100的位置信息,并且可以確定移動設備100是進入家庭區(qū)域還是退出家庭區(qū)域。當家庭云服務器2000d位于用戶家庭內(nèi)時,家庭區(qū)域可以指距家庭云服務器2000d的位置預設距離內(nèi)的區(qū)域。此外,家庭區(qū)域可以指用戶家庭中的家用電子電器設備或各種傳感器可以經(jīng)由短距離網(wǎng)絡識別移動設備100的范圍。
例如,云控制服務器1000可以從移動設備100接收移動設備100的位置信息,并且可以基于該位置信息來確定移動設備100是否進入了家庭區(qū)域??梢酝ㄟ^使用諸如移動設備100中的全球定位系統(tǒng)(gps)的位置信息傳感器來獲得移動設備100的位置信息。另外,例如,云控制服務器1000可以從移動設備100接收指示移動設備100進入家庭區(qū)域或退出家庭區(qū)域的信息。
或者,云控制服務器1000可以從家庭云服務器2000d接收指示移動設備100進入家庭區(qū)域或離開家庭區(qū)域的信息。家庭云服務器2000d可以通過使用家庭云系統(tǒng)中的傳感器或設備來確定移動設備100是進入家庭區(qū)域還是退出家庭區(qū)域。例如,在移動設備100連接到家庭云系統(tǒng)中的無線網(wǎng)絡設備的情況下,家庭云服務器2000d或移動設備100可以確定移動設備100進入家庭區(qū)域。在移動設備100和家庭云系統(tǒng)中的無線網(wǎng)絡設備之間的連接斷開的情況下,家庭云服務器2000d或移動設備100可以確定移動設備100退出家庭區(qū)域。例如,當從家庭云系統(tǒng)中的rfid傳感器接收到布置在移動設備100中的射頻識別(rfid)標簽的識別信息時,家庭云服務器2000d可以確定移動設備100進入家庭區(qū)域。
當移動設備100進入家庭區(qū)域時,云控制服務器1000可以從移動設備100的虛擬機正在其中執(zhí)行的公共云服務器2000a-2000c之一將移動設備100的虛擬機遷移到家庭云服務器2000d。當移動設備100退出家庭區(qū)域時,云控制服務器1000可以將移動設備100的虛擬機從其中移動設備100的虛擬機正在被執(zhí)行的家庭云服務器2000d遷移到公共云服務器2000a-2000c之一。
圖16是用于描述根據(jù)示例性實施例的由家庭云服務器2000d執(zhí)行的通過使用家庭云系統(tǒng)來執(zhí)行虛擬機的方法的示圖。
參考圖16,家庭云服務器2000d可以指控制在用戶家中形成的家庭云系統(tǒng)的服務器。例如,家庭云系統(tǒng)可以指以家用電子電器設備300、400、500和700以及用戶家中的傳感器600經(jīng)由網(wǎng)絡連接的方式形成的系統(tǒng)。家庭云系統(tǒng)可以指以基于數(shù)字生活網(wǎng)絡聯(lián)盟(dlna)的媒體設備經(jīng)由wi-fi連接的方式形成的系統(tǒng)。家用電子電器設備300、400、500和700可以經(jīng)由有線網(wǎng)絡(諸如以太網(wǎng)、電力線通信(plc)、ieee1394、homepna(家庭電話線網(wǎng)絡聯(lián)盟)、光學家庭局域網(wǎng)(opticalhomelocalareanetwork(lan))等)或者經(jīng)由無線網(wǎng)絡(諸如zigbee、超寬帶(uwb)、無線1394、無線usb等)連接。在一些實施例中,家庭云系統(tǒng)可以被稱為家庭網(wǎng)絡。
因此,家庭云服務器2000d可以通過使用經(jīng)由網(wǎng)絡連接的家用電子電器設備300、400、500和700的資源來執(zhí)行虛擬機。
例如,家庭云服務器2000d可以通過復用作為臺式計算機的家用電子電器設備300的cpu來實現(xiàn)虛擬機的cpu。此外,家庭云服務器2000d可以將虛擬機加載到包括在作為家用電子電器設備400的tv的機頂盒中的存儲器。
家庭云服務器2000d可以提供用于接收用戶輸入的輸入設備或用于向用戶提供信息的輸出設備,作為虛擬機的輸入/輸出(i/o)設備。
例如,家庭云服務器2000d可以將虛擬機的執(zhí)行結果輸出到家庭云系統(tǒng)中的tv400的屏幕。此外,家庭云服務器2000d可以經(jīng)由臺式計算機300的鍵盤接收用戶輸入。
圖17示出根據(jù)示例性實施例的當移動設備100進入家庭區(qū)域時在移動設備100的屏幕上顯示的用戶界面。
參考圖17,當用戶在移動設備100中執(zhí)行游戲應用時,公共云服務器2000a-2000c之一可以在虛擬機中執(zhí)行游戲應用,并且可以將執(zhí)行結果發(fā)送到移動設備100。移動設備100可以從公共云服務器2000a-2000c之一接收游戲執(zhí)行圖像1710,并且可以在其屏幕上顯示接收的游戲執(zhí)行圖像1710。
當移動設備100進入家庭區(qū)域時,移動設備100可以確定移動設備100已經(jīng)進入家庭區(qū)域?;蛘?,移動設備100可以從家庭云服務器2000d或云控制服務器1000接收指示移動設備100已進入家庭區(qū)域的信息。
當移動設備100確定其已進入家庭區(qū)域時,移動設備100可以在游戲執(zhí)行圖像1710上顯示用于遷移正在公共云服務器2000a-2000c之一中執(zhí)行的移動設備100的虛擬機到家庭云服務器2000d的用戶界面1720。
當移動設備100接收到選擇用于將移動設備100的虛擬機遷移到家庭云服務器2000d的用戶接口1720的用戶輸入時,移動設備100可以請求云控制服務器1000遷移正在公共云服務器2000a-2000c之一中執(zhí)行的移動設備100的虛擬機到家庭云服務器2000d。
圖18是用于描述根據(jù)示例性實施例的由移動設備100執(zhí)行的顯示用于接收在家庭云系統(tǒng)中選擇設備的輸入的用戶界面的方法的示圖。
參照圖18中的(a),移動設備100可以顯示用于接收在家庭云系統(tǒng)中選擇設備的輸入的用戶界面1810。
用于接收在家庭云系統(tǒng)中選擇設備的輸入的用戶界面1810可以包括示出在家庭云系統(tǒng)中注冊并且位于家庭云系統(tǒng)內(nèi)的i/o設備的圖像。例如,家庭云系統(tǒng)中的i/o設備可以包括臺式計算機、tv、鍵盤、音頻設備等。
當移動設備100接收到選擇在移動設備100的屏幕上顯示的i/o設備之一的用戶輸入時,移動設備100可以將所選擇的i/o設備的識別信息發(fā)送到家庭云服務器2000d。
家庭云服務器2000d可以將用戶選擇的i/o設備確定為在家庭云服務器2000d中執(zhí)行的虛擬機的i/o設備。因此,家庭云服務器2000d可以將虛擬機的執(zhí)行結果輸出到所選擇的i/o設備。此外,家庭云服務器2000d可以基于從所選擇的i/o設備接收的用戶輸入來執(zhí)行虛擬機。
例如,當家庭云服務器2000d從顯示在移動設備100的屏幕上的i/o設備中接收到選擇tv的用戶輸入時,家庭云服務器2000d可以將虛擬機的i/o設備改變?yōu)殡娨暋.斕摂M機的i/o設備改變?yōu)閠v時,家庭云服務器2000d可以將虛擬機的執(zhí)行結果輸出到tv的屏幕。
圖19是根據(jù)示例性實施例的云控制服務器1000的框圖。
如圖19所示,云控制服務器1000可以包括控制器1110(也稱為處理器1110)、通信單元1200和存儲單元1300。但是,圖19所示的元件不都是云控制服務器1000的必要元件。也就是說,云控制服務器1000可以以比圖19所示的元件更多或更少的元件來實現(xiàn)。
通信單元1200可以將關于云服務器2000中的一個或多個云服務器2000的信息發(fā)送到移動設備100,并且可以從移動設備100接收由移動設備100的用戶從一個或多個云服務器2000中選擇的云服務器2000的識別信息。
此外,通信單元1200可以從移動設備100接收對關于能夠提供虛擬機的一個或多個云服務器2000的信息的請求。當通信單元1200接收到請求時,通信單元1200可以向移動設備100發(fā)送關于一個或多個云服務器2000的信息。
通信單元1200可以獲得移動設備100的位置信息,可以基于移動設備100的位置信息來確定位于距離移動設備100的位置預設距離內(nèi)的一個或多個云服務器2000,并且可以向移動設備100發(fā)送關于一個或多個云服務器2000的信息。
通信單元1200可以基于用于執(zhí)行應用的計算能力來確定能夠提供具有計算能力的虛擬機的一個或多個云服務器2000,并且可以向移動設備100發(fā)送關于一個或多個云服務器2000的信息。
控制器1110可以將移動設備100的虛擬機從虛擬機所在的云服務器2000遷移到從一個或多個云服務器2000中選擇的云服務器2000。
控制云服務器2000的云控制服務器1000的通信單元1200可以獲得移動設備100的用戶的移動路線信息和移動設備100的位置信息。
控制器1110可以基于用戶的移動路線信息和移動設備100的位置信息來確定移動設備100要沿著其移動的估計路線;可以基于移動設備100的所估計的路線來確定移動設備100的虛擬機要遷移到的云服務器2000;并且可以從來自云服務器2000中并且移動設備100的虛擬機正在其中執(zhí)行的云服務器2000將移動設備100的虛擬機遷移到所確定的云服務器2000。
控制器1110可以確定位于距移動設備100的估計路線預設距離內(nèi)的一個或多個云服務器2000;并且可以基于移動設備100的估計速度而從一個或多個云服務器2000中確定在預設時段期間與移動設備100的累積距離最短的云服務器2000,作為移動設備100的虛擬機要遷移到的云服務器2000。
控制器1110可以確定位于距離移動設備100的估計路線預設距離內(nèi)的一個或多個云服務器2000;并且可以從一個或多個云服務器2000中確定提供最高計算能力的虛擬機的云服務器2000作為要將移動設備100的虛擬機遷移到的云服務器2000。
控制器1110可以獲得關于移動設備100的虛擬機的用戶的虛擬機使用模式信息;可以基于虛擬機使用模式信息來確定遷移移動設備100的虛擬機的時間;以及可以在所確定的時間遷移移動設備100的虛擬機。
此外,基于虛擬機使用模式信息,控制器1110可以確定用戶在預設時段期間不使用移動設備100的虛擬機的時段作為遷移移動設備100的虛擬機的時段,并且可以在所確定的時間遷移移動設備100的虛擬機。存儲單元1300可以存儲用于遷移虛擬機的信息。此外,存儲單元1300可以包括云服務器信息數(shù)據(jù)庫(db)1330和用戶db1320。
云服務器信息db1330可以是存儲關于由云控制服務器1000控制的云服務器2000的多條信息的db。例如,云服務器信息db1330可以存儲每個云服務器2000的識別信息、每個云服務器2000的鏈接信息、每個云服務器2000可提供的虛擬機的配置信息、每個云服務器2000可提供的虛擬機的計算能力信息等。此外,云服務器信息db1330可以不僅存儲關于公共云服務器2000的信息,而且還可以存儲對應于用戶的識別信息的關于家庭云服務器2000的信息。
用戶db1320可以是存儲關于在云控制服務器1000中注冊的用戶的信息的db。例如,用戶db1320可以存儲在云控制服務器1000中注冊的用戶的識別信息、與用戶的識別信息相對應地存儲的移動設備100的識別信息、關于與用戶的識別信息相對應地存儲的移動設備100的虛擬機的信息等。
圖20是示出根據(jù)示例性實施例的移動設備100的配置的框圖。
如圖20所示,移動設備100的配置可以應用于各種類型的設備,諸如移動電話、平板pc、個人數(shù)字助理(pda)、mp3播放器、信息亭(kiosk)、電子相框、導航設備、數(shù)字電視、智能手表、手表或諸如智能眼鏡、頭戴式顯示器(hmd)等的可穿戴設備。
參考圖20,移動設備100可以包括顯示單元110、控制單元170、存儲器120、gps芯片125、通信單元130、視頻處理器135、音頻處理器140、用戶輸入單元145、麥克風單元150、圖像捕獲單元155、揚聲器單元160和運動檢測單元165中至少之一。
當執(zhí)行云服務器2000中的移動設備100的虛擬機時,顯示單元110可以顯示從云服務器2000接收的工作負載的執(zhí)行圖像。此外,顯示單元110可以顯示用于請求在云服務器2000和另一云服務器2000之間遷移移動設備100的虛擬機的用戶界面。
顯示單元110可以包括顯示面板111和控制顯示面板111的控制器(未示出)。顯示面板111可以實現(xiàn)為各種顯示器,包括lcd、有機發(fā)光二極管(oled)顯示器、有源矩陣oled(amoled)顯示器、等離子顯示面板(pdp)等。顯示面板111可以形成為柔性的、透明的和/或可佩戴的。顯示面板111可以與用戶輸入單元145的觸摸面板147組合,并且因此可以被設置為觸摸屏(未示出)。例如,觸摸屏可以包括具有包含顯示面板111和觸摸面板147的堆疊結構的集成模塊。
存儲器120可以包括內(nèi)部存儲器(未示出)和外部存儲器(未示出)中的至少一個。
內(nèi)部存儲器可以包括以下至少之一:易失性存儲器(例如動態(tài)隨機存取存儲器(dram)、靜態(tài)ram(sram)、同步動態(tài)ram(sdram)等)、非易失性存儲器(例如一次性可編程只讀存儲器(otprom)、可編程rom(prom)、可擦除可編程rom(eprom)、電可擦除可編程rom(eeprom)、掩模rom、閃速rom等)、硬盤驅(qū)動器(hdd)和固態(tài)驅(qū)動器(ssd)。根據(jù)本示例性實施例,控制單元170可以將從非易失性存儲器和另一元件中的至少一個接收的命令或數(shù)據(jù)加載到易失性存儲器,并且可以處理該命令或數(shù)據(jù)。此外,控制單元170可以在非易失性存儲器中存儲從另一元件接收或由另一元件生成的數(shù)據(jù)。
外部存儲器可以包括以下至少之一:緊湊型閃存(cf)存儲器、安全數(shù)字(sd)存儲器、微安全數(shù)字(micro-sd)存儲器、迷你安全數(shù)字(mini-sd)存儲器、極限數(shù)字(xd)存儲器和記憶棒。
存儲器120可以存儲在移動設備100的操作中使用的各種程序和數(shù)據(jù)。例如,存儲器120可以臨時或半永久地存儲要在鎖定屏幕上顯示的內(nèi)容的一部分。
控制單元170可以控制顯示單元110以顯示存儲在存儲器120中的內(nèi)容的一部分。換句話說,控制單元170可以在顯示單元110上顯示存儲在存儲器120中的內(nèi)容的一部分。或者,當在顯示單元110的區(qū)域中執(zhí)行用戶的手勢時,控制單元170可以執(zhí)行與用戶的手勢相對應的控制操作。
控制單元170可以包括ram171、只讀存儲器(rom)172、cpu173、gpu174和總線175中的至少一個。ram171、rom172、cpu173和gpu174可以經(jīng)由總線175彼此連接。例如,控制器170可以僅包括cpu173或者僅包括cpu173和gpu174。
cpu173可以訪問存儲器120,并且通過使用存儲在存儲器120中的操作系統(tǒng)來執(zhí)行啟動操作。此外,cpu173通過使用存儲在存儲器120中的各種程序、多個內(nèi)容、多條數(shù)據(jù)等等來執(zhí)行各種操作。
rom172存儲用于啟動系統(tǒng)的命令集。例如,當開啟命令被輸入到移動設備100并且電源被提供給移動設備100時,cpu173可以根據(jù)rom172中存儲的命令將存儲在存儲器120中的操作系統(tǒng)復制到ram171,可以執(zhí)行該操作系統(tǒng),并且因此可以啟動系統(tǒng)。
此外,存儲器120可以存儲用于執(zhí)行本公開的各種實施例的至少一個程序。控制器170可以通過執(zhí)行存儲在存儲器120中的至少一個程序來控制第一設備100以根據(jù)本公開的各種實施例進行操作。例如,cpu173可以復制存儲在存儲器120中的至少一個程序到ram171,并且通過執(zhí)行復制到ram171的程序來執(zhí)行各種操作。當移動設備100啟動時,gpu174可以在顯示單元110的區(qū)域中顯示用戶界面屏幕。更詳細地,gpu174可以生成顯示包括各種對象(例如內(nèi)容、圖標、菜單等)的電子文檔的屏幕。gpu174根據(jù)用戶界面屏幕的布局來計算要顯示的對象的坐標值,并計算對象的形狀、大小或顏色的屬性值。然后,gpu174可以基于計算的屬性值生成具有包括對象的各種布局的用戶界面屏幕。由gpu174生成的用戶界面屏幕可以被提供給顯示單元110,并且因此可以在顯示單元110的區(qū)域中顯示。
gps芯片125可以從gps衛(wèi)星接收gps信號,并且可以計算移動設備100的當前位置。在使用導航程序或需要用戶的當前位置的情況下,控制單元170可以通過使用gps芯片125計算用戶的位置。
通信單元130可以根據(jù)各種類型的通信方法來執(zhí)行與各種外部設備的通信。通信單元130可以包括從wi-fi芯片131、藍牙芯片132、無線通信芯片133和近場通信(nfc)芯片134中選擇的至少一個??刂茊卧?70可以通過使用通信單元130執(zhí)行與各種外部設備的通信。
wi-fi芯片131和藍牙芯片132可以分別通過使用wifi和藍牙來執(zhí)行通信。如果使用wi-fi芯片131或藍牙芯片132,則wifi芯片131或藍牙芯片132可以首先發(fā)送和接收包括服務集標識符(ssid)、會話密鑰等的各種類型的連接信息,可以通過使用連接信息來建立用于通信的連接,然后可以發(fā)送和接收各種類型的信息。無線通信芯片133可以指根據(jù)各種通信標準執(zhí)行通信的芯片,諸如電氣和電子工程師協(xié)會(ieee)、zigbee、第三代(3g)、第三代合作伙伴計劃(3gpp)、長期演進(lte)等。nfc芯片134指一種芯片,該芯片通過使用來自諸如135khz、13.56mhz、433mhz、860-960mhz、2.45ghz等的各種射頻識別(rf-id)頻帶中的13.56mhz頻帶來在使用nfc中操作。
視頻處理器135可以處理通過使用通信單元130接收的內(nèi)容中所包括的視頻數(shù)據(jù),或者可以處理存儲在存儲器120中的內(nèi)容中所包括的視頻數(shù)據(jù)。視頻處理器135可以對視頻數(shù)據(jù)執(zhí)行各種圖像處理,諸如解碼、縮放、濾噪、幀速率轉(zhuǎn)換、分辨率轉(zhuǎn)換等。
音頻處理器140可以處理通過使用通信單元130接收的內(nèi)容中所包括的音頻數(shù)據(jù),或者可以處理包括在存儲器120中存儲的內(nèi)容中的音頻數(shù)據(jù)。音頻處理器140可以對音頻數(shù)據(jù)執(zhí)行各種處理,諸如解碼、放大、濾噪等。
當執(zhí)行用于多媒體內(nèi)容的再現(xiàn)程序時,控制單元170可以通過驅(qū)動視頻處理器135和音頻處理器140來再現(xiàn)多媒體內(nèi)容。揚聲器單元160可以輸出在音頻處理器140中產(chǎn)生的音頻數(shù)據(jù)。
用戶輸入單元145可以從用戶接收各種指令的輸入。用戶輸入單元145可以包括從鍵146、觸摸面板147和筆識別面板148中選擇的至少一個。
鍵146可以是各種類型的,例如機械按鈕、滾輪等,其可以形成在移動設備100的主體的外表面的前部、側部、后部等。
觸摸面板147可以感測用戶的觸摸輸入,并且可以輸出與由感測的觸摸輸入產(chǎn)生的信號相對應的觸摸事件的值。當觸摸面板147與顯示面板111組合并因此形成為觸摸屏時,觸摸屏可以通過使用各種類型的觸摸傳感器被配置為電容性觸摸屏、電阻性觸摸屏或壓電觸摸屏。電容性觸摸屏可通過感測當用戶的身體部分觸摸涂覆有介電材料的電容性觸摸屏的表面時產(chǎn)生的少量電力來計算觸摸坐標。電阻性觸摸屏可以包括兩個嵌入的電極板,并且可以通過感測當用戶觸摸電阻性觸摸屏(這使得觸摸點的上板和下板彼此接觸)時發(fā)生的電流的流動來計算觸摸坐標。在觸摸屏上發(fā)生的觸摸事件可以主要由人的手指產(chǎn)生,但是也可以由能夠改變電容的導電材料形成的物體產(chǎn)生。
筆識別面板148可以感測由用戶執(zhí)行的觸摸筆(例如觸控筆或手寫數(shù)字筆(digitizerpen))的接近輸入或觸摸輸入,并且可以輸出感測的筆接近事件或感測的筆觸摸事件。筆識別面板148可以是電磁共振(emr)型筆識別面板,并且可以根據(jù)電磁場的強度的變化(當觸摸筆接近或觸摸觸摸屏時發(fā)生)來感測觸摸輸入或接近輸入。更詳細地,筆識別面板148可以包括具有網(wǎng)格結構的電磁感應線圈傳感器(未示出)和用于順序地將具有預定頻率的交流(ac)信號提供給電磁感應線圈傳感器的每個環(huán)形線圈的電信號處理器(未示出)。當具有內(nèi)部諧振電路的筆位于筆識別面板148的環(huán)形線圈附近時,從環(huán)形線圈傳送的磁場基于相互靜電感應而在筆的諧振電路中產(chǎn)生電流。由于該電流,從形成筆的諧振電路的線圈產(chǎn)生感應場,并且筆識別面板148從能夠接收信號的環(huán)形線圈檢測感應場,于是感測通過筆的觸摸輸入或接近輸入。筆識別面板148可以被布置得占據(jù)顯示面板111下方的預設區(qū)域,例如,可以具有能夠覆蓋顯示面板111的顯示區(qū)域的尺寸。
麥克風單元150可以接收用戶的語音或其他聲音的輸入,并且可以將用戶的語音或其他聲音轉(zhuǎn)換為音頻數(shù)據(jù)??刂茊卧?70可以在呼叫相關操作中使用經(jīng)由麥克風單元150輸入的用戶語音,或者可以將用戶語音轉(zhuǎn)換為音頻數(shù)據(jù),并且可以將音頻數(shù)據(jù)存儲在存儲器120中。
圖像捕獲單元155可以根據(jù)用戶的控制而捕獲靜止圖像或運動圖像。圖像捕獲單元155可以是多個并且包括前攝像頭、后攝像頭等。
如果形成圖像捕獲單元155和麥克風單元150,則控制單元170可以根據(jù)經(jīng)由麥克風單元150輸入的用戶的語音或者由圖像捕獲單元155識別的用戶的運動來執(zhí)行控制操作。例如,移動設備100可以在運動控制模式或語音控制模式下操作。如果移動設備100在運動控制模式下操作,則控制單元170可以激活圖像捕獲單元155并且可以捕獲用戶的圖像、跟蹤用戶的運動變化、并且可以執(zhí)行與其對應的控制操作。如果移動設備100在語音控制模式(即語音識別模式)中操作,則控制單元170可以分析經(jīng)由麥克風單元150輸入的用戶語音,并且可以根據(jù)所分析的用戶語音執(zhí)行控制操作。
運動檢測單元165可以檢測移動設備100的主體的移動。移動設備100可以旋轉(zhuǎn)或可以在各個方向上傾斜。這里,運動檢測單元165可以通過使用包括磁傳感器、陀螺儀傳感器、加速度傳感器等的各種傳感器中的至少一個來檢測諸如旋轉(zhuǎn)方向、旋轉(zhuǎn)角度、傾斜角度等的運動特性。
盡管在圖20中未示出,本示例性實施例還可以包括用于連接移動設備100和usb連接器的通用串行總線(usb)端口、包括用于與各種外部端子連接的頭戴式耳機、鼠標、lan等的各種外部輸入端口、用于接收和處理dmb信號的數(shù)字多媒體廣播(dmb)芯片、各種傳感器等。
移動設備100的元件的名稱可以改變。此外,根據(jù)本示例性實施例的移動設備100可以通過包括至少一個元件來實現(xiàn),或者可以利用比上述元件更多或更少的元件來實現(xiàn)。
一個或多個示例性實施例可以實現(xiàn)為記錄介質(zhì)上的計算機可讀代碼/指令,例如要在計算機中執(zhí)行的包括計算機可讀命令的程序模塊。計算機存儲介質(zhì)可以包括可以由計算機訪問的任何可用介質(zhì),易失性和非易失性介質(zhì)以及可拆卸的和不可拆卸的介質(zhì)。此外,計算機存儲介質(zhì)可以包括計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)包括所有易失性和非易失性介質(zhì),和可拆卸和不可拆卸的介質(zhì),其在技術上實現(xiàn)為存儲包括計算機可讀命令、數(shù)據(jù)結構、程序模塊或其他數(shù)據(jù)的信息。通信介質(zhì)包括計算機可讀命令、數(shù)據(jù)結構、程序模塊、作為諸如載波信號的調(diào)制類型數(shù)據(jù)信號的其它數(shù)據(jù)或其它傳輸機制,并且包括其他信息傳輸介質(zhì)。
然而,本發(fā)明性構思可以以許多不同的形式實施,并且不應被解釋為限于本文闡述的示例性實施例;相反,提供這些示例性實施例以使得本公開將是徹底和完全的,并且將向本領域的普通技術人員充分地傳達本發(fā)明性概念。例如,配置為單數(shù)形式的元件可以以分布式方式執(zhí)行,并且分布式配置元件可以被組合然后被執(zhí)行。
盡管已經(jīng)參照附圖描述了一個或多個示例性實施例,但是本領域普通技術人員將理解,在不脫離由下面的權利要求限定的精神和范圍的情況下,可以在形式和細節(jié)上進行各種改變。