雲端採用的應用虛擬化技術,與目前較為人熟知的硬體虛擬化(machine Virtualization,如VMware、Virtual PC等)、作業系統虛擬化(OS Virtualization, 如Virtuozzo等)不同,雲端的應用虛擬化更輕量級,更適用於案頭和應用程式等的虛擬化,為PC領域帶來更好的案頭和軟體使用的體驗。
-
實現原理
-
下面以雲端的隱藏與啟用的功能為例,簡要說明下雲端應用虛擬化的實現原理。
-
未使用雲端的PC
-
系統內容:系統中有本地安裝的軟體A和其它系統進程。
-
當系統沒有使用雲端時,用普通方法在本地安裝軟體A後,在註冊表系統中有軟體A的登錄機碼集合,在檔案系統中有軟體A檔案集合。同時,註冊表系統和檔案系統還有系統其它進程的登錄機碼和檔案集合。
件A和其它系統進程,一般都可對註冊表系統和檔案系統的任何位置訪問,不管這個登錄機碼和檔案集合是自己的還是別的進程的。所有寫的操作的結果都會留在原始的物理位置上。
-
使用了雲端的PC:被虛擬化的軟體B,處於啟用狀態
-
系統內容:系統中有被虛擬化的軟體B、本地安裝的軟體B和其它系統進程。
-
當軟體B被雲端虛擬化後,雲端將軟體B原本寫到註冊表系統的登錄機碼和寫到檔案系統的的檔案分離出來,儲存在軟體B的註冊表緩衝和檔案快取中,這些快取資料儲存在雲端專屬的緩衝裡(cloudcache)。
當在雲端中啟用軟體B時,雲端會將軟體B的註冊表緩衝投影到真實系統的註冊表中,並不佔用該物理位置空間;檔案系統也是如此,會將檔案快取投影至真實的檔案系統中,並不佔物理空間。
此時,安裝在系統中的軟體A和其它進程都可以看到軟體B的註冊項和檔案集合,並認為是真實的。他們對彼此的登錄機碼和檔案集合的互相訪問和使用都照常進行。
但對於軟體B的註冊表和檔案的投影的寫操作和讀操作,其實都直接針對其緩衝,而不是軟體A和其它進程所看到的位置。
-
使用了雲端的PC:處於隱藏狀態的軟體B
-
系統內容:系統中有處於隱藏狀態的軟體B,本地安裝的軟體A和其它系統進程。
-
S當將軟體B被隱藏後,雲端將取消軟體B原來的註冊表和檔案的投影,軟體A和其它系統進程也就看不到了。效果相當於軟體B在系統中被卸載了。