新四季網

使用虛擬機與客戶端計算設備共享移動計算設備的網際網路能力的製作方法

2023-05-09 06:46:56

使用虛擬機與客戶端計算設備共享移動計算設備的網際網路能力的製作方法
【專利摘要】示例實施例涉及一種虛擬機映像的使用以便共享移動計算設備可得到的網際網路訪問。在示例實施例中,在移動計算設備的存儲設備上維持的虛擬機映像在客戶端計算設備中被接收。然後可以在所述客戶端計算設備上執行在所述虛擬機映像中包含的客戶作業系統(OS)。然後可以通過所述客戶端計算設備與所述移動計算設備之間的接口在所述客戶OS與所述移動計算設備之間交換網絡數據。
【專利說明】使用虛擬機與客戶端計算設備共享移動計算設備的網際網路
能力
【背景技術】
[0001]隨著諸如手機、無線電子郵件設備以及平板計算機之類的行動裝置的快速發展,用戶現在能夠訪問處於任何物理位置中的具有顯著計算能力和存儲能力的設備。此外,考慮到蜂窩和其他無線網絡的幾乎全球存在,用戶還能夠使用這些行動裝置來容易地從幾乎任何物理位置訪問網際網路。
【專利附圖】

【附圖說明】
[0002]以下具體描述參考圖,其中:
圖1是用於共享移動計算設備可得到的網際網路訪問的示例客戶端計算設備的框圖;
圖2A是執行類型I管理程序並且共享耦合移動計算設備可得到的網際網路訪問的示例客戶端計算設備的框圖;
圖2B是執行類型2管理程序並且共享耦合移動計算設備可得到的網際網路訪問的示例客戶端計算設備的框圖;
圖3是用於與客戶端計算設備共享移動計算設備可得到的網際網路訪問的示例方法的流程圖;
圖4A是用於初始化包括類型I管理程序的客戶端計算設備以共享移動計算設備可得到的網際網路訪問的示例方法的流程圖;
圖4B是用於初始化包括類型2管理程序的客戶端計算設備以共享移動計算設備可得到的網際網路訪問的示例方法的流程圖;
圖5A是用於使用虛擬網絡驅動器傳送在客戶端計算設備的客戶OS中生成的分組的示例方法的流程圖;以及
圖5B是用於使用虛擬網絡驅動器接收意在供客戶端計算設備的客戶OS使用的分組的示例方法的流程圖。
【具體實施方式】
[0003]如上面所詳述的那樣,許多移動計算設備提供了顯著的存儲和計算能力,同時還將網絡訪問提供給用戶而無論他的或她的位置如何。儘管行動裝置是非常方便的,但是大部分用戶還訪問除他們的行動裝置以外的設備,諸如臺式機或筆記本計算機。遺憾的是,臺式機、筆記本以及其他類似的設備通常被預配置成運行特定作業系統(OS)和預定的一組應用。結果,用戶通常被要求手動地定製他或她使用的每臺臺式機或筆記本。此外,在一些情形下,如果例如設備處於諸如圖書館或工作場所之類的公共位置中則用戶也許不能定製計算設備。此外,取決於其位置,臺式機、筆記本或其他類似的設備可能缺少對網際網路的訪問。
[0004]為了解決這些問題,本文中所公開的示例實施例允許用戶利用行動裝置的能力在客戶端計算設備上創建網際網路連接的、可定製的計算環境,即使當客戶端設備缺少本地聯網能力時。例如,在一些實施例中,用戶可以將虛擬機映像(image)存儲在移動計算設備中包含的存儲介質上。用戶然後可以使用給定接口將移動計算設備耦合到目標客戶端計算設備,所述給定接口可能是有線的或無線的。作為響應,客戶端計算可以通過該接口接收虛擬機並且加載在虛擬機映像中包含的客戶作業系統。在啟動客戶OS之後,客戶端計算設備然後可以通過接口與移動計算設備交換網絡數據,從而利用在移動計算設備中包括的網絡接口來獲得網際網路訪問。
[0005]以這種方式,本文中所公開的示例實施例允許用戶在他的或她的移動計算設備上傳輸定製的虛擬機映像。因為用戶然後可以在實現本文中所描述的功能性的任何客戶端上訪問這個定製環境,所以用戶能夠避免帶著筆記本計算機或其他笨重的設備旅行並且還能夠最小化對定製他或她訪問的每個客戶端設備的需要。此外,示例實施例使得用戶能夠容易地使用行動裝置獲得客戶端計算設備的安全網絡訪問,從而即使當客戶端缺少本機聯網能力也在客戶端上提供網絡訪問。這樣的實施例的附加的實施例和優點對於閱讀並且理解了以下描述的本領域的技術人員而言將是顯而易見的。
[0006]現參考圖,圖1是用於共享移動計算設備可得到的網際網路訪問的示例客戶端計算設備100的框圖。客戶端計算設備100可以為例如筆記本計算機、臺式計算機、一體化系統、工作站、平板計算設備或適於在下面所描述的功能性的執行的任何其他計算設備。在圖1的實施方式中,客戶端計算設備100包括處理器110、接口 115以及機器可讀存儲介質120。
[0007]處理器110可以為一個或多個中央處理單元(CPU)、微處理器和/或適於在機器可讀存儲介質120中存儲的指令的檢索和執行的其他硬體設備。處理器110可以取出、解碼並且執行指令122、124、126、128以實現用於共享移動計算設備可得到的網際網路訪問的程序,如在下面所描述的那樣。作為替代方案或者除檢索和執行指令之外,處理器110可以包括一個或多個電子電路,所述一個或多個電子電路包括用於執行指令122、124、126、128中的一個或多個的功能性的許多電子部件。
[0008]接口 115可以包括用於與移動計算設備進行通信的許多電子部件。例如,接口 115可以為通用串行總線(USB)接口、IEEE 1394(火線)接口、外部串行高級技術附件(eSATA)接口或適於與移動計算設備進行通信的任何其他物理連接接口。可替換地,接口 115可以為無線接口,諸如無線區域網(WLAN)接口或近場通信(NFC)接口。在操作中,如在下面所詳述的那樣,接口 115可以被用來向和從移動計算設備的對應接口發送並且接收諸如管理程序、虛擬機映像以及網絡數據之類的數據。
[0009]機器可讀存儲介質120可以為包含或者存儲可執行指令的任何電子、磁、光學或其他物理存儲設備。因此,機器可讀存儲介質120可以為例如隨機存取存儲器(RAM)、電可擦除可編程只讀存儲器(EEPROM)、存儲驅動器、光碟等等。如在下面詳細地描述的那樣,機器可讀存儲介質120可以編碼有用於使用管理程序和客戶作業系統共享移動計算設備可得到的網際網路訪問的可執行指令。
[0010]管理程序加載指令122可以被配置成在客戶端計算設備100上加載管理程序(還被稱為虛擬機監控器)。例如,管理程序可以為商業可用的管理程序,諸如Xen?管理程序、微軟Hyper-V?、Parallels Desktop?、VMware vSphere?等等。可替換地,管理程序可以為定製開發的管理程序。
[0011]在一些實施例中,可以在客戶端計算設備100上在本地維持管理程序,使得指令122可以從本地存儲設備將管理程序加載到存儲器中。在其他實施例中,客戶端計算設備100可以替代地使用接口 115從移動計算設備的存儲設備讀取管理程序並且然後將該管理程序加載到存儲器中。取決於實施方式,由指令122所加載的管理程序可以為類型I管理程序或類型2管理程序。使用每種類型的管理程序的示例實施方式被分別在下面與圖2A和2B相結合地詳述。
[0012]不管特定的實施方式,一旦在計算設備100上運行,管理程序就提供許可一個或多個客戶作業系統在計算設備100上執行的環境。例如,管理程序可以提供許可每個客戶OS請求被該管理程序虛擬化的虛擬硬體資源的操作平臺。管理程序然後可以將硬體資源分配給每個請求客戶OS。因此,如在下面所詳述的那樣,執行管理程序可以託管由接收指令124所接收並且由加載指令126所加載的客戶OS。
[0013]虛擬機映像接收指令124可以通過接口 115接收在移動計算設備的存儲設備上維持的虛擬機映像。所接收到的虛擬機映像可以為規定仿真計算設備的屬性的一個文件或一組文件,所述屬性諸如處理器架構、處理器的數目、存儲空間的數量、存儲器的數量、引導屬性等。在一些實施例中,可以在一組一個或多個配置文件中規定附加的屬性。
[0014]虛擬機映像還可以包括客戶作業系統,並且在一些實施方式中,可以包括用於在OS內執行的一個或多個應用。在虛擬機映像中包括的客戶OS可以為被安裝在虛擬機中並且可由客戶端計算設備100執行的任何作業系統。例如,在一些實施例中,所接收到的虛擬機映像可以包括全功能的(full-featured)、預配置的作業系統和能夠在OS內被執行的許多應用。作為另一示例,虛擬機映像可以為虛擬應用映像(還被稱為虛擬器具),使得該映像包括具有適於在精簡(stripped-down) OS內執行的應用的精簡OS。
[0015]在接收到虛擬機映像之後,客戶OS加載指令126可以加載用於在客戶端計算機設備100上執行的在虛擬機映像中包含的客戶OS。例如,計算設備100可以將該客戶OS加載到主存儲器中並且開始OS在由指令122所加載的管理程序內的執行。管理程序然後可以與所加載的客戶OS進行通信以當它們被客戶OS請求時將資源分配給客戶OS。
[0016]在所加載的客戶OS的操作期間,客戶OS或在該客戶OS內執行的應用可以生成用於傳輸的網絡數據,或者可替換地,從外部源接收網絡數據。為了通過接口 115與移動計算設備交換這樣的網絡數據,虛擬網絡驅動器初始化指令128可以初始化虛擬網絡驅動器,所述虛擬網絡驅動器虛擬化在移動計算設備中包含的網絡硬體。一旦被初始化,虛擬網絡驅動器就可以在在計算設備100上執行的客戶OS與耦合到客戶端計算設備100的移動計算設備的網絡硬體之間交換網絡數據。以這種方式,計算設備100可以通過簡單地初始化在所接收到的虛擬映像中包含的客戶OS、加載驅動器並且隨後使用該驅動器交換網絡數據來利用移動計算設備可得到的網際網路訪問。
[0017]虛擬網絡驅動器的位置可以取決於特定實施方式而變化。例如,在一些實施例中,虛擬網絡驅動器可以在客戶作業系統內執行。在其他實施例中,虛擬網絡驅動器可以在管理程序內執行。在其他一些實施例中,虛擬網絡驅動可以在客戶端計算設備100的主機作業系統內執行(假定管理程序是類型2管理程序)。這樣的實施例中的驅動器的初始化和操作被進一步在下面與圖2A和2B相結合地描述。
[0018]無論其位置如何,一旦被加載並且初始化,虛擬網絡驅動器就使用接口 115與移動計算設備的網絡硬體交換數據。因此,當將起源於客戶OS的數據傳送到網際網路上的目的地時,驅動器可以通過接口 115將所述數據從客戶端計算設備100傳送到行動裝置。相反地,當從網際網路上的源接收意在供客戶OS使用的網絡數據時,驅動器才可以通過接口 115接收從行動裝置到客戶端計算設備100的數據。
[0019]因此,在操作中,客戶端計算設備100允許用戶迅速地加載並且執行虛擬機映像並且經由在虛擬機映像中包含的客戶OS供應對設備100的網際網路訪問。特別地,在使用接口 115將客戶端計算設備100耦合到行動裝置之後,用戶可以接收虛擬機映像,執行客戶OS,並且隨後利用移動計算設備的網絡硬體來獲得對網際網路的訪問。
[0020]圖2A是執行類型I管理程序210並且共享耦合移動計算設備230可得到的網際網路訪問的示例客戶端計算設備200的框圖。如在下面所詳述的那樣,客戶端計算設備200可以與移動計算設備230通信以便接收虛擬機映像222並且交換網絡數據224。
[0021]如所圖示的那樣,客戶端計算設備220可以包括虛假機205、客戶OS 207、類型I管理程序210、硬體215、接口 217以及虛擬網絡驅動器220。在一些實施方式中,虛擬機205、客戶OS 207、管理程序210以及虛擬網絡驅動器220可以被實現為在存儲介質上編碼並且由客戶端計算設備200的硬體215所執行的一系列指令。例如,可以通過在與圖1的處理器110類似的硬體215中包括的處理器從隨機存取存儲器(RAM)執行這些部件。
[0022]在操作中,類型I管理程序210可以首先在客戶端計算設備200上被初始化。因為管理程序210是「類型I」的管理程序,所以管理程序210可以在缺少底層主機作業系統的情況下直接地在計算設備200的硬體215上執行。例如,類型I管理程序210最初可以被從在硬體215中包括的本地存儲設備檢索並且在計算設備200的引導序列期間加載。一旦被加載,管理程序210就可以被配置成將硬體215的資源分配給與管理程序210進行通信的虛擬機,諸如虛擬機205。
[0023]為了加載虛擬機205,客戶端計算設備200可以最初經由接口 217與接口 235之間的通信來接收虛擬機映像222。例如,當用戶在接口 217與接口 235之間建立有線或無線連接時,管理程序210可以自動地檢測該連接並且將移動計算設備230作為可移動海量存儲設備來安裝。在必要時驗證用戶之後,管理程序210然後可以開始搜索移動計算設備230的存儲介質245以標識任何可用的虛擬機映像。在檢測到虛擬機映像247之後,管理程序210可以通過接口 217、235接收作為虛擬機映像222的映像。
[0024]當虛擬機映像222的轉移完成時,客戶端計算設備200然後可以開始執行在該虛擬機映像中包含的客戶OS 207,現在被作為虛擬機205加載在存儲器中。一旦運行,客戶OS 207可以從類型I管理程序210請求虛擬資源,所述類型I管理程序210響應於這樣的請求,可以分配在諸如存儲器、處理器以及儲存器之類的硬體215中可得到的物理資源。
[0025]此外,為了傳送或接收網絡數據224,客戶OS 207可以與在客戶端計算設備200上運行的虛擬網絡驅動器220進行通信。虛擬網絡驅動器220可以對移動計算設備230的網絡硬體240進行虛擬化。以這種方式,客戶OS 207可以使用網絡硬體240來傳送和接收網絡數據,好像物理網絡卡被安裝在客戶端計算設備200中。
[0026]如所圖示的那樣,虛擬網絡驅動器220可以位於許多位置中的一個中。用於初始化驅動器220的過程可以取決於其位置而變化。例如,當虛擬網絡驅動器220位於管理程序210中時,驅動器220可以在管理程序210初始化之後不久並且在初始化虛擬機205之前被初始化。在這樣的實施例中,一旦驅動器220在管理程序210內被加載驅動器220就可以被利用來使用接口 217、235傳送網絡數據224。可替換地,當虛擬網絡驅動器220位於客戶OS 207中時,一旦虛擬機205正在管理程序210內運行驅動器220就可以被初始化。
[0027]在管理程序210、客戶OS 207以及虛擬網絡驅動器220被全部初始化之後,客戶端計算設備200可以開始在客戶OS 207與移動計算設備230之間交換網絡數據224以從而利用移動計算設備230可得到的網際網路訪問。特別地,一旦被加載,虛擬網絡驅動器220就可以控制到和來自移動計算設備230的網絡數據224在接口 217、235之間的傳輸。例如,為了傳送數據,客戶OS 207可以首先將網絡數據提供給驅動器220。作為響應,驅動器220可以在接口 217與接口 235之間傳送網絡數據224,並且在接收到該網絡數據之後,移動計算設備230可以使用網絡硬體240傳送數據。相反地,在網絡硬體240中接收到數據之後,驅動器220可以將網絡數據224從接口 235讀取到接口 217並且將該數據提供給管理程序210。作為響應,管理程序210可以標識網絡數據224的預定接受者,並且當該接受者是客戶OS 207時,將數據224提供給客戶OS 207。
[0028]移動計算設備230可以為例如行動電話、平板計算設備、無線電子郵件設備、筆記本計算機或具有對能夠與計算設備200共享的網際網路訪問的任何其他可攜式計算設備。如所圖示的那樣,移動計算設備230可以包括接口 235、網絡硬體240、存儲介質245以及虛擬機映像247。
[0029]與圖1的接口 115—樣,接口 235可以包括用於與客戶端計算設備200的有線或無線通信的電子部件。如上所述,接口 235可以與客戶端計算設備200的對應接口 217通信以傳送虛擬機映像222並且以交換網絡數據224。網絡硬體240可以為例如能夠經由與蜂窩網絡或其他無線網絡的連接提供網際網路訪問的無線收發器。如上所述,網絡硬體240可以被用來代表客戶端計算設備200傳送並且接收網絡數據224。最後,存儲介質245可以被與圖1的存儲介質120類似地配置,並且因此可以為能夠存儲虛擬機映像247的任何硬體設備。
[0030]虛擬機映像247可被以許多方式最初存儲在存儲介質245中。例如,在一些實施例中,用戶可以通過將接口 235耦合到存儲映像247的另一計算設備的接口手動地將虛擬機映像247上載到存儲介質245。作為另一示例,虛擬機映像247可以被在行動裝置230上執行的應用下載。例如,用戶可以執行連接到包含虛擬機映像的資料庫的應用,並且使用該應用來選擇特定的虛擬機映像247而且將其下載到存儲介質245。無論用於存儲映像247的技術如何,映像247可以被提供給客戶端計算設備200以便執行,如上所述。
[0031]圖2B是執行類型2管理程序255並且共享耦合移動計算設備230可得到的網際網路訪問的示例客戶端計算設備250的框圖。如在下面所詳述的那樣,客戶端計算設備250可以與移動計算設備230通信以便接收虛擬機映像222和管理程序226並且以便交換網絡數據224。
[0032]和圖2A的布置對比,客戶端計算設備250包括類型2管理程序255,而不是類型I管理程序。因為管理程序255是「類型2」的管理程序,所以管理程序255在主機作業系統260內運行,並且因此通過與主機作業系統260而不是直接地與硬體215進行通信來滿足對來自客戶OS 207的資源的請求。
[0033]此外,如所圖示的那樣,移動計算設備230的存儲介質245還可以維持類型2管理程序249的映像。在這樣的實施例中,客戶端計算設備250可以基於管理程序226在接口235與接口 217之間的轉移從移動計算設備230接收類型2管理程序249。以這種方式,即使當客戶端計算設備250不包括本地管理程序時客戶端計算設備250也可以獲得並且執行類型2管理程序255。然而,應該注意的是,與類型I管理程序210 —樣,類型2管理程序255還可以被維持在客戶端計算設備250的本地存儲介質上,使得類型2管理程序255被從本地存儲介質加載到存儲器中。
[0034]與圖2A的實施方式一樣,虛擬網絡驅動器220可以被包括在客戶OS 207或管理程序255中。此外,虛擬網絡驅動器220可以替代地被包括在主機OS 260中。在這樣的實施例中,主機OS 260可以在客戶端計算設備250的引導程序過程期間被初始化,並且虛擬網絡驅動器260可以在主機OS 260被初始化時被加載和初始化。無論其位置如何,所加載的虛擬網絡驅動器220可以以上面與圖2A相結合地描述的方式進行操作。
[0035]圖3是用於與客戶端計算設備100共享移動計算設備可得到的網際網路訪問的示例方法300的流程圖。儘管方法300的執行在下面參考計算設備100被描述,但是用於方法300的執行的其他適合的設備對於本領域的技術人員而言將是顯而易見的(例如,計算設備200、250)。可以以在諸如存儲介質120之類的機器可讀存儲介質上存儲的可執行指令的形式和/或以電子電路的形式來實現方法300。
[0036]方法300在塊305中開始並且繼續塊310,其中計算設備100可以從移動計算設備的存儲介質接收虛擬機映像。例如,計算設備100可以通過接口 115從行動裝置的存儲設備接收虛擬機映像。
[0037]在塊315中,計算設備100然後可以執行在塊310中接收到的虛擬機映像中包含的客戶作業系統。一旦執行,客戶OS就可以與在計算設備100上執行的管理程序進行通信。例如,客戶OS可以將資源請求提供給管理程序,所述管理程序作為回報可以將硬體資源分配給客戶OS。
[0038]最後,在塊320中,在客戶OS已經被檢索並且加載之後,計算設備100可以通過硬體接口 115在客戶OS與行動裝置之間轉移網絡數據。例如,在計算設備100中運行的虛擬網絡驅動器可以用作客戶OS與移動計算設備的網絡硬體之間的中介物。以這種方式,計算設備100可以經由客戶OS利用移動計算設備可得到的網際網路訪問。方法300然後可以進行塊325,其中方法300可以停止。
[0039]圖4A和4B是用於初始化客戶端計算設備200、250以執行管理程序的兩個示例方法的流程圖。儘管分別在下面參考計算設備200、250的部件描述了方法400、450的執行,但是用於方法400、450的執行的其他適合的部件對於本領域的技術人員而言將是顯而易見的。可以以在機器可讀存儲介質上存儲的可執行指令的形式和/或以電子電路的形式來實現方法400、450。
[0040]圖4A是用於初始化包括類型I管理程序210的客戶端計算設備200以共享移動計算設備230可得到的網際網路訪問的示例方法400的流程圖。方法400在塊402中開始並且繼續塊404,其中用戶通過例如激活該設備的電源按鈕來引導客戶端計算設備200。
[0041]在塊406中,客戶端計算設備200開始加載類型I管理程序210。例如,客戶端計算設備200可以訪問包括管理程序210的本地存儲介質並且將管理程序210加載到存儲器中。客戶端計算設備200然後可以開始管理程序210的執行。
[0042]在塊408中,客戶端計算設備200被連接到移動計算設備230。例如,用戶可以在接口 217與接口 235之間附連USB、eSATA、火線或其他電纜。可替換地,用戶可以通過例如通過藍牙或另一無線連接來連接兩個設備來建立設備200、230之間的無線連接。
[0043]在塊410中,如果虛擬網絡驅動器220將位於管理程序210中,則客戶端計算設備200然後可以初始化虛擬網絡驅動器220。一旦在管理程序210中被初始化,虛擬網絡驅動器220就準備使用接口 217、235與網絡硬體240交換網絡數據。網絡硬體240可以進而控制數據到和從網際網路的傳輸。
[0044]接下來,在塊412中,客戶端計算設備200可以從移動計算設備230接收虛擬機映像247。例如,管理程序210可以檢測接口 217、235之間的連接,定位存儲介質245上的虛擬機映像247,並且啟動映像247在接口 217、235之間的傳輸。在塊414中,在客戶端計算設備200接收到映像247之後,客戶端計算設備200可以初始化虛擬機205並且加載客戶OS 207。
[0045]最後,在塊416中,如果虛擬網絡驅動器220將位於客戶OS 207中(即,它不位於管理程序210中),則客戶端計算設備200然後可以在客戶OS 207內初始化虛擬網絡驅動器220。一旦在客戶OS 207中被初始化,虛擬網絡驅動器220就準備使用接口 217、235與網絡硬體240交換網絡數據。方法400然後可以進行塊418,其中方法400停止。
[0046]圖4B是用於初始化包括類型2管理程序255的客戶端計算設備250以共享移動計算設備230可得到的網際網路訪問的示例方法450的流程圖。方法450在塊452中開始並且進行塊454,在塊454中用戶引導客戶端計算設備250。
[0047]在塊456中,客戶端計算設備250開始加載主機作業系統260。例如,客戶端計算設備250可以訪問包括主機OS 260的本地存儲介質並且然後可以將主機OS 260加載到存儲器中。客戶端計算設備250然後可以開始主機OS 260的執行。
[0048]在塊458中,客戶端計算設備250經由有線或無線接口而被連接到移動計算設備230。例如,該接口可以為USB電纜、eSATA電纜、火線電纜或無線連接。接下來,在塊460中,如果虛擬網絡驅動器220將位於主機OS 260中,則主機OS 260然後可以初始化虛擬網絡驅動器220。在驅動器220被初始化之後,驅動器220然後可以準備在接口 217、235之間將數據傳送到移動計算設備230並且從移動計算設備230傳送數據。
[0049]在塊462中,客戶端計算設備250確定管理程序是否將被從本地存儲設備或者從移動計算設備230加載。例如,移動計算設備230可以確定管理程序是否存在於本地存儲設備上,並且如果不是,則方法450可以進行塊464,其中計算設備250可以試圖定位在移動計算設備230的存儲介質245上維持的類型2管理程序249。當這樣的管理程序249被定位時,客戶端計算設備250然後可以通過接口 235與接口 217之間的連接來檢索類型2管理程序249。
[0050]在塊466中,計算設備250可以加載如從本地存儲介質或者從移動計算設備230檢索到的類型2管理程序255。例如,計算設備250可以將類型2管理程序255加載到存儲器中,並且開始類型2管理程序255在主機OS 260內的執行。
[0051]接下來,在塊468中,如果虛擬網絡驅動器220將位於管理程序255中,則客戶端計算設備250然後可以初始化虛擬網絡驅動器220。一旦在管理程序255中被初始化,虛擬網絡驅動器220就準備使用接口 217、235與網絡硬體240交換網絡數據。網絡硬體240可以進而控制數據到和從網際網路的傳輸。[0052]接下來,在塊470中,客戶端計算設備250可以從移動計算設備230接收虛擬機映像247。例如,管理程序255可以檢測接口 217、235之間的連接,定位存儲介質245上的虛擬機映像147,並且啟動映像247在接口 217、235之間的傳輸。在塊472中,在客戶端計算設備250接收到映像247之後,客戶端計算設備250可以初始化虛擬機205,將客戶OS 207加載到存儲器中,並且開始客戶OS 207的執行。
[0053]最後,在塊474中,如果虛擬網絡驅動器220將位於客戶OS 207中(即,它不位於主機OS 260或管理程序255中),則客戶端計算設備250然後可以在客戶OS 207內初始化虛擬網絡驅動器220。一旦在客戶OS 207內被初始化,虛擬網絡驅動器220就準備使用接口 217、235與網絡硬體240交換網絡數據。方法400然後可以進行塊476,在塊476中方法450停止。
[0054]圖5A和5B分別是用於利用虛擬網絡驅動器220來發送並且接收網絡數據的示例方法的流程圖。儘管分別在下面參考計算設備200、250的部件來描述方法500、550的執行,但是用於方法500、550的執行的其他適合的部件對於本領域的技術人員而言將是顯而易見的。可以以在機器可讀存儲介質上存儲的可執行指令的形式和/或以電子電路的形式來實現方法500、550。
[0055]圖5A是用於使用虛擬網絡驅動器220來傳送在客戶端計算設備200、250的客戶OS 207中生成的分組的示例方法500的流程圖。方法500在塊502中開始並且進行塊504,其中計算設備200、250可以接收請求以傳送起源於在管理程序210、255內執行的客戶OS207的網絡分組。例如,在客戶OS 207中執行的應用或其他進程可以尋求將分組傳送到網際網路上的指定的網際協議(IP)地址。
[0056]如上面所詳述的那樣,虛擬網絡驅動器220可以被放置在客戶OS 207、管理程序210、255或主機OS 260中。取決於驅動器220的位置,在塊506中,客戶OS 207、管理程序210、255或主機OS 260可以將網絡分組插入到由驅動器220所監控的存儲器緩衝器中。在操作中,虛擬網絡驅動器220監控存儲器緩衝器以用於分組的插入並且使用給定處理技術(例如,先進先出)從該緩衝器讀取分組。因此,在塊508中,虛擬網絡驅動器220從存儲器緩衝器讀取經插入的分組。在塊510中,在讀取了分組之後,虛擬網絡驅動器220通過接口217、235之間的連接來傳送該分組。最後,在塊512中,在接口 235中接收到分組之後,移動計算設備230使用網絡硬體240將該分組傳送到預定目的地。方法500然後進行塊514,在塊514中方法500停止。
[0057]圖5B是用於使用虛擬網絡驅動器220來接收意在供客戶端計算設備200、250的客戶OS 207使用的分組的示例方法550的流程圖。方法550在塊552中開始並且進行塊554,其中移動計算設備230的網絡硬體240從在移動計算設備230外部的源接收傳入的分組。
[0058]在塊556中,虛擬網絡驅動器220檢測傳入的分組,並且在塊558中,通過接口 235與接口 217之間的連接轉發該分組。在塊560中,在計算設備200、250中執行的管理程序210、255然後檢測傳入的分組並且標識虛擬機205以用於接收該分組。例如,如果多個虛擬機正在管理程序210、255內執行,則管理程序可以例如基於該分組的目標IP位址來標識該分組的預定接收者。在塊562中,在標識了預定接收者之後,管理程序210、255可以將分組轉發到適當的虛擬機,並且尤其是在該虛擬機內執行的客戶OS 207。最後,方法550可以進行塊564,在塊565中方法550可以停止。
[0059]根據上文,本文中所公開的示例實施例允許用戶訪問在移動計算設備上維持的定製的虛擬機映像。以這種方式,用戶可以容易地傳輸定製的環境並且從客戶端設備訪問這個環境。此外,通過虛擬化在行動裝置上可得到的網絡硬體,即使當客戶端缺少本機聯網能力時示例實施例也同樣允許客戶端上的網際網路訪問。
【權利要求】
1.一種用於共享移動計算設備可得到的網際網路訪問的客戶端計算設備,所述客戶端計算設備包括: 接口,其用於與所述移動計算設備進行通信;以及 處理器,其用來:
通過所述接口接收在所述移動計算設備的存儲設備上維持的虛擬機映像,
執行在所述虛擬機映像中包含的客戶作業系統(OS),所述客戶OS將請求提供給在所述客戶端計算設備中加載的管理程序,以及
通過所述接口在所述客戶OS與所述移動計算設備之間交換網絡數據以使得所述客戶端計算設備能夠利用所述移動計算設備可得到的所述網際網路訪問。
2.根據權利要求1所述的客戶端計算設備,其中,在所述客戶端計算設備中加載的所述管理程序在接收所述虛擬機映像之前自動地檢測通過所述客戶端計算設備與所述移動計算設備之間的所述接口的連接。
3.根據權利要求1所述的客戶端計算設備,其中,為了將所述管理程序加載在所述客戶端計算設備中,所述處理器被配置成通過所述接口從所述移動計算設備的所述存儲設備接收所述管理程序。
4.根據權利要求1所述的客戶端計算設備,其中為了將所述管理程序加載在所述客戶端計算設備中,所述處理器被配置成從所述客戶端計算設備的本地存儲設備中檢索所述管理程序。
5.根據權利要求1所 述的客戶端計算設備,其中: 所述客戶OS與虛擬化在所述移動計算設備中包含的網絡硬體的虛擬網絡驅動器交換所述網絡數據,並且 所述虛擬網絡驅動器控制所述網絡數據通過所述接口到和從所述移動計算設備的傳輸。
6.根據權利要求5所述的客戶端計算設備,其中,所述虛擬網絡驅動器被維持在所述客戶端計算設備的主機作業系統、所述管理程序或所述虛擬機映像中。
7.根據權利要求1所述的客戶端計算設備,其中,所述移動計算設備可得到的所述網際網路訪問經由與蜂窩網絡的連接來提供。
8.一種編碼有可由客戶端計算設備的處理器執行以便共享移動計算設備可得到的網際網路訪問的指令的機器可讀存儲介質,所述機器可讀存儲介質包括: 用於在所述客戶端計算設備加載管理程序的指令; 用於在所述管理程序中接收在所述移動計算設備的存儲設備上維持的虛擬機映像的指令; 用於加載在所述虛擬機映像中包含的客戶作業系統(OS)的指令,所述客戶OS與所述管理程序進行通信;以及 用於初始化虛擬網絡驅動器以虛擬化所述移動計算設備中的網絡硬體的指令,經初始化的驅動器在所述客戶OS與所述移動計算設備的所述網絡硬體之間交換網絡數據。
9.根據權利要求8所述的機器可讀存儲介質,其中,用於加載所述管理程序的所述指令從所述移動計算設備的所述存儲設備接收所述管理程序。
10.根據權利要求8所述的機器可讀存儲介質,其中,所述虛擬網絡驅動器在所述客戶端計算設備的主機作業系統、所述管理程序或所述客戶OS中執行。
11.根據權利要求8所述的機器可讀存儲介質,其中,所述虛擬網絡驅動器包括: 用於通過接口將起源於所述客戶OS的網絡數據從所述客戶端計算設備傳送到所述移動計算設備的指令,以及 用於通過所述接口從所述移動計算設備到所述客戶端計算設備接收意在供所述客戶OS使用的網絡數據的指令。
12.一種用於與客戶端計算設備共享移動計算設備可得到的網際網路訪問的方法,所述方法包括: 通過所述客戶端計算設備與所述移動計算設備之間的接口來接收在所述移動計算設備的存儲設備上維持的虛擬機映像; 執行在所述虛擬機映像中包含的客戶作業系統(OS),所述客戶OS與在所述客戶端計算設備中加載的管理程序進行通信;以及 通過所述接口在所述客戶OS與所述移動計算設備之間轉移網絡數據來利用所述移動計算設備可得到的所述網際網路訪問。
13.根據權利要求12所述的方法,進一步包括: 通過所述客戶端計算設備與所述移動計算設備之間的所述接口從所述移動計算設備的所述存儲設備加載所述管理程序。
14.根據權利要求12所 述的方法,其中利用所述網際網路訪問包括: 使用虛擬化在所述移動計算設備中包含的網絡硬體的虛擬網絡驅動器來向和從所述客戶OS傳送網絡數據。
15.根據權利要求14所述的方法,其中,所述虛擬網絡驅動器被維持在所述客戶端計算設備的主機作業系統、所述管理程序或所述虛擬機映像中。
【文檔編號】G06F15/16GK103430165SQ201180069417
【公開日】2013年12月4日 申請日期:2011年3月18日 優先權日:2011年3月18日
【發明者】S.阿薩姆, C.W.蘇 申請人:惠普發展公司,有限責任合夥企業

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀