專利名稱:客戶端虛擬化架構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及虛擬化技術(shù)領(lǐng)域,更具體地說(shuō),涉及一種利用差分同步和封閉計(jì)算的客戶端虛擬化架構(gòu)。
背景技術(shù):
在過(guò)去,無(wú)盤(pán)工作站是一個(gè)沒(méi)有硬盤(pán)的電腦,操作一個(gè)遠(yuǎn)端傳來(lái)的桌面。這個(gè)桌面是將遠(yuǎn)程機(jī)房物理服務(wù)器上的操作系統(tǒng)的桌面?zhèn)鬏敵鰜?lái)而得。操作系統(tǒng)虛擬化的技術(shù),導(dǎo)致一臺(tái)服務(wù)器上運(yùn)行多個(gè)操作系統(tǒng),可以把在機(jī)房里的服務(wù)器能力充分利用,減少購(gòu)買服務(wù)器的成本。虛擬化的原理,簡(jiǎn)言之,就是使多個(gè)“客戶”操作系統(tǒng)(或稱為虛擬機(jī)Virtual Machine,以下簡(jiǎn)稱虛擬機(jī),VM,英文俗稱Guest) 運(yùn)行在虛擬機(jī)監(jiān)控器(Virtual Machine Monitor,以下簡(jiǎn)稱VMM,俗稱系統(tǒng)管理程序 Hypervisor)上,而VMM又能直接運(yùn)行在物理機(jī)上。虛擬化技術(shù)風(fēng)行后,虛擬桌面(virtual desktop infrastructure,VDI)可以用來(lái)取代無(wú)盤(pán)工作站。虛擬桌面是客戶端獲取機(jī)房?jī)?nèi)物理服務(wù)器上虛擬機(jī)的遠(yuǎn)程桌面,進(jìn)行操作。與無(wú)盤(pán)工作站不同的是,虛擬桌面是從虛擬機(jī)而來(lái),不是直接運(yùn)行在物理機(jī)上的操作系統(tǒng)。虛擬桌面客戶端的機(jī)盒很小,內(nèi)存不多,因?yàn)橹恍枰峁┩ㄓ嵑惋@示的功能,俗稱瘦終端。由于用戶有必要實(shí)現(xiàn)斷線操作,“離線VDI”(與“客戶端虛擬化”不同)應(yīng)運(yùn)而生。 這個(gè)技術(shù)是將VM M裝在客戶端,這樣虛擬機(jī)鏡像和必要的應(yīng)用可以從服務(wù)器串流過(guò)來(lái),使用戶能實(shí)現(xiàn)斷線操作。斷線操作之后若再與服務(wù)器連線,用戶與機(jī)房管理員雙方對(duì)數(shù)據(jù)、應(yīng)用、操作系統(tǒng)的改動(dòng)可以同步方式讓雙方的內(nèi)容保持一致,然后以上步驟可不斷重復(fù)。2009年左右,美國(guó)的微軟(Microsoft)、威睿(VMWare)、思杰(Citrix)相繼推出了離線VDI的首期產(chǎn)品。美國(guó)公司如Moka5也在更早借用威睿的免費(fèi)客戶端工作站產(chǎn)品,推出了離線VDI。Moka5的產(chǎn)品是基于美國(guó)斯坦福大學(xué)的研究項(xiàng)目Collective。Collective 注重利用緩存來(lái)解決鏡像傳輸?shù)难舆t問(wèn)題,但并未使用差分來(lái)減少傳輸?shù)膬?nèi)容大小。而且因?yàn)橛玫耐.a(chǎn)品不能開(kāi)源,無(wú)法借用虛擬機(jī)的同構(gòu)性(例如虛擬機(jī)全為Windows或全為 Linux)減少大批用戶的應(yīng)用/虛擬機(jī)鏡像存儲(chǔ)量。離線VDI使用分層(layering)的方法,但部署和運(yùn)行時(shí)與操作系統(tǒng)緊密結(jié)合的應(yīng)用,例如Windows的應(yīng)用經(jīng)常會(huì)影響到系統(tǒng)注冊(cè)表(Registry),一般較難分層,必須使用應(yīng)用虛擬化的預(yù)處理,并且不執(zhí)行客戶端的應(yīng)用虛擬化。另外,離線VDI的性能在許多行業(yè)領(lǐng)域中無(wú)法使用。譬如,學(xué)校或政府單位要求的安全需要做到硬件級(jí)別,當(dāng)前的離線VDI完全不能滿足。網(wǎng)吧里PC替代當(dāng)前還原卡的技術(shù)目前也無(wú)法用離線VDI解決。還有培訓(xùn)中心學(xué)生工作站需要經(jīng)常更換不同操作系統(tǒng),等等需求均不能滿足。所以離線VDI所采用的方法,并未解決深層問(wèn)題。本發(fā)明的客戶端虛擬化則能對(duì)以上所述的缺失及行業(yè)應(yīng)用提供解決方法。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種客戶端虛擬化(Client-Side Visualization,或CSV) 的方法,稱之為利用差分同步和封閉計(jì)算客戶端虛擬化。更確切地說(shuō)是涉及在差分同步的基礎(chǔ)上,如何解決客戶端虛擬化的深層問(wèn)題。具體的說(shuō),本發(fā)明的解決方法具有下述功能, 并可以用客戶端/服務(wù)器的技術(shù)實(shí)現(xiàn)功能1,差分同步;功能2,緩存加速;功能3,封閉性計(jì)算;功能4,如何將用戶個(gè)人的系統(tǒng)數(shù)據(jù)經(jīng)由重定向置于可差分同步的狀態(tài);功能5,如何將應(yīng)用與操作系統(tǒng)分離,提煉出可差分同步的部分;功能6,暫住的客戶操作系統(tǒng);功能7,推送操作系統(tǒng)(Push OS);功能8,虛擬機(jī)訂閱管理控制與網(wǎng)路資源控制;功能9,客戶端封閉性計(jì)算服務(wù),以及4個(gè)安全鏈路。為了實(shí)現(xiàn)上述功能,本發(fā)明采用了客戶端虛擬化的方法,其中包括客戶端計(jì)算機(jī)是一臺(tái)或多臺(tái)計(jì)算機(jī),可以是臺(tái)式機(jī),筆記本,上網(wǎng)本,甚至是一個(gè)移動(dòng)存儲(chǔ)器(例如USB存儲(chǔ)盤(pán)),通過(guò)網(wǎng)絡(luò)與機(jī)房服務(wù)器通訊。機(jī)房的服務(wù)器包含一臺(tái)或多臺(tái)服務(wù)器型的計(jì)算機(jī),俗稱主機(jī)。若是多臺(tái),則以集群方式運(yùn)行。在集群中的任一服務(wù)器主機(jī)上,安裝了服務(wù)器虛擬化軟件VMM,其上可以運(yùn)行一個(gè)或多個(gè)虛擬機(jī)??蛻舳说挠?jì)算機(jī)也運(yùn)行了 VMM,這個(gè)VMM可以預(yù)先安裝,或在啟動(dòng)時(shí),從服務(wù)器傳輸過(guò)來(lái)。無(wú)論何種方式,客戶端的操作系統(tǒng),在初始階段,必須從服務(wù)器傳輸過(guò)來(lái),然后運(yùn)行。實(shí)際上,傳到客戶端的操作系統(tǒng),也包含了在其上運(yùn)行的一或多個(gè)應(yīng)用,可以用應(yīng)用虛擬化的方式,與操作系統(tǒng)打成一個(gè)包來(lái)傳輸,這個(gè)包稱為黃金鏡像。其后,如果系統(tǒng)開(kāi)始運(yùn)行,用戶應(yīng)用數(shù)據(jù)、系統(tǒng)數(shù)據(jù)、新增的或升級(jí)的應(yīng)用軟件、甚至替換VM的操作系統(tǒng),都會(huì)在客戶端和服務(wù)器之間,進(jìn)行雙向差分同步。用戶可以離線操作,但所有的改動(dòng),在上線之后,又會(huì)再度同步。如果客戶端只是一個(gè)移動(dòng)存儲(chǔ)器,其上仍然有VMM,可以在公務(wù)環(huán)境中把數(shù)據(jù)、應(yīng)用、黃金鏡像做完下載,然后插入一臺(tái)第三方計(jì)算機(jī)(例如家庭計(jì)算機(jī)),則該計(jì)算機(jī)可以載入整個(gè)運(yùn)行環(huán)境,然后實(shí)行離線工作。根據(jù)本發(fā)明的一實(shí)施例,提出一種客戶端虛擬化架構(gòu),實(shí)現(xiàn)利用差分同步和封閉計(jì)算的客戶端虛擬化方法,其中,該客戶端虛擬化架構(gòu)包括客戶端系統(tǒng)、服務(wù)器端系統(tǒng)、虛擬桌面服務(wù)器、虛擬機(jī)監(jiān)控器服務(wù)器、客戶端虛擬化鏡像同步協(xié)議、虛擬桌面/虛擬機(jī)監(jiān)控器遠(yuǎn)程桌面?zhèn)鬏攨f(xié)議??蛻舳讼到y(tǒng)包括數(shù)據(jù)、應(yīng)用程序、虛擬機(jī)、虛擬機(jī)監(jiān)控器、客戶端硬件和客戶端管理軟件;服務(wù)器端系統(tǒng)包括服務(wù)端管理軟件、服務(wù)器虛擬化組件、服務(wù)器硬件和服務(wù)器存儲(chǔ)設(shè)備,服務(wù)器存儲(chǔ)設(shè)備包括服務(wù)器本地磁盤(pán)或服務(wù)器連接的網(wǎng)絡(luò)磁盤(pán),服務(wù)器存儲(chǔ)設(shè)備保存用戶數(shù)據(jù)、應(yīng)用程序鏡像、虛擬機(jī)鏡像和虛擬機(jī)監(jiān)控器二進(jìn)制代碼。根據(jù)本發(fā)明的一實(shí)施例,該客戶端虛擬化架構(gòu)是可選的服務(wù)消費(fèi)端和服務(wù)生產(chǎn)端架構(gòu),客戶端系統(tǒng)包含虛擬桌面/虛擬機(jī)監(jiān)控器遠(yuǎn)程桌面?zhèn)鬏攨f(xié)議客戶端,與虛擬桌面服務(wù)器及虛擬機(jī)監(jiān)控器服務(wù)器互動(dòng);客戶端系統(tǒng)和服務(wù)端系統(tǒng)使用分層架構(gòu),該分層架構(gòu)包括用戶應(yīng)用數(shù)據(jù)和系統(tǒng)數(shù)據(jù)、用戶應(yīng)用程序、公司應(yīng)用程序、操作系統(tǒng)、存儲(chǔ)系統(tǒng)、緩存系統(tǒng)、網(wǎng)絡(luò)連接、硬件系統(tǒng);其中網(wǎng)絡(luò)連接包含使用串流協(xié)議的雙向鏡像同步,硬件系統(tǒng)包含 BIOS初始化程序。根據(jù)本發(fā)明的一實(shí)施例,BIOS初始化程序包括進(jìn)行BIOS初始化時(shí),將虛擬機(jī)監(jiān)控器二進(jìn)制碼寫(xiě)入可加載區(qū)域,在BIOS初始化完成后,啟動(dòng)虛擬機(jī)監(jiān)控器;客戶端系統(tǒng)的虛擬機(jī)監(jiān)控器對(duì)虛擬機(jī)的操作系統(tǒng)進(jìn)行升級(jí)、重置、切換、從服務(wù)器端系統(tǒng)同步下載虛擬機(jī)鏡像、向服務(wù)器端系統(tǒng)同步上傳虛擬機(jī)鏡像;虛擬機(jī)監(jiān)控器還對(duì)客戶端虛擬機(jī)監(jiān)控器操作系統(tǒng)進(jìn)行還原并在一個(gè)以上的不同的客戶端虛擬機(jī)操作系統(tǒng)之間進(jìn)行切換。根據(jù)本發(fā)明的一實(shí)施例,存儲(chǔ)系統(tǒng)進(jìn)包括用重定向技術(shù)將用戶系統(tǒng)文件放入同步區(qū)。利用同步在服務(wù)器備份暫時(shí)文件以外的用戶系統(tǒng)文件;網(wǎng)絡(luò)存儲(chǔ)使用NFS,并能穿透安全的SSH;存儲(chǔ)系統(tǒng)讀取數(shù)據(jù)使用緩存預(yù)取機(jī)制,寫(xiě)數(shù)據(jù)時(shí)對(duì)不同網(wǎng)絡(luò)通道建立不同權(quán)限在不同掛起點(diǎn)上,從掛起的NFS服務(wù)器,給TCP連接器不同權(quán)限。根據(jù)本發(fā)明的一實(shí)施例,緩存系統(tǒng)包括緩存預(yù)取機(jī)制是以接入頻率設(shè)定緩存文件塊的優(yōu)先順序,使得重要的數(shù)據(jù)可以先被預(yù)取。如果延遲百分比超過(guò)設(shè)定的閥值,傳輸速度減少;如果延遲百分比小于設(shè)定的閥值,傳輸速度增加;如果延遲百分比等于閥值,請(qǐng)求速度或增加或減少某一定值,該增加或減少的值視上一次請(qǐng)求的延遲而定。根據(jù)本發(fā)明的一實(shí)施例,所述雙向鏡像同步包括使用鏡像拆分生成應(yīng)用程序鏡像,使用鏡像組合生成操作系統(tǒng)鏡像;用戶開(kāi)始對(duì)話期后,如果用戶離線,則用戶得到只讀的黃金鏡像并創(chuàng)建鏡像差分,如果用戶在線,則利用差分算法讀寫(xiě)有差分變化的資源,但黃金操作系統(tǒng)不變,然后實(shí)行組合操作;雙向鏡像同步使用串流作為通訊協(xié)議。根據(jù)本發(fā)明的一實(shí)施例,鏡像拆分包括創(chuàng)建一個(gè)差分的壓縮文件。該文件包含預(yù)處理虛擬應(yīng)用時(shí)(1)監(jiān)控到的系統(tǒng)信息和( 應(yīng)用安裝后在黃金鏡像之外的文件;鏡像組合包括將拆分所得的壓縮文件解壓,將(1)監(jiān)控到的系統(tǒng)信息和( 應(yīng)用安裝后在黃金鏡像之外的文件,加入客戶端黃金鏡像的虛擬機(jī)中;用戶組中的每個(gè)組員的虛擬機(jī)可利用服務(wù)端虛擬機(jī)監(jiān)控器的向上調(diào)用廣播功能為多個(gè)組員實(shí)施組合過(guò)程。在組合的過(guò)程中,如果 Windows的黃金鏡像是WIM文件,則是先把文件的讀寫(xiě)轉(zhuǎn)換成對(duì)磁盤(pán)扇區(qū)的讀寫(xiě),然后把對(duì)磁盤(pán)扇區(qū)的讀寫(xiě),轉(zhuǎn)換成對(duì)qcow2文件的讀寫(xiě)。根據(jù)本發(fā)明的一實(shí)施例,差分算法包括凡是文件塊在客戶端或服務(wù)器端有改變, 則必須計(jì)算該文件塊的消息摘要,并將文件塊識(shí)別號(hào),該文件塊所屬文件,文件所屬的用戶應(yīng)用、用戶系統(tǒng)數(shù)據(jù)、還是應(yīng)用與操作系統(tǒng)合并的鏡像這些信息寫(xiě)入元數(shù)據(jù)中;對(duì)于改變過(guò)的文件塊,當(dāng)其客戶端的消息摘要和元數(shù)據(jù)傳到服務(wù)器端后,就與服務(wù)器端文件塊的消息摘要和元數(shù)據(jù)相比較,使用差異解決方案同步差異,并生成快照。根據(jù)本發(fā)明的一實(shí)施例,差異解決方案包括服務(wù)器端有改動(dòng)的文件塊、客戶端有改動(dòng)的文件塊分別與最近快照的文件塊比較消息摘要;若服務(wù)器文件塊與快照文件塊不符但客戶端文件塊與快照相符,則將未通過(guò)校驗(yàn)的文件塊發(fā)送去客戶端??蛻舳耸盏胶?,將相對(duì)應(yīng)的文件塊用收到的文件塊取代,再行組合過(guò)程;若客戶端文件塊與快照文件塊不符但服務(wù)器文件塊與快照相符,則向客戶端要求這些未通過(guò)校驗(yàn)的文件塊。服務(wù)端收到后,將相對(duì)應(yīng)的文件塊用收到的文件塊取代,再行組合過(guò)程;若客戶端文件塊與快照文件塊不符,而且服務(wù)器文件塊與快照也不符,則管理員必須做融合操作。融合好以后,在客戶端和服務(wù)器端,將相對(duì)應(yīng)的文件塊用融合好的文件塊取代,再行組合過(guò)程。根據(jù)本發(fā)明的一實(shí)施例,融合操作包括如果被改動(dòng)的文件是文本文件,標(biāo)示改動(dòng)的部分顯示,然后做手動(dòng)融合。否則,要按預(yù)設(shè)的策略決定是自動(dòng)覆蓋還是手動(dòng)覆蓋。根據(jù)本發(fā)明的一實(shí)施例,串流協(xié)議包括如果服務(wù)器端向客戶端要求傳文件塊,而該文件塊經(jīng)由數(shù)據(jù)元對(duì)比已知存在通訊緩存中,則可立即將緩存中的文件塊告知服務(wù)器, 而不必由客戶端傳來(lái);通訊協(xié)議可以是長(zhǎng)連接或短連接,有安全加密或無(wú)安全加密;如果客戶端只是一個(gè)移動(dòng)存儲(chǔ)器,則該移動(dòng)存儲(chǔ)首先下載虛擬機(jī)監(jiān)控器、客戶端管理器和用戶自己的黃金鏡像。然后用戶可以用第三方電腦啟動(dòng)移動(dòng)存儲(chǔ)并進(jìn)行離線任務(wù)。當(dāng)用戶在線時(shí),可用登入方式與服務(wù)器端同步。根據(jù)本發(fā)明的一實(shí)施例,還提出一種電子書(shū)包或電子公文包,該電子書(shū)包或電子公文包包括經(jīng)客戶端虛擬化的客戶端與服務(wù)器端;其中服務(wù)器端作為中介服務(wù)器,一端經(jīng)由固網(wǎng)或移動(dòng)通信網(wǎng)與客戶端相連,另一端經(jīng)由廣域網(wǎng)連接到上級(jí)服務(wù)器;服務(wù)器端作為推送操作系統(tǒng)的服務(wù)端,包括資源聚合應(yīng)用;客戶端作為推送操作系統(tǒng)的客戶端,實(shí)現(xiàn)在線與離線時(shí)的資源遷移以及網(wǎng)絡(luò)接入狀態(tài)的交換。根據(jù)本發(fā)明的一實(shí)施例,推送操作系統(tǒng)的服務(wù)端執(zhí)行數(shù)據(jù)、應(yīng)用、資源的更新與清理;數(shù)據(jù)、應(yīng)用、資源的稽查,可分為實(shí)時(shí)與非實(shí)時(shí);批改工作及批量發(fā)送;網(wǎng)絡(luò)資源控制;個(gè)人網(wǎng)關(guān),提供接入和虛擬機(jī)訂閱管理控制。根據(jù)本發(fā)明的一實(shí)施例,推送操作系統(tǒng)的客戶端包括含CPU的可離線客戶端設(shè)備,離線時(shí)利用封閉性計(jì)算服務(wù)禁止任何未授權(quán)應(yīng)用,且利用網(wǎng)絡(luò)資源控制服務(wù)禁止連接處制定網(wǎng)絡(luò)外的任何網(wǎng)絡(luò);無(wú)CPU的僅離線操作系統(tǒng)存儲(chǔ)設(shè)備,接入第三方設(shè)備后,利用封閉性計(jì)算服務(wù)禁止任何未授權(quán)應(yīng)用,且利用網(wǎng)絡(luò)資源控制服務(wù)禁止連接處制定網(wǎng)絡(luò)外的任何網(wǎng)絡(luò);無(wú)存儲(chǔ)的僅在線客戶端設(shè)備,必須在線使用VDI客戶端顯示服務(wù)器虛擬機(jī)屏幕。含 CPU的可離線客戶端設(shè)備,在線時(shí)把虛擬機(jī)的差分同步到服務(wù)器。無(wú)CPU的僅離線操作系統(tǒng)存儲(chǔ)設(shè)備,在線時(shí)與在線設(shè)備差分同步,且與服務(wù)器差分同步。根據(jù)本發(fā)明的一實(shí)施例,虛擬機(jī)訂閱管理控制包括客戶端請(qǐng)求接入時(shí),該客戶必須曾訂閱過(guò)虛擬機(jī),可經(jīng)由虛擬機(jī)數(shù)據(jù)庫(kù)驗(yàn)證。根據(jù)本發(fā)明的一實(shí)施例,網(wǎng)絡(luò)資源控制服務(wù)包括客戶被允許接入服務(wù)器后,必須通過(guò)資源管理控制的認(rèn)證,可經(jīng)由資源索引表通過(guò)資源策略管理器來(lái)驗(yàn)證;存取資源索引表包含授權(quán)URL、授權(quán)資源索引REST。根據(jù)本發(fā)明的一實(shí)施例,客戶端封閉性計(jì)算服務(wù)包括客戶端信任計(jì)算基,包含以下五個(gè)安全鏈路硬件啟動(dòng)至操作系統(tǒng)啟動(dòng)的全鏈路控制;封閉操作系統(tǒng)的實(shí)現(xiàn);本地計(jì)算的封閉性;確保網(wǎng)絡(luò)接入安全性的TPM/TCM信任鏈;應(yīng)用/數(shù)據(jù)控制鏈。可信計(jì)算TC模型,構(gòu)成一個(gè)完整的參考監(jiān)測(cè)模型Reference Monitor Model。根據(jù)本發(fā)明的一實(shí)施例,硬件啟動(dòng)至操作系統(tǒng)啟動(dòng)的全鏈路控制包括PCR信任鏈,包括IPL/MBR-內(nèi)核哈希;BI0S-IPL/MBR哈希;CRTM-BI0S哈希。電子書(shū)包/電子公文包可信任計(jì)算的操作系統(tǒng);電子書(shū)包/電子公文包可信任計(jì)算的硬件平臺(tái)。根據(jù)本發(fā)明的一實(shí)施例,封閉操作系統(tǒng)的實(shí)現(xiàn)包括部署信任計(jì)算基的硬件實(shí)現(xiàn)操作系統(tǒng)核心的全生命周期信任控制;信任的操作系統(tǒng)核心;私有核心文件系統(tǒng)協(xié)議;取消SLIRP軟件協(xié)議棧;網(wǎng)絡(luò)協(xié)議棧。
根據(jù)本發(fā)明的一實(shí)施例,本地計(jì)算的封閉性包括應(yīng)用在操作系統(tǒng)封閉運(yùn)行時(shí),如果應(yīng)用未獲授權(quán),則其安裝與運(yùn)行會(huì)被禁止。即使已被授權(quán),還有下列控制該應(yīng)用要求升級(jí),或要求安裝其它應(yīng)用,是由TPM/TCM實(shí)施;該應(yīng)用要改變操作系統(tǒng)核心,用戶自行創(chuàng)建應(yīng)用,或有多樣、隨機(jī)化的應(yīng)用,使被推送操作系統(tǒng)運(yùn)行于硬件操作系統(tǒng),實(shí)施信任控制。應(yīng)用與數(shù)據(jù)在網(wǎng)絡(luò)失去后,本地依然有持續(xù)性。一旦上網(wǎng),進(jìn)行同步,這些應(yīng)用與數(shù)據(jù)進(jìn)入本地,遵循本地規(guī)則運(yùn)行。根據(jù)本發(fā)明的一實(shí)施例,確保網(wǎng)絡(luò)接入安全性的TPM/TCM信任鏈進(jìn)一步包括客戶端TPM/TCM的可信設(shè)備;服務(wù)器端TPM/TCM虛擬硬件映射;雙向同步推送機(jī)制保證可信的網(wǎng)絡(luò)計(jì)算環(huán)境。根據(jù)本發(fā)明的一實(shí)施例,本發(fā)明還提出一種客戶端虛擬化在網(wǎng)吧和培訓(xùn)中心的應(yīng)用實(shí)施例,包括客戶端虛擬化的客戶端與客戶端虛擬化的服務(wù)器端;進(jìn)行BIOS初始化時(shí), 將虛擬機(jī)監(jiān)控器二進(jìn)制碼寫(xiě)入可加載區(qū)域,當(dāng)BIOS過(guò)程完畢后,虛擬機(jī)監(jiān)控器啟動(dòng);客戶端虛擬機(jī)監(jiān)控器管理虛擬機(jī)操作系統(tǒng)的升級(jí)、重置、切換、從服務(wù)器同步下載鏡像、向服務(wù)器同步上傳鏡像;暫住式客戶端虛擬機(jī)監(jiān)控器進(jìn)一步包括客戶端虛擬機(jī)監(jiān)控器操作系統(tǒng)的還原和切換一個(gè)以上的不同客戶端虛擬機(jī)操作系統(tǒng)。本發(fā)明的客戶端虛擬化架構(gòu)為企業(yè)提供了一種客戶端虛擬化的方法,該方法是構(gòu)建在客戶端和服務(wù)器的架構(gòu)上,用戶在線時(shí),在客戶端可以隨時(shí)同步服務(wù)器上的數(shù)據(jù)、應(yīng)用和操作系統(tǒng)。另外,用戶的操作也被實(shí)施嚴(yán)密的安全保護(hù),系統(tǒng)很難被黑客入侵。這樣的系統(tǒng)既可作為VDI的一種一般性擴(kuò)充,也可以在多種行業(yè)上有其特殊的應(yīng)用。譬如在教育界成為電子書(shū)包,在企業(yè)與事業(yè)里成為電子公文包,在網(wǎng)吧里成為可還原的臺(tái)式機(jī),在培訓(xùn)中心成為經(jīng)常更換操作系統(tǒng)的學(xué)生工作站。
本發(fā)明抽象功能的實(shí)施方式,最具體的表現(xiàn)方式就是下列附圖,以組成框圖的方式說(shuō)明,或以流程圖說(shuō)明。下面參照附圖,對(duì)于熟悉本技術(shù)領(lǐng)域的人員而言,從對(duì)本發(fā)明方法的詳細(xì)描述中,本發(fā)明的陳述和其目的、特征和優(yōu)點(diǎn)將顯而易見(jiàn)。圖1是根據(jù)本發(fā)明的一實(shí)施例的客戶端虛擬化架構(gòu)的組成框圖;圖2是根據(jù)本發(fā)明的一實(shí)施例的客戶端虛擬化架構(gòu)中“客戶端/服務(wù)端分層 (layering)數(shù)據(jù)操作”組成框和流程混合圖,說(shuō)明了圖1中的客戶端管理器0111和服務(wù)端管理器0121 ;圖3是根據(jù)本發(fā)明的一實(shí)施例的客戶端虛擬化架構(gòu)中“客戶端啟動(dòng)Powerup/ BIOS”的流程圖,說(shuō)明了圖2中的步驟0201 ;圖4是根據(jù)本發(fā)明的一實(shí)施例的客戶端虛擬化架構(gòu)中“裸機(jī)Hypervisor啟動(dòng)”的流程圖,說(shuō)明了圖3中的步驟0309 ;圖5是根據(jù)本發(fā)明的一實(shí)施例的客戶端虛擬化架構(gòu)中“存儲(chǔ)系統(tǒng)”流程圖,說(shuō)明了圖2中的步驟0211 ;圖6是根據(jù)本發(fā)明的一實(shí)施例的客戶端虛擬化架構(gòu)中“緩存系統(tǒng)”流程圖,說(shuō)明了圖2中的步驟0212 ;圖7是根據(jù)本發(fā)明的一實(shí)施例的客戶端虛擬化架構(gòu)中“雙向同步”流程圖,說(shuō)明了-實(shí)施例的客戶端虛擬化架構(gòu)中“串流協(xié)議,,流程圖,說(shuō)明
-實(shí)施例的客戶端虛擬化架構(gòu)實(shí)現(xiàn)的“電子書(shū)包/電子公務(wù)
圖2中的步驟0213 ;圖8是根據(jù)本發(fā)明的一實(shí)施例的客戶端虛擬化架構(gòu)中“應(yīng)用鏡像生成的拆分與組合”流程圖,說(shuō)明了圖7中的步驟0705,0706,0711,0717 ;圖9是根據(jù)本發(fā)明的一實(shí)施例的客戶端虛擬化架構(gòu)中“差分算法”組成框和流程混合圖,說(shuō)明了圖7中的步驟0722有關(guān)差分算法的細(xì)節(jié);圖10是根據(jù)本發(fā)明的一實(shí)施例的客戶端虛擬化架構(gòu)中“差異解決方案”組成框和流程混合圖,說(shuō)明了圖9中的步驟0922 ;圖11是根據(jù)本發(fā)明的一實(shí)施例的客戶端虛擬化架構(gòu)中“融合操作”流程圖,說(shuō)明了圖10中的步驟1008 ;圖12是根據(jù)本發(fā)明的-了圖2中的步驟0214 ;圖13是根據(jù)本發(fā)明的-包”的組成框圖;圖14是根據(jù)本發(fā)明的一實(shí)施例的電子書(shū)包/電子公務(wù)包中“推送操作系統(tǒng)(Push OS)服務(wù)器”流程圖,說(shuō)明了圖13中的方框1321在線資源,其中第一個(gè)資源推送操作系統(tǒng) (Push OS)的服務(wù)器;圖15是根據(jù)本發(fā)明的一實(shí)施例的電子書(shū)包/電子公務(wù)包中“推送操作系統(tǒng)(Push OS)客戶端”流程圖,說(shuō)明了圖13中的方框1321在線資源,其中第一個(gè)資源推送操作系統(tǒng) (Push OS)的客戶端;圖16是根據(jù)本發(fā)明的一實(shí)施例的電子書(shū)包/電子公務(wù)包中“虛擬機(jī)訂閱管理控制與網(wǎng)路資源控制”的流程圖,其中方框1621虛擬機(jī)訂閱管理控制服務(wù)說(shuō)明了圖14中的步驟1414,方框1622網(wǎng)路資源控制服務(wù)說(shuō)明了圖14中的步驟1412和圖15中的步驟1505, 1514 ;圖17是根據(jù)本發(fā)明的一實(shí)施例的電子書(shū)包/電子公務(wù)包中“客戶端封閉性計(jì)算服務(wù)”的組成框圖,明了圖14中的步驟1416,和圖15中的步驟1504,1509 ;圖18是根據(jù)本發(fā)明的一實(shí)施例的電子書(shū)包/電子公務(wù)包中“鏈路1 :0S啟動(dòng)的全鏈路控制”的流程圖,說(shuō)明了圖17中的鏈路1 ;圖19是根據(jù)本發(fā)明的一實(shí)施例的電子書(shū)包現(xiàn)”的流程圖,說(shuō)明了圖17中的鏈路2 ;圖20是根據(jù)本發(fā)明的一實(shí)施例的電子書(shū)包封閉性需求”的流程圖,說(shuō)明了圖17中的鏈路3 ;圖21是根據(jù)本發(fā)明的一實(shí)施例的電子書(shū)包任鏈確保網(wǎng)絡(luò)接入的安全性”的流程圖,說(shuō)明了圖17中的鏈路4 ;圖22是根據(jù)本發(fā)明的一實(shí)施例的電子書(shū)包/電子公務(wù)包中“暫住式Hypervisor 啟動(dòng)”的流程圖。
電子公務(wù)包中“鏈路2 封閉OS的實(shí)
電子公務(wù)包中“鏈路3 本地應(yīng)用的
電子公務(wù)包中“鏈路4 硬件TP M
‘、.-
具體實(shí)施例方式概述圖1是根據(jù)本發(fā)明的一實(shí)施例的客戶端虛擬化(CSV)架構(gòu)的組成框圖。該客戶端
11虛擬化(CSV)架構(gòu)包括客戶端系統(tǒng)(CSV客戶端)011、服務(wù)器端系統(tǒng)(CSV服務(wù)器)012、虛擬桌面服務(wù)器和虛擬機(jī)監(jiān)控器服務(wù)器合為一體成為VDI/VMI服務(wù)器013。CSV客戶端011 和CSV服務(wù)器012中間的通訊是雙向鏡像同步;但在CSV客戶端上仍然可安裝VDI/VMI的客戶端,而該客戶端則是從VDI/VMI服務(wù)器獲取虛擬機(jī)屏幕,且將鼠標(biāo)和鍵盤(pán)的動(dòng)作傳回 VDI/VMI服務(wù)器。VDI的定義已在背景技術(shù)中說(shuō)明,VMI是Virtual Mobile Infrastructu re的縮寫(xiě)。VMI技術(shù)是在VMI服務(wù)器上將手機(jī)操作系統(tǒng)虛擬化,然后將手機(jī)屏幕傳至移動(dòng)終端。VMI技術(shù)的細(xì)節(jié)在中國(guó)專利申請(qǐng)CN20081020^86. X中揭示。圖1所示的系統(tǒng)中,CSV客戶端的管理器0111處理以下各層數(shù)據(jù)用戶數(shù)據(jù)0112, 應(yīng)用程序鏡像0113,虛擬機(jī)鏡像0114,和虛擬機(jī)監(jiān)控器0115。至于硬件0116,可以是臺(tái)式機(jī)、筆記本、上網(wǎng)本、移動(dòng)存儲(chǔ)盤(pán)。CSV客戶端的管理器本身包含其最重要的組件同步和串流機(jī)制01111,該同步和串流機(jī)制01111將鏡像與CSV服務(wù)端同步;其它CSV客戶端組件01112諸如存儲(chǔ)系統(tǒng)、緩存系統(tǒng)、安全機(jī)制;VDI/VMI客戶端01113通過(guò)屏幕傳輸技術(shù)與 VDI/VMI服務(wù)器交流。CSV服務(wù)器端012包含CSV服務(wù)端管理器0121、用戶數(shù)據(jù)庫(kù)0122、應(yīng)用鏡像、操作系統(tǒng)(0 鏡像、虛擬機(jī)監(jiān)控器二進(jìn)制代碼0123、以及服務(wù)器虛擬化組件0122。CSV服務(wù)端管理器0121進(jìn)一步包含了最重要的服務(wù)端同步和串流機(jī)制01211,和其它CSV服務(wù)端管理組件01212。在圖2的實(shí)施例中也說(shuō)明了 CSV的客戶端和服務(wù)器的互動(dòng)是基于同步和串流的技術(shù)。以上的簡(jiǎn)略說(shuō)明涵蓋了 CSV的架構(gòu)。CSV客戶端/服務(wù)端分層數(shù)據(jù)操作圖2給出了 CSV客戶端011/CSV服務(wù)端012分層數(shù)據(jù)操作的組成框和流程混合圖。左邊的方框021是客戶端管理器的組成框圖。右邊上面的組成框圖022是VDI/VMI服務(wù)端管理器。右邊下面的組成框圖023是CSV服務(wù)端管理器,與左邊的框圖客戶端管理器形成對(duì)稱。這里提到一個(gè)可以選用的“分層數(shù)據(jù)(layering)操作”的架構(gòu)。分層數(shù)據(jù)操作原始于用瘦終端的VDI,目的是為了讓用戶應(yīng)用數(shù)據(jù)、用戶系統(tǒng)數(shù)據(jù)、緩存數(shù)據(jù)、個(gè)人應(yīng)用數(shù)據(jù)、公司應(yīng)用數(shù)據(jù)、操作系統(tǒng)方便被不同部門(mén)的網(wǎng)管人員來(lái)管理,譬如。這里的CSV架構(gòu)也使用分層,但不同于VDI的是,客戶端與服務(wù)器之間的分層數(shù)據(jù),使用了雙向差分同步的串流通訊。在這里的通訊,并不是網(wǎng)絡(luò)通訊,而僅是主機(jī)本地更快速的程序調(diào)用或系統(tǒng)調(diào)用。 這里要強(qiáng)調(diào)的是,用戶系統(tǒng)數(shù)據(jù)可以用文件存儲(chǔ)系統(tǒng)的重定向功能將系統(tǒng)數(shù)據(jù)置入同步數(shù)據(jù)區(qū),并且為之備份。圖5的步驟0503說(shuō)明了這一點(diǎn)。CSV客戶端/服務(wù)端分層數(shù)據(jù)操作流程具體包括步驟0201,進(jìn)行PC BIOS的初始化和虛擬機(jī)監(jiān)控器Hypervisor的啟動(dòng);步驟0202,判斷操作是否為VDI/VMI。如是,轉(zhuǎn)入步驟0203,否則進(jìn)行步驟0206 ;步驟0203,VDI/VMI客戶端初始化,啟動(dòng)通訊。進(jìn)行步驟0204 ;步驟0204,VDI/VMI客戶端/服務(wù)器互動(dòng);步驟0205,VDI/VMI服務(wù)器初始化,啟動(dòng)通訊。進(jìn)行步驟0204 ;步驟0206,判斷操作是否為CSV。如是,轉(zhuǎn)入步驟0207,否則進(jìn)行步驟0214 ;步驟0207,判斷操作是否為用戶應(yīng)用數(shù)據(jù)或用戶系統(tǒng)數(shù)據(jù)。如是,轉(zhuǎn)入步驟0211, 執(zhí)行曾經(jīng)被重定向的數(shù)據(jù),且在災(zāi)難恢復(fù)時(shí)使用備份,否則進(jìn)行步驟0208 ;
12
步驟0208,判斷操作是否為用戶應(yīng)用。如是,轉(zhuǎn)入步驟0211,否則進(jìn)行步驟0209 ;步驟0209,判斷操作是否為公司應(yīng)用。如是,轉(zhuǎn)入步驟0211,否則進(jìn)行步驟0210 ;步驟0210,判斷操作是否為黃金操作系統(tǒng)。如是,轉(zhuǎn)入步驟0211,否則進(jìn)行步驟 0214 ;步驟0211,執(zhí)行存儲(chǔ)系統(tǒng)的各種功能,進(jìn)行步驟0212 ;步驟0212,執(zhí)行緩存系統(tǒng)的各種功能,進(jìn)行步驟0213 ;步驟0213,客戶端雙向同步,進(jìn)行步驟0214 ;步驟0214,串流協(xié)議,進(jìn)行步驟0213或步驟0223 ;步驟0215,CSV服務(wù)器初始化,進(jìn)行步驟0215 ;步驟0216,判斷操作是否為用戶應(yīng)用數(shù)據(jù)或用戶系統(tǒng)數(shù)據(jù)。如是,轉(zhuǎn)入步驟0221, 執(zhí)行曾經(jīng)被重定向的數(shù)據(jù),且在災(zāi)難恢復(fù)時(shí)使用備份,否則進(jìn)行步驟0217;步驟0217,判斷操作是否為用戶應(yīng)用。如是,轉(zhuǎn)入步驟0221,否則進(jìn)行步驟0218 ;步驟0218,判斷操作是否為公司應(yīng)用。如是,轉(zhuǎn)入步驟0221,否則進(jìn)行步驟0219 ;步驟0219,判斷操作是否為黃金操作系統(tǒng)。如是,轉(zhuǎn)入步驟0221,否則進(jìn)行步驟 0220 ;步驟0220,錯(cuò)誤返回;步驟0221,執(zhí)行存儲(chǔ)系統(tǒng)的各種功能,進(jìn)行步驟0212 ;步驟0222,執(zhí)行緩存系統(tǒng)的各種功能,進(jìn)行步驟0223 ;步驟0223,服務(wù)端雙向同步,進(jìn)行步驟02 ;客戶端啟動(dòng)/BIOS圖3是客戶端啟動(dòng)/BIOS的流程圖??蛻舳嗽趩?dòng)OS之前利用BIOS下載 Hypervisor0流程具體包括步驟0301,進(jìn)行PC BIOS的初始化和虛擬機(jī)監(jiān)控器Hypervisor的啟動(dòng);步驟0302,判斷操作是否為下載Hypervisor。如是,轉(zhuǎn)入步驟0303,否則進(jìn)行步驟 0305 ;步驟0303,從周邊媒介讀取Hypervisor 二進(jìn)制碼。進(jìn)行步驟0304 ;步驟0304,將 Hypervisor 二進(jìn)制碼寫(xiě)入 EI3ROM ;步驟0305,判斷操作是否為其它BIOS操作。如是,轉(zhuǎn)入步驟0306,否則進(jìn)行步驟 0307 ;步驟0306,執(zhí)行其它BIOS操作;步驟0307,判斷操作是否為重置BIOS變數(shù)。如是,轉(zhuǎn)入步驟0308,否則進(jìn)行步驟 0309 ;步驟0308,設(shè)定全部BIOS值;步驟0309,進(jìn)入 Hypervisor 啟動(dòng);裸機(jī) Hypervisor 啟動(dòng)圖4是裸機(jī)Hypervisor啟動(dòng)的流程圖。這是Hypervisor如何管理運(yùn)行其上的操作系統(tǒng)的邏輯,包含操作系統(tǒng)的升級(jí)、重置、切換、和同步。同步可以“向下”,意即將客戶端的操作系統(tǒng)同步成與服務(wù)器上該用戶的虛擬機(jī)完全一致;“向上”同步則表示將服務(wù)器上該用戶的虛擬機(jī)同步成與客戶端的操作系統(tǒng)完全一致。流程具體包括
步驟0401,裸機(jī)Hypervisor的啟動(dòng)。進(jìn)行步驟0402 ;步驟0402,判斷操作是否為升級(jí)、重置、向下同步操作系統(tǒng)。如是,轉(zhuǎn)入步驟0403, 否則進(jìn)行步驟0405 ;步驟0403,從周邊媒介讀取Hypervisor 二進(jìn)制碼。進(jìn)行步驟0404 ;步驟0404,目標(biāo)操作系統(tǒng)的標(biāo)示設(shè)定為“默認(rèn)操作系統(tǒng)”。進(jìn)行步驟0408 ;步驟0405,判斷操作是否為切換操作系統(tǒng)。如是,轉(zhuǎn)入步驟0406,否則進(jìn)行步驟 0410 ;步驟0406,保存當(dāng)前OS到緩存中,并設(shè)定要切換到的目標(biāo)操作系統(tǒng)。進(jìn)行步驟 0407 ;步驟0407,判斷是否目標(biāo)操作系統(tǒng)已在緩存中。如是,轉(zhuǎn)入步驟0408,否則進(jìn)行步驟 0409 ;步驟0408,從緩存加載目標(biāo)操作系統(tǒng)。進(jìn)行步驟0412;步驟0409,目標(biāo)操作系統(tǒng)從服務(wù)器串流到緩存中。進(jìn)行步驟0408 ;步驟0410,判斷操作是否向上同步操作系統(tǒng)。如是,轉(zhuǎn)入步驟0411,否則進(jìn)行步驟 0412 ;步驟0411,向服務(wù)器及部門(mén)單位的計(jì)算機(jī)發(fā)送最新操作系統(tǒng)鏡像。進(jìn)行步驟 0412 ;步驟0412,進(jìn)入操作系統(tǒng)啟動(dòng)。存儲(chǔ)系統(tǒng)圖5是存儲(chǔ)系統(tǒng)的組成框和流程混合圖。方框051是客戶端的文件系統(tǒng)流程圖,主要是用戶系統(tǒng)文件的重定向,這些文件如果不是暫時(shí)性的,可利用同步達(dá)成在服務(wù)器端的備份。方框052是服務(wù)端的存儲(chǔ)系統(tǒng),可以是服務(wù)器當(dāng)?shù)鼗蚓W(wǎng)絡(luò)存儲(chǔ)。若是網(wǎng)絡(luò)存儲(chǔ),則使用NFS,并能穿透安全的SSH ;服務(wù)器讀取數(shù)據(jù)時(shí)使用緩存預(yù)取機(jī)制;服務(wù)器寫(xiě)數(shù)據(jù)時(shí)對(duì)不同網(wǎng)絡(luò)通道建立不同權(quán)限在不同掛起點(diǎn)上,從掛起的NFS服務(wù)器,給TCP連接器不同權(quán)限??蛻舳说奈募到y(tǒng)051流程具體包括步驟0501,客戶端存儲(chǔ)系統(tǒng)初始化。進(jìn)行步驟0502 ;步驟0502,用重定向技術(shù)將用戶系統(tǒng)文件放入同步區(qū),利用同步在服務(wù)器備份用戶系統(tǒng)文件(除了暫時(shí)文件例如IE歷史文件);服務(wù)器端的文件系統(tǒng)052流程具體包括步驟0503,服務(wù)器存儲(chǔ)系統(tǒng)初始化。進(jìn)行步驟0504 ;步驟0504,判斷操作是否為分配用戶到存儲(chǔ)系統(tǒng)。如是,轉(zhuǎn)入步驟0505,否則進(jìn)行步驟0507 ;步驟0505,每一個(gè)用戶使用存儲(chǔ)器(當(dāng)?shù)鼗蚓W(wǎng)絡(luò)磁盤(pán))的一個(gè)目錄,每個(gè)子目錄是一個(gè)鏡像版本(子目錄名就是版本號(hào))。進(jìn)行步驟0506 ;步驟0506,最新版的鏡像在主目錄下面。進(jìn)行步驟0521;步驟0507,判斷操作是否為讀數(shù)據(jù)。如是,轉(zhuǎn)入步驟0508,否則進(jìn)行步驟0512 ;步驟0508,判斷是當(dāng)?shù)鼗蚓W(wǎng)絡(luò)存儲(chǔ)。如是當(dāng)?shù)?,轉(zhuǎn)入步驟0509,否則進(jìn)行步驟 0511 ;步驟0509,存儲(chǔ)器上的文件不可被刪除;但文件太老可刪,以便騰出空間。進(jìn)行步
14驟0510 ;步驟0510,pre-fetcher 緩存預(yù)取機(jī)制。進(jìn)行步驟0518 ;步驟0511,使用NFS,并能穿透安全的SSH。進(jìn)行步驟0509 ;步驟0512,判斷操作是否為寫(xiě)數(shù)據(jù)。如是,轉(zhuǎn)入步驟0513,否則進(jìn)行步驟0522 ;步驟0508,判斷是當(dāng)?shù)鼗蚓W(wǎng)絡(luò)存儲(chǔ)。如是網(wǎng)絡(luò)存儲(chǔ),轉(zhuǎn)入步驟0515,否則進(jìn)行步驟 0514 ;步驟0514,使用NFS,并能穿透安全的SSH。進(jìn)行步驟0514 ;步驟0515,判斷鏡像是否WIM格式。如是,轉(zhuǎn)入步驟0517,否則進(jìn)行步驟0516 ;步驟0516,把網(wǎng)絡(luò)塊設(shè)備(NBD)掛到虛擬機(jī)系統(tǒng)中,以便直接訪問(wèn)到用戶的“黃金虛擬機(jī)鏡像”中的磁盤(pán)。進(jìn)行步驟0518 ;步驟0517,截獲WIM文件寫(xiě)的動(dòng)作,把對(duì)文件的寫(xiě),轉(zhuǎn)換成對(duì)sector的寫(xiě),再把對(duì) sector的寫(xiě),轉(zhuǎn)換成對(duì)qcow2文件的寫(xiě)。進(jìn)行步驟0518 ;步驟0518,將鏡像新版本加入存儲(chǔ)器。進(jìn)行步驟0519;步驟0519,對(duì)不同網(wǎng)絡(luò)通道建立不同權(quán)限(在不同mount點(diǎn)上,從mount NFS服務(wù)器,給TCP連接器不同權(quán)限)。進(jìn)行步驟0520;步驟0520,每64Kbyte做一次fsync,以限制NFS客戶端在內(nèi)存滯留太多骯臟數(shù)據(jù)。進(jìn)行步驟0521 ;步驟0521,正常返回;步驟0522,錯(cuò)誤返回。緩存系統(tǒng)圖6是緩存系統(tǒng)的流程圖。緩存系統(tǒng)有助于數(shù)據(jù)對(duì)象分配到緩存系統(tǒng)的問(wèn)題,以及存儲(chǔ)或文件崩潰的問(wèn)題。緩存預(yù)取機(jī)制是以接入頻率設(shè)定緩存文件塊的優(yōu)先順序,使得重要的數(shù)據(jù)可以先被預(yù)取。如果延遲百分比超過(guò)設(shè)定的閥值,傳輸速度減少;如果延遲百分比小于設(shè)定的閥值,傳輸速度增加;如果延遲百分比等于設(shè)定的閥值,請(qǐng)求速度或增或減某一定值,視上一次請(qǐng)求的延遲而定。流程具體包括步驟0601,緩存系統(tǒng)初始化。進(jìn)行步驟0602 ;步驟0602,判斷操作是否為數(shù)據(jù)對(duì)象分配到緩存系統(tǒng)。如是,轉(zhuǎn)入步驟0603,否則進(jìn)行步驟0609 ;步驟0603,判斷操作是否為COW文件塊。如是,轉(zhuǎn)入步驟0604,否則進(jìn)行步驟 0606 ;步驟0604,復(fù)制小數(shù)據(jù)、元數(shù)據(jù)(Metadata)和用戶數(shù)據(jù)(可能不小),寫(xiě)入小對(duì)象緩存。進(jìn)行步驟0605;步驟0605,背景進(jìn)程經(jīng)常把服務(wù)器的更新融入緩存數(shù)據(jù)對(duì)象,以備讀取。進(jìn)行步驟 0620 ;步驟0606,置入COW緩存。進(jìn)行步驟0607 ;步驟0607,指定URL,文件名、鏡像版本號(hào)為磁盤(pán)名。進(jìn)行步驟0608 ;步驟0608,指定虛擬磁盤(pán)偏移量為文件塊名,以備讀取。進(jìn)行步驟0620 ;步驟0609,判斷操作是否處理存儲(chǔ)或文件崩潰。如是,轉(zhuǎn)入步驟0610,否則進(jìn)行步驟0611 ;
步驟0610,緩存中每51 bytes的磁盤(pán)扇區(qū)計(jì)算MD5哈希值。進(jìn)行步驟0612 ;步驟0611,若存儲(chǔ)或文件崩潰,則校驗(yàn)不通過(guò)。此時(shí)便認(rèn)定該數(shù)據(jù)不在緩存上。進(jìn)行步驟0620 ;步驟0612,判斷操作是否緩存預(yù)取。如是,轉(zhuǎn)入步驟0613,否則進(jìn)行步驟0621。步驟0613,以接入頻率設(shè)定緩存文件塊的優(yōu)先順序,使得重要的數(shù)據(jù)可以先被預(yù)取。進(jìn)行步驟0614;步驟0614,計(jì)算最近請(qǐng)求的網(wǎng)絡(luò)或磁盤(pán)延遲的百分比。進(jìn)行步驟0615 ;步驟0615,判斷該延遲百分比是否超過(guò)閥值。如是,轉(zhuǎn)入步驟0616,否則進(jìn)行步驟 0617。步驟0616,請(qǐng)求速度減半。進(jìn)行步驟0620;步驟0617,判斷該延遲百分比是否等于閥值。如是,轉(zhuǎn)入步驟0618,否則進(jìn)行步驟 0619。步驟0618,請(qǐng)求速度或增或減某一定值,視上一次請(qǐng)求的延遲而定。進(jìn)行步驟 0620 ;步驟0619,請(qǐng)求速度加倍。進(jìn)行步驟0620;步驟0620,正常返回;步驟0621,錯(cuò)誤返回;雙向同步圖7是雙向鏡像同步的組成框和流程混合圖。方框071講到服務(wù)器端準(zhǔn)備應(yīng)用鏡像和操作系統(tǒng)鏡像的步驟,方框072則是用戶對(duì)話期開(kāi)始的步驟。這些步驟在黃金鏡像產(chǎn)生之后,都要開(kāi)始進(jìn)行差分處理(圖8),處理時(shí),要利用串流協(xié)議進(jìn)行客戶端和服務(wù)器端的通訊。服務(wù)器端071的流程具體包括步驟0701,服務(wù)器端鏡像同步初始化。進(jìn)行步驟0702 ;步驟0702,判斷操作是否為生成應(yīng)用鏡像。如是,轉(zhuǎn)入步驟0703,否則進(jìn)行步驟 0708 ;步驟0703,判斷應(yīng)用是否為Windows應(yīng)用。如是,轉(zhuǎn)入步驟0704,否則進(jìn)行步驟 0707 ;步驟0704,判斷應(yīng)用是否用到系統(tǒng)資源。如是,轉(zhuǎn)入步驟0705,否則進(jìn)行步驟 0707 ;步驟0705,第一個(gè)拆分步驟捕獲應(yīng)用所操作的共享資源中所擁有的私有資源。 進(jìn)行步驟0706 ;步驟0706,第二個(gè)拆分步驟從OS分離出應(yīng)用所有的files形成應(yīng)用鏡像。進(jìn)行步驟0714 ;步驟0707,將應(yīng)用當(dāng)成綠色軟件直接生成鏡像。進(jìn)行步驟0708 ;步驟0708,生成操作系統(tǒng)鏡像。轉(zhuǎn)入步驟0709;步驟0709,根據(jù)隨需要求,靈活的生成虛擬機(jī)的模板或者虛擬機(jī)。轉(zhuǎn)入步驟0710 ;步驟0710,判斷操作Windows應(yīng)用是否用到系統(tǒng)資源。如是,轉(zhuǎn)入步驟0711,否則進(jìn)行步驟0712 ;
步驟0711,組合將App image和OS image形成可視的Files,然后進(jìn)行在文件系統(tǒng)級(jí)別的組合,進(jìn)行步驟0722 ;步驟0712,利用客戶操作系統(tǒng)的代理,更改操作系統(tǒng)中的共享資源的內(nèi)容,再將應(yīng)用與OS組合成鏡像。進(jìn)行步驟0722 ;客戶端072的流程具體包括步驟0713,用戶對(duì)話期開(kāi)始,進(jìn)行步驟0714 ;步驟0714,判斷操作是在線或離線。如是在線,轉(zhuǎn)入步驟0715,否則進(jìn)行步驟 0719 ;步驟0715,判斷操作是否本地任務(wù)直接操作遠(yuǎn)方網(wǎng)絡(luò)資源。如是,轉(zhuǎn)入步驟0716, 否則進(jìn)行步驟0721 ;步驟0716,判斷操作是否遠(yuǎn)方鏡像使用差分。如是,轉(zhuǎn)入步驟0717,,否則進(jìn)行步驟0718 ;步驟0717,讀寫(xiě)有差分變化的資源,但黃金操作系統(tǒng)鏡像不變,再按策略組合鏡像。進(jìn)行步驟0722;步驟0718,應(yīng)用和OS在一個(gè)鏡像中。進(jìn)行步驟0722 ;步驟0719,登出將此用戶所需的只讀的網(wǎng)絡(luò)OS鏡像下載到本地,同時(shí)創(chuàng)建鏡像差分(俗稱工作空間)。進(jìn)行步驟0720 ;步驟0720,登入登入工作空間,在遠(yuǎn)端服務(wù)器或者存儲(chǔ)上可以根據(jù)策略來(lái)組合此用戶的鏡像。進(jìn)行步驟0722;步驟0721,本地的任務(wù)使用了本地的增量資源,同時(shí)也使用了只讀的網(wǎng)絡(luò)OS鏡像,進(jìn)行步驟0722 ;步驟0722,進(jìn)入差分算法,其中通訊時(shí)使用串流協(xié)議。應(yīng)用鏡像生成的拆分與組合圖8是應(yīng)用鏡像生成的拆分與組合的流程圖。這是對(duì)圖7中的步驟0705,0706, 0711,和0717的詳細(xì)說(shuō)明。拆分是應(yīng)用虛擬化中的預(yù)處理動(dòng)作,旨在將一個(gè)與操作系統(tǒng)緊密結(jié)合的應(yīng)用拆分成多個(gè)文件,然后打成一個(gè)包方便存儲(chǔ)。組合是應(yīng)用程序與虛擬機(jī)被存儲(chǔ)時(shí)的合并動(dòng)作,也就是將該Windows應(yīng)用的注冊(cè)表,服務(wù),COM, DCOM加入Windows虛擬機(jī)中。實(shí)際上,由于用戶的虛擬機(jī)很可能是在同一個(gè)物理服務(wù)器上,這樣的組合,或稱為部署,其實(shí)不用TCP/IP的傳輸,而是應(yīng)用VMM中的廣播功能,快速為多個(gè)客戶進(jìn)行一致性部署 (前提是用戶都屬于同一用戶組,使用同構(gòu)虛擬機(jī),相同應(yīng)用)。一致性部署所使用的虛機(jī)監(jiān)控器的“向上調(diào)用”廣播功能,在題為“通過(guò)總線架構(gòu)構(gòu)建虛擬機(jī)監(jiān)控器的方法及性能服務(wù)框架”,提交于2010年5月25日,申請(qǐng)?zhí)枮?01010183844. 6的中國(guó)專利申請(qǐng)中揭示,上述專利申請(qǐng)的內(nèi)容通過(guò)引用合并于此。另外,步驟0811、0817和0818的app. pkg通常是以壓縮格式與虛擬操作系統(tǒng)的黃金鏡像組合,然后保存在服務(wù)器端的磁盤(pán)上。當(dāng)此一組合鏡像要被修改(例如添加新應(yīng)用) 或被串流至客戶端時(shí),再?gòu)拇疟P(pán)讀取。如果虛擬機(jī)監(jiān)控器(VMM)是支持Linux操作系統(tǒng)的 (例如LXC,KVM, XEN),那么必須要先把組合文件的讀寫(xiě)轉(zhuǎn)換成對(duì)磁盤(pán)扇區(qū)的讀寫(xiě),然后把對(duì)磁盤(pán)扇區(qū)的讀寫(xiě),轉(zhuǎn)換成對(duì)Linux qcow2文件格式的讀寫(xiě)。流程具體包括
步驟0801,用到OS系統(tǒng)資源的應(yīng)用鏡像生成初始化。進(jìn)行步驟0802 ;步驟0802,判斷操作是否為應(yīng)用虛擬化的拆分。如是,轉(zhuǎn)入步驟0803,否則進(jìn)行步驟0812 ;步驟0803,在機(jī)房里,安裝hypervisor并在其上運(yùn)行虛擬機(jī)。進(jìn)行步驟0804 ;步驟0804,在虛擬機(jī)上安裝組合工具,變成“黃金虛擬機(jī)鏡像”。進(jìn)行步驟0805 ;步驟0805,黃金虛擬機(jī)鏡像=hypervisor+虛擬機(jī)+組合工具。進(jìn)行步驟0806 ;步驟0806,找出黃金虛擬機(jī)鏡像所有文件。進(jìn)行步驟0814 ;步驟0807,安裝應(yīng)用,監(jiān)控內(nèi)核層的API。進(jìn)行步驟0808 ;步驟0808,把監(jiān)控到的系統(tǒng)信息寫(xiě)成文件sys. msg。轉(zhuǎn)入步驟0809 ;步驟0809,找出黃金虛擬機(jī)鏡像在應(yīng)用安裝后多出的文件。轉(zhuǎn)入步驟0810;步驟0810,判斷操作Windows應(yīng)用是否用到系統(tǒng)資源。如是,轉(zhuǎn)入步驟0811,否則進(jìn)行步驟0812 ;步驟0811,Sys. msg加入file, pkg = app. pkg并將app. pkg寫(xiě)入磁盤(pán),進(jìn)行步驟 0812 ;步驟0812,判斷操作是否為應(yīng)用虛擬化的組合。如是,轉(zhuǎn)入步驟0813,否則進(jìn)行步驟0819 ;步驟0813,利用存儲(chǔ)系統(tǒng)將“黃金虛擬機(jī)鏡像”寫(xiě)入磁盤(pán)(見(jiàn)圖5的步驟0512 到0521)。當(dāng)鏡像要部署到多個(gè)虛擬機(jī)時(shí),先把鏡像從磁盤(pán)讀入環(huán)形緩沖區(qū),再進(jìn)行步驟 0814 ;步驟0814,判斷用戶組全部組員是否均完成了該應(yīng)用的部署。如是,轉(zhuǎn)入步驟 0816,否則進(jìn)行步驟0815 ;步驟0815,正常返回;步驟0816,Hypervisor的upcall廣播到下一個(gè)用戶的虛擬機(jī)。進(jìn)行步驟0817 ;步驟0817,訪問(wèn)磁盤(pán),讀取app. pkg文件。把App. pkg中的file, pkg文件釋放到 “黃金虛擬機(jī)鏡像”的虛擬機(jī)中。進(jìn)行步驟0818 ; 步驟0818,把a(bǔ)pp. pkg中的sys. msg放入虛擬機(jī)中(例如將注冊(cè)表信息加入 Windows注冊(cè)表,Windows服務(wù)和C0M/DC0M也分別加入Windows虛擬機(jī)中)。進(jìn)行步驟 0814 ;步驟0819,錯(cuò)誤返回。差分算法圖9是差分算法的組成框和流程混合圖。方框091講到客戶端差分算法的步驟, 方框092則是服務(wù)端差分算法的步驟。差分算法使用了元數(shù)據(jù)(metadata)和文件塊級(jí)別 (block level),而非文件級(jí)別的處理,以增加辨認(rèn)和傳送速度。在客戶端收到黃金鏡像之后,所有的操作都定義為差分的產(chǎn)生。當(dāng)客戶端在線時(shí),客戶端可以訂立一個(gè)檢察差分的時(shí)段,譬如每90秒檢察是否文件塊被改過(guò),計(jì)算這些被改動(dòng)過(guò)文件塊的MD5,并將這些文件塊的元數(shù)據(jù)傳給服務(wù)器。MD5是消息摘要的一種,以其加密算法可以得到1 位元哈希值。元數(shù)據(jù)包括被改過(guò)的文件塊ID,該文件塊所屬文件、文件屬于用戶應(yīng)用、用戶系統(tǒng)數(shù)據(jù)、還是應(yīng)用+OS鏡像等信息。在服務(wù)端也可能有文件塊的改動(dòng),所以收到客戶端傳來(lái)的元數(shù)據(jù)和 MD5信息后,就要進(jìn)行差異解決方案來(lái)同步雙方的差異。然后就可以保存快照。當(dāng)客戶端離線時(shí),元數(shù)據(jù)和文件塊的MD5要保存在客戶端的“代理服務(wù)器”中。這個(gè)代理服務(wù)器是客戶端在離線時(shí)的暫時(shí)數(shù)據(jù)貯藏所。同樣的,在服務(wù)器上也有個(gè)“虛擬客戶端”,是客戶端在離線時(shí)服務(wù)器的文件產(chǎn)生差分時(shí)的暫時(shí)數(shù)據(jù)貯藏所??蛻舳?91的流程具體包括步驟0901,客戶端初始化。進(jìn)行步驟0902 ;步驟0902,判斷是否接到黃金操作系統(tǒng)鏡像。如是,轉(zhuǎn)入步驟0903,否則進(jìn)行步驟 0904 ;步驟0903,通知服務(wù)器收到黃金操作系統(tǒng)鏡像。進(jìn)行步驟0915 ;步驟0904,判斷客戶端是否剛從離線變?cè)诰€。如是,轉(zhuǎn)入步驟0905,否則進(jìn)行步驟 0906 ;步驟0905,取出保存在代理服務(wù)器中的元數(shù)據(jù)。進(jìn)行步驟0906 ;步驟0906,判斷是否客戶端在預(yù)設(shè)時(shí)段內(nèi)有操作。如是,轉(zhuǎn)入步驟0907,否則進(jìn)行步驟0909 ;步驟0907,計(jì)算被改過(guò)文件塊的MD5。進(jìn)行步驟0908 ;步驟0908,并發(fā)傳送元數(shù)據(jù)(Meta-data)和文件塊MD5到服務(wù)器以檢驗(yàn)差異。元數(shù)據(jù)記錄了被改過(guò)的文件塊,該文件塊所屬文件、文件屬于用戶應(yīng)用、用戶系統(tǒng)數(shù)據(jù)、還是應(yīng)用+OS鏡像等信息。轉(zhuǎn)入步驟0920 ;步驟0909,判斷是否用戶要求離線操作。如是,轉(zhuǎn)入步驟0910,否則進(jìn)行步驟 0904,不斷循環(huán)檢查;步驟0910,客戶端離線。進(jìn)行步驟0911;步驟0911,用戶進(jìn)行離線操作時(shí),元數(shù)據(jù)和MD5保持在代理服務(wù)器中;服務(wù)端092的流程具體包括步驟0912,服務(wù)器初始化。進(jìn)行步驟0913 ;步驟0913,判斷操作是否送出黃金操作系統(tǒng)鏡像。如是,轉(zhuǎn)入步驟0914,否則進(jìn)行步驟0916 ;步驟0914,送出黃金操作系統(tǒng)鏡像。進(jìn)行步驟0902 ;步驟0915,得知客戶端收到黃金操作系統(tǒng)鏡像,認(rèn)可。進(jìn)行步驟0916 ;步驟0916,判斷操作在客戶端離線時(shí)服務(wù)器是否有操作。如是,轉(zhuǎn)入步驟0917,否則進(jìn)行步驟0918 ;步驟0917,讀寫(xiě)有差分變化的資源,但黃金操作系統(tǒng)鏡像不變,再按策略組合鏡像。進(jìn)行步驟0922;步驟0918,判斷客戶端是否在線。如是,轉(zhuǎn)入步驟0919,否則進(jìn)行步驟0916 ;步驟0919,若剛從離線變?cè)诰€,取出保存在虛擬客戶端中的元數(shù)據(jù)。進(jìn)行步驟 0920 ;步驟0920,將服務(wù)器端元數(shù)據(jù)與客戶端元數(shù)據(jù)比較。進(jìn)行步驟0921 ;步驟0921,分列出客戶端和服務(wù)器端有差異的文件塊。進(jìn)行步驟0922 ;步驟0922,差異解決方案。進(jìn)行步驟0923 ;步驟0923,如果符合快照時(shí)段(多久產(chǎn)生一快照),保存差分并產(chǎn)生快照。差異解決方案
19
圖10是差異解決方案的組成框和流程混合圖。方框101講到服務(wù)端差異解決方案的步驟,方框102則是客戶端差異解決方案的步驟。差異解決方案使用了客戶與服務(wù)器雙方被改動(dòng)的文件塊(block)的MD5,與前一次快照中這些文件塊的MD5的比較。主要是發(fā)掘哪些文件塊(1)只被客戶端改過(guò),哪些文件塊( 只被服務(wù)器改過(guò),而哪些文件塊(3)既被客戶端改過(guò),又被服務(wù)器端改過(guò)。在(1)中,那些被改動(dòng)的文件塊需要從客戶端傳到服務(wù)器以便組合成快照。在O)中,那些被改動(dòng)的文件塊需要從服務(wù)器端傳到客戶端以便在客戶端重新組合。在(3)中,必需等待管理員做融合操作。融合之后,服務(wù)器與客戶端再按新的文件塊做組合。服務(wù)端101的流程具體包括步驟1001,差異解決方案初始化。進(jìn)行步驟1002 ;步驟1002,比較下列文件塊的MD5 客戶端和服務(wù)器端有差異的文件塊;和最近快照相對(duì)應(yīng)的文件塊。進(jìn)行步驟1003 ;步驟1003,比較MD5。判斷客戶端文件塊與最近快照文件塊是否不符。如不符,轉(zhuǎn)入步驟1004,否則進(jìn)行步驟1005 ;步驟1004,比較MD5。判斷服務(wù)端文件塊與最近快照文件塊是否不符。如不符,轉(zhuǎn)入步驟1007,否則進(jìn)行步驟1006 ;步驟1005,服務(wù)器文件塊與快照不符但客戶端文件塊與快相照符。進(jìn)行步驟 1011 ;步驟1006,服務(wù)器文件塊與快照相符但客戶端文件塊與快照不符。進(jìn)行步驟 1012 ;步驟1007,服務(wù)器文件塊與快照不符而且客戶端文件塊與快照不符。進(jìn)行步驟 1008 ;步驟1008,通知管理員將客戶端與服務(wù)器雙方的改動(dòng)做融合操作。其中必需經(jīng)由客戶端步驟1014獲取客戶端改動(dòng)過(guò)的文件塊。而融合操作的細(xì)節(jié)可以見(jiàn)圖11。最后,提醒客戶端等待融合結(jié)果。轉(zhuǎn)入步驟1009;步驟1009,將融合好的文件塊送去客戶端的步驟1015,并進(jìn)行步驟1010 ;步驟1010,未通過(guò)校驗(yàn)的服務(wù)器端文件塊用融合好的文件塊取代,再按文件塊組合。轉(zhuǎn)入步驟1013 ;步驟1011,將未通過(guò)校驗(yàn)的文件塊發(fā)送去客戶端的步驟1015。轉(zhuǎn)入步驟1013 ;步驟1012,通知客戶端哪些文件塊不符,然后通過(guò)客戶端步驟1014送出這些文件塊。服務(wù)端將未通過(guò)校驗(yàn)的服務(wù)器端文件塊用收到的客戶端文件塊取代,再按文件塊組合。 轉(zhuǎn)入步驟1013 ;步驟1013,正常返回;客戶端102的流程具體包括步驟1014,將服務(wù)器要求的文件塊數(shù)據(jù)傳給服務(wù)器;步驟1015,未通過(guò)校驗(yàn)的客戶器端文件塊用收到的服務(wù)器文件塊取代,再按文件塊組合;融合操作圖11是融合操作的流程圖。融合操作包含自動(dòng)融合(即覆蓋)和手動(dòng)融合。如果是文本級(jí)別的用戶數(shù)據(jù),有可能用標(biāo)示好改動(dòng)部分的文本進(jìn)行手動(dòng)融合。如果是其它類型用戶數(shù)據(jù)或鏡像,只能是手動(dòng)或自動(dòng)覆蓋。流程具體包括步驟1101,追朔改動(dòng)文件塊的文件性質(zhì)。進(jìn)行步驟1102 ;步驟1102,判斷文件塊是屬于用戶應(yīng)用數(shù)據(jù)或系統(tǒng)數(shù)據(jù)。如果是應(yīng)用數(shù)據(jù),轉(zhuǎn)入步驟1103,否則進(jìn)行步驟1106;步驟1103,判斷文件塊是否文本文件。如是,轉(zhuǎn)入步驟1104,否則進(jìn)行步驟1107;步驟1104,標(biāo)示兩個(gè)文件的改動(dòng)部分。進(jìn)行步驟1105 ;步驟1105,以文本文件的比較讓管理員做手動(dòng)融合。進(jìn)行步驟1111 ;步驟1106,判斷文件塊是屬于應(yīng)用或OS鏡像。如是,轉(zhuǎn)入步驟1107,否則進(jìn)行步驟 1112 ;步驟1107,覆蓋式融合。進(jìn)行步驟1108;步驟1108,判斷是否按預(yù)設(shè)策略自動(dòng)覆蓋。如是,轉(zhuǎn)入步驟1109,否則進(jìn)行步驟 1110 ;步驟1109,客戶端文件塊自動(dòng)覆蓋服務(wù)器端文件塊,或服務(wù)器端文件塊自動(dòng)覆蓋客戶端文件塊。進(jìn)行步驟1111 ;步驟1110,彈出對(duì)話框讓管理員決定文件塊的覆蓋方式(誰(shuí)覆蓋誰(shuí))。轉(zhuǎn)入步驟 1111 ;步驟1111,正常返回;步驟1112,錯(cuò)誤返回。串流協(xié)議圖12是串流協(xié)議的流程圖。如果服務(wù)器向客戶端請(qǐng)求的文件塊元數(shù)據(jù)已告知該數(shù)據(jù)在通訊緩存中(由于其它客戶端早先傳輸過(guò)),則可從緩存讀取,不必向客戶端經(jīng)過(guò)通訊取得。至于通訊協(xié)議,可分為長(zhǎng)連接和短連接。長(zhǎng)連接是在一個(gè)TCP連接上可以連續(xù)發(fā)送多個(gè)數(shù)據(jù)包,在TCP連接保持期間,如果沒(méi)有數(shù)據(jù)包發(fā)送,需要雙方發(fā)檢測(cè)包以維持此連接。短連接是通信雙方有數(shù)據(jù)交互時(shí),就建立一個(gè)TCP連接,數(shù)據(jù)發(fā)送完成后,則斷開(kāi)此TCP 連接。如果客戶端只是一個(gè)移動(dòng)存儲(chǔ),首先要在其上裝好Hypervisor和黃金鏡像,再由服務(wù)器的同步傳來(lái)差分。當(dāng)用戶將移動(dòng)存儲(chǔ)插入第三方電腦(例如家庭電腦),客戶端管理器會(huì)自動(dòng)啟動(dòng)客戶端。用戶登錄后可完成離線任務(wù)。當(dāng)用戶在線,采用登入的方式與服務(wù)器端同步。流程具體包括步驟1201,從圖7的雙向鏡像同步而來(lái)。進(jìn)行步驟1202 ;步驟1202,判斷操作是否服務(wù)器請(qǐng)求客戶端。如是,轉(zhuǎn)入步驟1203,否則進(jìn)行步驟 1204 ;步驟1203,比較所要求的文件塊元數(shù)據(jù),若在服務(wù)器緩存中已有(由于其它客戶端早先傳過(guò)),則可立即把數(shù)據(jù)傳回,不必經(jīng)過(guò)實(shí)際通訊傳輸。進(jìn)行步驟1204 ;步驟1204,判斷操作是否通信協(xié)議。如是,轉(zhuǎn)入步驟1205,否則進(jìn)行步驟1209 ;步驟1205,判斷操作是長(zhǎng)連接還是短連接。如是長(zhǎng)連接,轉(zhuǎn)入步驟1206,否則進(jìn)行步驟1207 ;步驟1206,在一個(gè)TCP連接上可以連續(xù)發(fā)送多個(gè)數(shù)據(jù)包,在TCP連接保持期間,如果沒(méi)有數(shù)據(jù)包發(fā)送,需要雙方發(fā)檢測(cè)包以維持此連接。進(jìn)行步驟1208 ;步驟1207,通信雙方有數(shù)據(jù)交互時(shí),就建立一個(gè)TCP連接,數(shù)據(jù)發(fā)送完成后,則斷開(kāi)此TCP連接。進(jìn)行步驟1208 ;步驟1208,進(jìn)行網(wǎng)絡(luò)安全,協(xié)議的加密(https或SSL)。進(jìn)行步驟1209 ;步驟1209,判斷操作是否移動(dòng)存儲(chǔ)。如是,轉(zhuǎn)入步驟1210,否則進(jìn)行步驟1215;步驟1210,移動(dòng)存儲(chǔ)中裝入Hypervisor和客戶端管理器程序包,用戶自己的黃金鏡像,再加上服務(wù)器傳來(lái)的差分。轉(zhuǎn)入步驟1211;步驟1211,用戶以第三方電腦來(lái)自動(dòng)啟動(dòng)這個(gè)移動(dòng)存儲(chǔ),客戶端管理器自動(dòng)啟動(dòng)客戶端。轉(zhuǎn)入步驟1212 ;步驟1212,用戶在第三方電腦登錄后,啟動(dòng)自己的虛擬機(jī)。轉(zhuǎn)入步驟1213 ;步驟1213,完成用戶離線的工作任務(wù)。轉(zhuǎn)入步驟1214;步驟1214,用戶在線的時(shí)候,采用登入(“check in”)的方式與服務(wù)器端同步。轉(zhuǎn)入步驟1215 ;步驟1215,正常返回。電子書(shū)包/電子公務(wù)包圖13是本發(fā)明的電子書(shū)包/電子公務(wù)包架構(gòu)組成框圖。圖中的方框131就是電子書(shū)包,是前面所述的虛擬化客戶端,它可以是一個(gè)臺(tái)式機(jī),移動(dòng)設(shè)備或移動(dòng)存儲(chǔ)。方框132 是學(xué)校或分公司的服務(wù)器,與客戶端以局網(wǎng)相連,這種連接為客戶端提供了教育資源,可以經(jīng)由UTMS/GMS,802. 11或802. 3的局網(wǎng)協(xié)議,下載到本地。而方框133則是教育局或公司總部地服務(wù)器與學(xué)?;蚍止疽詮V域網(wǎng)相連。以下是一個(gè)可移動(dòng)電子書(shū)包的樣本規(guī)格
V輕便手持設(shè)備
V SATA/SCSI 硬盤(pán) 120G ;內(nèi)存 2G
V Intel VT 或AMD SVM CPU
V鍵盤(pán);顯示器;鼠標(biāo)(可選)
V ACPI
V 802. llb/g 接口和 802. 3 接口
V WLAN禾口 UMTS接口預(yù)留
V無(wú)任何附屬存儲(chǔ)設(shè)備接口,CD-ROM,軟驅(qū)
V具備可信專用移動(dòng)存儲(chǔ)接口,以備將來(lái)應(yīng)用,如WLAN或UMTS接入設(shè)備
V可信計(jì)算模塊(TPM)設(shè)備
V支持32位Linux操作系統(tǒng)
V其他基本需求
方框131虛擬客戶端還包括方框1311資源與接入。這是電子書(shū)包的重要功能。資
源與接入1311講到電子書(shū)包兩個(gè)狀態(tài)的數(shù)據(jù)和應(yīng)用方框13111在線數(shù)據(jù)和應(yīng)用,以及方框13112,離線數(shù)據(jù)和應(yīng)用。在狀態(tài)改變時(shí),涉及資源的遷移。方框13111在線數(shù)據(jù)和應(yīng)用必須仰賴方框13113的網(wǎng)絡(luò)接入。方框13112離線數(shù)據(jù)和應(yīng)用則是處于方框13114無(wú)網(wǎng)絡(luò)接入的狀態(tài)。在線和離線的互換,意味著方框13113的網(wǎng)絡(luò)接入和方框13114無(wú)網(wǎng)絡(luò)接入之間的介入狀態(tài)交換。
22
方框132的學(xué)校服務(wù)器,也包括了在線資源1321,其中重要的資源包含⑴推送 Rish OS;(2)教育資源聚合應(yīng)用;(3)特別優(yōu)化集成的視頻、音頻播放軟件;(4)訂閱管理控制。以上所述是電子書(shū)包在教育行業(yè)的應(yīng)用。在辦公這一行業(yè)中,“電子公務(wù)包”有著類似的架構(gòu)。譬如方框131可以是這個(gè)電子公務(wù)包,方框132是分公司服務(wù)器,方框133則是公司總部的服務(wù)器。客戶端131接入局網(wǎng)并從分公司服務(wù)器132下載資源,分公司服務(wù)器透過(guò)廣域網(wǎng)對(duì)總公司服務(wù)器133執(zhí)行網(wǎng)絡(luò)爬蟲(chóng)掃描獲取資源,并實(shí)現(xiàn)推送0S,資源聚合, 訂閱管理等應(yīng)用。推送操作系統(tǒng)(Push OS)服務(wù)器圖14是推送操作系統(tǒng)服務(wù)器的流程圖。該服務(wù)器的操作包含數(shù)據(jù)、應(yīng)用、資源的更新與清理;數(shù)據(jù)、應(yīng)用、資源的稽查,可分為實(shí)時(shí)與非實(shí)時(shí);管理員或上級(jí)批改工作及批量發(fā)送;網(wǎng)絡(luò)資源控制;以及個(gè)人網(wǎng)關(guān),提供接入和虛擬機(jī)訂閱管理控制。流程具體包括步驟1401,推送操作系統(tǒng)服務(wù)端預(yù)備虛擬機(jī)。進(jìn)行步驟1402 ;步驟1402,判斷操作是否為數(shù)據(jù)、應(yīng)用以及資源更新、清理。如是,轉(zhuǎn)入步驟1403, 否則進(jìn)行步驟1404 ;步驟1403,更新、清理數(shù)據(jù)、應(yīng)用以及資源;步驟1404,判斷操作是否為數(shù)據(jù)、應(yīng)用以及資源稽查。如是,轉(zhuǎn)入步驟1405,否則進(jìn)行步驟1408 ;步驟1405,判斷是否實(shí)時(shí)稽查。如是,轉(zhuǎn)入步驟1406,否則進(jìn)行步驟1407 ;步驟1406,實(shí)時(shí)稽查。進(jìn)行步驟1419 ;步驟1407,非實(shí)時(shí)稽查。進(jìn)行步驟1419;步驟1408,判斷操作是否批改工作及批量化發(fā)送。如是,轉(zhuǎn)入步驟1409,否則進(jìn)行步驟1411 ;步驟1409,老師批改作業(yè)或上級(jí)批改公文。進(jìn)行步驟1410 ;步驟1410,判斷是否完成批量化發(fā)送到學(xué)生或下屬。如是,轉(zhuǎn)入步驟1419,否則轉(zhuǎn)回步驟1409 ;步驟1411,判斷操作是否網(wǎng)絡(luò)資源控制。如是,轉(zhuǎn)入步驟1412,否則進(jìn)行步驟 1413 ;步驟1412,網(wǎng)絡(luò)資源控制服務(wù)。轉(zhuǎn)入步驟1419 ;步驟1413,判斷是否個(gè)人網(wǎng)關(guān)。如是,轉(zhuǎn)入步驟1414,否則轉(zhuǎn)入步驟1420 ;步驟1414,虛擬機(jī)訂閱管理控制服務(wù)禁止未授權(quán)人員從網(wǎng)絡(luò)接入。轉(zhuǎn)入步驟
1415;步驟1415,判斷是否在線客戶端設(shè)備無(wú)存儲(chǔ)。如是,轉(zhuǎn)入步驟1418,否則轉(zhuǎn)入步驟
1416;步驟1416,封閉性計(jì)算服務(wù)(見(jiàn)圖17)禁止未授權(quán)應(yīng)用或OS從網(wǎng)絡(luò)接入。轉(zhuǎn)入步驟1417 ;步驟1417,客戶端 <-> 服務(wù)器的雙向差分同步邏輯。轉(zhuǎn)入步驟1419;
步驟1418,傳送屏幕給客戶端。轉(zhuǎn)入步驟1419 ;步驟1419,正常返回;步驟1420,錯(cuò)誤返回。推送操作系統(tǒng)(Push OS)客戶端圖15是推送操作系統(tǒng)客戶端的流程圖。推送操作系統(tǒng)客戶端包括以下特性含CPU的可離線客戶端設(shè)備,離線時(shí)利用封閉性計(jì)算服務(wù)禁止任何未授權(quán)應(yīng)用, 且利用網(wǎng)絡(luò)資源控制服務(wù)禁止連接處制定網(wǎng)絡(luò)外的任何網(wǎng)絡(luò);無(wú)CPU的僅離線OS存儲(chǔ)設(shè)備,接入第三方設(shè)備后,利用封閉性計(jì)算服務(wù)禁止任何未授權(quán)應(yīng)用,且利用網(wǎng)絡(luò)資源控制服務(wù)禁止連接處制定網(wǎng)絡(luò)外的任何網(wǎng)絡(luò);無(wú)存儲(chǔ)的僅在線客戶端設(shè)備,必須在線使用VDI客戶端顯示服務(wù)器虛擬機(jī)屏幕。含CPU的可離線客戶端設(shè)備,在線時(shí)把虛擬機(jī)的差分同步到服務(wù)器。無(wú)CPU的僅離線OS存儲(chǔ)設(shè)備,在線時(shí)與在線設(shè)備差分同步,且與服務(wù)器差分同步。流程具體包括步驟1501,推送操作系統(tǒng)客戶端初始化。進(jìn)行步驟1502 ;步驟1502,判斷操作是否為離線。如是,轉(zhuǎn)入步驟1503,否則進(jìn)行步驟1511 ;步驟1503,判斷離線狀態(tài)是否為可離線客戶端設(shè)備(含CPU)。如是,轉(zhuǎn)入步驟 1504,否則進(jìn)行步驟1506 ;步驟1504,移動(dòng)設(shè)備利用封閉性計(jì)算服務(wù)禁止任何未授權(quán)應(yīng)用。進(jìn)行步驟1505 ;步驟1505,移動(dòng)設(shè)備利用網(wǎng)路資源控制服務(wù)禁止連接除指定網(wǎng)絡(luò)外的任何網(wǎng)絡(luò)。 進(jìn)行步驟1511 ;步驟1506,判斷離線狀態(tài)是否為僅離線OS存儲(chǔ)(無(wú)CPU)。如是,轉(zhuǎn)入步驟1507, 否則進(jìn)行步驟1512 ;步驟1507,接入第三方設(shè)備使用。進(jìn)行步驟1508 ;步驟1508,第三方設(shè)備BIOS啟動(dòng)移動(dòng)存儲(chǔ)。進(jìn)行步驟1509 ;步驟1509,老師批改作業(yè)或上級(jí)批改公文。進(jìn)行步驟1510 ;步驟1510,第三方設(shè)備利用網(wǎng)路資源控制服務(wù)禁止連接除指定網(wǎng)絡(luò)外的任何網(wǎng)絡(luò)。轉(zhuǎn)入步驟1511 ;步驟1511,用戶可創(chuàng)建自己的數(shù)據(jù)。進(jìn)行步驟15M;步驟1512,錯(cuò)誤返回;步驟1513,判斷操作是否為在線。如是,轉(zhuǎn)入步驟1514,否則轉(zhuǎn)入步驟1512 ;步驟1514,判斷在線狀態(tài)是否為僅在線客戶端設(shè)備(無(wú)存儲(chǔ))。如是,轉(zhuǎn)入步驟 1515,否則轉(zhuǎn)入步驟1516 ;步驟1515,客戶端管理器使用VDI客戶端顯示虛擬機(jī)的屏幕。轉(zhuǎn)入步驟1519 ;步驟1516,判斷在線狀態(tài)是否為可離線客戶端設(shè)備(含CPU)。如是,轉(zhuǎn)入步驟 1517,否則轉(zhuǎn)入步驟1520 ;步驟1517,判斷客戶端虛擬機(jī)是否有改變。如是,轉(zhuǎn)入步驟1518,否則轉(zhuǎn)入步驟 1519 ;步驟1518,把虛擬機(jī)上差分的改變同步到服務(wù)器。轉(zhuǎn)入步驟1519 ;步驟1519,在線辦公或?qū)W習(xí)。轉(zhuǎn)入步驟15M;
步驟1520,判斷在線狀態(tài)是否為僅離線OS存儲(chǔ)(無(wú)CPU)。如是,轉(zhuǎn)入步驟1521, 否則轉(zhuǎn)入步驟1525。步驟1521,接入辦公室或?qū)W校終端。轉(zhuǎn)入步驟1522 ;步驟1522,Reverse-seamless 與辦公是或?qū)W校終端差分同步。轉(zhuǎn)入步驟1523 ;步驟1523,Reverse-seamless 與服務(wù)器差分同步。轉(zhuǎn)入步驟1519 ;步驟15M,正常返回;步驟1525,錯(cuò)誤返回。虛擬機(jī)訂閱管理控制與網(wǎng)路資源控制圖15是虛擬機(jī)訂閱管理控制與網(wǎng)路資源控制的組成框和流程混合圖。方框161是客戶端,主要的功能是向服務(wù)器發(fā)接入請(qǐng)求和資源請(qǐng)求。方框162是服務(wù)器,包含方框1621 虛擬機(jī)管理控制服務(wù),和方框1622網(wǎng)絡(luò)資源控制服務(wù)。流程具體如下。以下為方框161客戶端的步驟步驟1601,推送操作系統(tǒng)客戶端初始化。進(jìn)行步驟1603 ;步驟1602,客戶端請(qǐng)求資源。進(jìn)行步驟1609 ;以下為方框1621虛擬機(jī)管理控制服務(wù)的步驟步驟1603,判斷該客戶是否曾訂閱虛擬機(jī)。如是,轉(zhuǎn)入步驟1606,否則進(jìn)行步驟 1605 ;步驟1604,是訂閱人員、虛擬機(jī)的數(shù)據(jù)庫(kù)。提供數(shù)據(jù)給步驟1603 ;步驟1605,錯(cuò)誤返回。通知客戶端執(zhí)行步驟1601的軟件組件;以下為方框1622網(wǎng)絡(luò)資源控制服務(wù)的步驟步驟1606,允許客戶接入。等到用于請(qǐng)求資源后,進(jìn)行步驟1609;步驟1607,資源策略管理器。提供策略以輔助步驟1609的執(zhí)行;步驟1608,資源策略庫(kù),包含允許存取資源索引表ACL,包括授權(quán)URL、授權(quán)資源索引(REST索引)等等。提供資源策略管理器進(jìn)行步驟1607 ;步驟1609,判斷該客戶是否通過(guò)資源管理控制的認(rèn)證。如是,轉(zhuǎn)入步驟1610,否則進(jìn)行步驟1613 ;步驟1610,寫(xiě)入日志。轉(zhuǎn)入步驟1611 ;步驟1611,發(fā)送資源給客戶端步驟1602的軟件模塊;步驟1612,網(wǎng)絡(luò)資源庫(kù)。提供資源給步驟1611 ;步驟1613,寫(xiě)入日志。轉(zhuǎn)入步驟1614;步驟1614,錯(cuò)誤返回,并通知執(zhí)行客戶端步驟1602的軟件組件??蛻舳朔忾]性計(jì)算服務(wù)圖17是本發(fā)明的客戶端封閉性計(jì)算服務(wù)組成框圖。圖中的方框171是參考檢測(cè)模型。這是根據(jù)下述TCB模型(被稱為可信計(jì)算(TC)模型)所構(gòu)成的一個(gè)完整的參考監(jiān)測(cè)模型(Reference Monitor Model)。方框172則是客戶端信任計(jì)算基(Trust Comuting Base, TCB)。TCB包含了方框1721應(yīng)用/數(shù)據(jù)控制鏈路,方框1723電子書(shū)包/公事包的信任控制基,和方框17M的稽查。方框1721的應(yīng)用/數(shù)據(jù)控制鏈路是使用計(jì)算資源許可策略來(lái)控制,以實(shí)現(xiàn)對(duì)計(jì)算需求的許可檢查機(jī)制只有符合許可策略的計(jì)算請(qǐng)求才被處理。應(yīng)用/數(shù)據(jù)的許可是經(jīng)由本地策略管理器這是下述4個(gè)安全鏈路之外的第五安全鏈路。一個(gè)具體的實(shí)現(xiàn)例就是圖16 和它的說(shuō)明。方框1723是電子書(shū)包或電子公事包的信任控制基。該控制基包含方框17231硬件,方框17232軟件,和17233網(wǎng)絡(luò)。17231其實(shí)是一個(gè)開(kāi)放的硬件工業(yè)標(biāo)準(zhǔn)(例如TCM或 TPM),17232軟件進(jìn)一步包含方框172321的應(yīng)用及方框172322的操作系統(tǒng)。在這些方框之間,形成了 4個(gè)安全鏈路(1)鏈路1 硬件啟動(dòng)之OS啟動(dòng)的全鏈路控制(見(jiàn)圖18)(2)鏈路2 封閉OS的實(shí)現(xiàn)(見(jiàn)圖19)(3)鏈路3 本地計(jì)算的封閉性需求(見(jiàn)圖20)(4)鏈路4 硬件TPM/TC M信任鏈確保網(wǎng)絡(luò)接入的安全性(見(jiàn)圖21)此外,客戶端封閉性計(jì)算服務(wù)說(shuō)明了如何阻止駭客攻擊的威脅分析(1)對(duì)于17231的硬件,若客戶端使用其它硬盤(pán),該OS的核心和MBR無(wú)法被TPM/ TCM信任,因而無(wú)法運(yùn)行。(2)對(duì)于172322的操作系統(tǒng),若客戶端使用其它0S,同樣的,由于該OS的核心和 MBR無(wú)法被TPM/TCM信任,因而無(wú)法運(yùn)行。(3)對(duì)于17233的網(wǎng)絡(luò),若用戶使用網(wǎng)線直連其它計(jì)算機(jī),由于無(wú)SLIRP協(xié)議,因而無(wú)法連接。(4)對(duì)整個(gè)客戶端信任計(jì)算基,若用戶意圖使用其他硬件平臺(tái),譬如將墊支書(shū)包或電子公務(wù)包的硬盤(pán)拆掉,安裝在別的機(jī)器上,(4.1)安裝其它OS:雖無(wú)法阻止安裝,但TPM/ TCM會(huì)阻止電子書(shū)包/公務(wù)包的OS和其它OS再在電子書(shū)包/公務(wù)寶的平臺(tái)運(yùn)行。(4. 2) 拷貝數(shù)據(jù)至電子書(shū)包/公務(wù)包的硬盤(pán)雖然無(wú)法阻止拷貝,但電子書(shū)包OS的私有文件系統(tǒng)協(xié)議時(shí)的拷貝數(shù)據(jù)無(wú)法被解析和使用。鏈路1 OS啟動(dòng)的全鏈路控制圖18是鏈路1 :0S啟動(dòng)的全鏈路控制的流程圖。本實(shí)施例是按照個(gè)人電腦啟動(dòng)過(guò)程的國(guó)際標(biāo)準(zhǔn)Unified Extensible Firmware Interface (UEFI)加上鏈路控制的安全可信測(cè)量而得。UEFI共有六個(gè)步驟第一步是SECGecurity),即安全步驟;第二步是PEI (Pre-EFI-Initialization),即EFI之前的初始化步驟;第三步是DXE(Driver Execution Environment),即建立驅(qū)動(dòng)執(zhí)行環(huán)境步驟;第四步是BDS (Boot Dev. Select),即啟動(dòng)設(shè)施選擇步驟;第五步是TSL (Transient System Load),即過(guò)度系統(tǒng)加載步驟;第六步是RT (Rim Time),即運(yùn)行時(shí)的步驟。在這六個(gè)步驟的大部分步驟執(zhí)行前,所要加載的代碼必先經(jīng)過(guò)可信測(cè)量,而只有在可信測(cè)量成功的情況下才能進(jìn)行下一步驟。這樣保證了 OS啟動(dòng)前的全鏈路的安全。具體流程如下步驟1801,執(zhí)行CPU、Chipset、內(nèi)存、棧的初始化代碼,建立C執(zhí)行環(huán)境。進(jìn)行步驟 1802 ;步驟1802,PEI核心代碼調(diào)度CRTM代碼,TPM初始化。進(jìn)行步驟1803 ;步驟1803,安裝TMP協(xié)議、恢復(fù)協(xié)議、哈希協(xié)議。進(jìn)行步驟1804 ;步驟1804,PEI代碼對(duì)DXE代碼進(jìn)行可信測(cè)量;保存可信測(cè)量日志。進(jìn)行步驟 1805 ;步驟1805,判斷是否DXE可信測(cè)量成功。如是,轉(zhuǎn)入步驟1806,否則進(jìn)行步驟
步驟1806,加載執(zhí)行DXE的核心代碼。進(jìn)行步驟1807 ;步驟1807,根據(jù)需要加載DXE核心代碼內(nèi)部或外部EFI驅(qū)動(dòng)、EFI應(yīng)用、或設(shè)備的可選ROM。進(jìn)行步驟1808;步驟1808,DXE核心代碼對(duì)被DXE加載的代碼進(jìn)行可信測(cè)量;保存可信測(cè)量日志。 轉(zhuǎn)入步驟1809 ;步驟1809,判斷是否被DXE加載的代碼可信測(cè)量成功。如是,轉(zhuǎn)入步驟1810,否則進(jìn)行步驟1825 ;步驟1810,DXE核心代碼對(duì)BDS進(jìn)行可信測(cè)量;保存可信測(cè)量日志。進(jìn)行步驟 1811 ;步驟1811,判斷是否BDS可信測(cè)量成功。如是,轉(zhuǎn)入步驟1812,否則進(jìn)行步驟 1825 ;步驟1812,加載執(zhí)行BDS。進(jìn)行步驟1813 ;步驟1813,BDS根據(jù)需要加載設(shè)備的可選ROM。進(jìn)行步驟1816 ;步驟1814,BDS對(duì)被BDS加載的代碼進(jìn)行可信測(cè)量;保存可信測(cè)量日志。進(jìn)行步驟 1815 ;步驟1815,判斷是否被BDS加載的代碼可信測(cè)量成功。如是,轉(zhuǎn)入步驟1816,否則進(jìn)行步驟1825 ;步驟1816,加載執(zhí)行TSL。進(jìn)行步驟1802 ;步驟1817,TSL 加載 Hypervisor Loader 代碼。進(jìn)行步驟 1818 ;步驟1818,TSL對(duì)Hypervisor Loader代碼進(jìn)行可信測(cè)量;保存可信測(cè)量日志。進(jìn)行步驟1819 ;步驟1819,判斷是否Hypervisor加載器可信測(cè)量成功。如是,轉(zhuǎn)入步驟1820,否則進(jìn)行步驟1825 ;步驟1820,加載執(zhí)行Hypervisor。進(jìn)行步驟1821 ;步驟1821,Hypervisor串流虛擬機(jī)代碼。進(jìn)行步驟1822 ;步驟1822,Hypervisor對(duì)虛擬機(jī)代碼進(jìn)行可信測(cè)量;保存可信測(cè)量日志。進(jìn)行步驟 1823 ;步驟1823,判斷是否虛擬機(jī)可信測(cè)量成功。如是,轉(zhuǎn)入步驟1824,否則進(jìn)行步驟 1825。步驟1824,正常返回;步驟1825,錯(cuò)誤返回;鏈路2 封閉OS的實(shí)現(xiàn)圖19是鏈路2 封閉OS的實(shí)現(xiàn)的流程圖。本實(shí)施例是為實(shí)現(xiàn)封閉的0S。共有五個(gè)步驟第一步是部署了 TCB硬件以實(shí)現(xiàn)OS核心的全周期信任控制;第二步是具備信任OS 核心的步驟;第三步是使用私有的核心文件系統(tǒng)協(xié)議;第四步是取消計(jì)算機(jī)用以接通公網(wǎng)的SLIRP通訊協(xié)議棧;第五步是使用雙向同步的網(wǎng)絡(luò)協(xié)議棧。具體流程如下步驟1901,部署TCB硬件實(shí)現(xiàn)OS核心的全生命周期信任控制。進(jìn)行步驟1902 ;步驟1902,信任的OS核心。進(jìn)行步驟1903 ;
27
步驟1903,私有核心文件系統(tǒng)協(xié)議。進(jìn)行步驟1904;步驟1904,取消SLIRP軟件協(xié)議棧。進(jìn)行步驟1905 ;步驟1905,網(wǎng)絡(luò)協(xié)議棧。鏈路3 本地應(yīng)用的封閉性需求圖20是鏈路3 本地應(yīng)用的封閉性需求的流程圖。本實(shí)施例是有關(guān)封閉OS中應(yīng)用的全鏈路的安全。該應(yīng)用必須被授權(quán),而對(duì)已被授權(quán)的應(yīng)用,如果要求安裝其它應(yīng)用或本身要升級(jí),都不被允許。對(duì)于要OS核心變化,TPM/TCM不信任而導(dǎo)致應(yīng)用失??;或用戶不斷自行創(chuàng)建應(yīng)用;或用戶運(yùn)行多樣、隨機(jī)化的應(yīng)用,則由于推送OS運(yùn)行于硬件0S,被其實(shí)是信任控制,所以(1)所有用戶應(yīng)用和數(shù)據(jù)被隔離封裝在Push OS內(nèi),(2)應(yīng)用和數(shù)據(jù)可隨意變化,包括任何核心以及應(yīng)用層數(shù)據(jù)和應(yīng)用的全鏈路,但被硬件OS監(jiān)視和稽查。另外,有關(guān)應(yīng)用和數(shù)據(jù)的狀態(tài)遷移,應(yīng)用在失去網(wǎng)絡(luò)后本地依然有持續(xù)性。一旦上網(wǎng)(on-line),就會(huì)進(jìn)行同步。在線應(yīng)用同步后,進(jìn)入本地,遵循本地規(guī)則運(yùn)行。具體流程如下步驟2001,鏈路3檢驗(yàn)開(kāi)始。進(jìn)行步驟2002 ;步驟2002,判斷是否為OS封閉運(yùn)行中的應(yīng)用。如是,轉(zhuǎn)入步驟2003,否則進(jìn)行步驟 2014 ;步驟2003,判斷是否應(yīng)用已授權(quán)。如是,轉(zhuǎn)入步驟2004,否則進(jìn)行步驟2007 ;步驟2004,允許運(yùn)行。進(jìn)行步驟2005 ;步驟2005,判斷是否應(yīng)用要求安裝其它應(yīng)用。如是,轉(zhuǎn)入步驟2006,否則進(jìn)行步驟 2008 ;步驟2006,硬件OS全封閉,不允許安裝和運(yùn)行任何非指定程序,由TPM硬件實(shí)施控制(軟件和TPM的更新以及升級(jí)由網(wǎng)絡(luò)實(shí)施);步驟2007,禁止該應(yīng)用安裝與運(yùn)行,而且一旦發(fā)現(xiàn)存在,即時(shí)制止;步驟2008,判斷是否應(yīng)用要求升級(jí)。如是,轉(zhuǎn)入步驟2006,否則進(jìn)行步驟2009 ;步驟2009,判斷是否應(yīng)用要OS核心變化,TPM/TCM不信任,應(yīng)用失敗。如是,轉(zhuǎn)入步驟2012,否則進(jìn)行步驟2010 ;步驟2010,判斷是否用戶不斷自行創(chuàng)建應(yīng)用。如是,轉(zhuǎn)入步驟2012,否則進(jìn)行步驟 2011 ;步驟2011,判斷是否多樣、隨機(jī)化的應(yīng)用。如是,轉(zhuǎn)入步驟2012,否則進(jìn)行步驟 2013 ;步驟2012,Push OS運(yùn)行于硬件0S,被其實(shí)施信任控制(TCB) (1)所有用戶應(yīng)用和數(shù)據(jù)被隔離封裝在Push OS內(nèi)。( 應(yīng)用和數(shù)據(jù)可隨意變化,包括任何核心以及應(yīng)用層數(shù)據(jù)和應(yīng)用的全鏈路,但被硬件OS監(jiān)視和稽查;步驟2013,正常返回;步驟2014,判斷是否應(yīng)用和數(shù)據(jù)狀態(tài)遷移。如是,轉(zhuǎn)入步驟2015,否則進(jìn)行步驟 2018 ;步驟2015,應(yīng)用與數(shù)據(jù)在網(wǎng)絡(luò)失去后本地依然有持續(xù)性。進(jìn)行步驟2016 ;
步驟2016,一旦上網(wǎng),進(jìn)行同步。進(jìn)行步驟2017;步驟2017,在線應(yīng)用同步后,進(jìn)入本地,遵循本地規(guī)則進(jìn)行;步驟2018,錯(cuò)誤返回;鏈路4 硬件TPM信任鏈確保網(wǎng)絡(luò)接入的安全性圖21是鏈路4 硬件TPM信任鏈確保網(wǎng)絡(luò)接入的安全性的組成框和流程混合圖。 方框211是客戶端管理器。方框212是Hypervisor,方框213是硬件,特別是具有TPM/TCM 的可信設(shè)備,成為整個(gè)客戶端封閉性計(jì)算服務(wù)的基礎(chǔ)。方框214則是服務(wù)端管理器,重要的是在服務(wù)器上要執(zhí)行TPM/TCM虛擬硬件的映射。另一方面,由圖可見(jiàn),雙向同步PUSH機(jī)制也保證了可信的網(wǎng)絡(luò)計(jì)算環(huán)境。客戶端管理器211的流程具體包括步驟2101,PC BIOS 初始化;Hypervisor 啟動(dòng)。進(jìn)行步驟 2102 ;步驟2102,判斷是否用戶操作。如是,轉(zhuǎn)入步驟2103,否則進(jìn)行步驟2102,繼續(xù)檢
查是否用戶操作;步驟2103,與服務(wù)器端的同步組件2109進(jìn)行黃金鏡像同步,雙向同步PUSH機(jī)制保證可信的網(wǎng)絡(luò)計(jì)算環(huán)境。同時(shí),對(duì)系統(tǒng)應(yīng)用做操作請(qǐng)求。進(jìn)行步驟2104;步驟2104,向服務(wù)器端請(qǐng)求授權(quán)后,運(yùn)行系統(tǒng)應(yīng)用。進(jìn)行步驟2106 ;步驟2105,進(jìn)行本地稽查。進(jìn)行步驟2102;服務(wù)端管理器214的流程具體包括步驟2106,CSV服務(wù)器初始化。進(jìn)行步驟2107 ;步驟2107,TPM/TCM虛擬硬件映射。進(jìn)行步驟2108 ;步驟2108,判斷是否管理員操作。如是,轉(zhuǎn)入步驟2109,否則進(jìn)行步驟2102,繼續(xù)
檢查是否管理員操作;步驟2109,與客戶端的同步組件2109進(jìn)行黃金鏡像同步,雙向同步PUSH機(jī)制保證可信的網(wǎng)絡(luò)計(jì)算環(huán)境。暫住式(Hoteling)Hypervisor 啟動(dòng)圖22是暫住式Hypervisor啟動(dòng)的流程圖。這是Hypervisor如何管理運(yùn)行其上的操作系統(tǒng)的邏輯,包含操作系統(tǒng)的還原、切換、和串流。在網(wǎng)吧行業(yè)里,操作系統(tǒng)的還原有其必要,因?yàn)槊颗_(tái)客戶端的用戶經(jīng)常變換。每次換新的用戶,就必須還原操作系統(tǒng)。至于電子書(shū)包的封閉性安全,則并不需要。用戶可以任意安裝或升級(jí)最新的游戲軟件。在培訓(xùn)的行業(yè)里,有類似的還原需求。但重型的培訓(xùn)機(jī)構(gòu),往往還要求用戶的客戶端硬件,可以經(jīng)常啟動(dòng)不同的虛擬操作系統(tǒng)(例如XP、2003、2008、Vista、Linux)。在這兩種行業(yè)中,客戶端可以有緩存。但緩存的磁盤(pán)可以在當(dāng)?shù)?即PC),或服務(wù)器(即無(wú)盤(pán)工作站)。緩存中的操作系統(tǒng)可以是經(jīng)常被用戶使用的操作系統(tǒng)。流程具體包括步驟2201,暫住式Hypervisor的啟動(dòng)。進(jìn)行步驟2202 ;步驟2202,判斷操作是否為串流(包括升級(jí))操作系統(tǒng)。如是,轉(zhuǎn)入步驟2203,否則進(jìn)行步驟2205 ;步驟2203,目標(biāo)操作系統(tǒng)的標(biāo)示設(shè)定為“默認(rèn)操作系統(tǒng)”。進(jìn)行步驟2204 ;步驟2204,目標(biāo)操作系統(tǒng)串流到緩存中。進(jìn)行步驟2208 ;
步驟2205,判斷操作是否為切換操作系統(tǒng)。如是,轉(zhuǎn)入步驟2206,否則進(jìn)行步驟 2210 ;步驟2206,設(shè)定要切換到的目標(biāo)操作系統(tǒng)。進(jìn)行步驟2207 ;步驟2207,判斷是否目標(biāo)操作系統(tǒng)已在緩存中。如是,轉(zhuǎn)入步驟2208,否則進(jìn)行步驟 2209 ;步驟2208,從緩存加載目標(biāo)操作系統(tǒng)。進(jìn)行步驟2212 ;步驟2209,目標(biāo)操作系統(tǒng)從服務(wù)器串流到緩存中。進(jìn)行步驟2208 ;步驟2210,判斷操作是否還原操作系統(tǒng)。如是,轉(zhuǎn)入步驟2211,否則進(jìn)行步驟 2212 ;步驟2211,從緩存加載目標(biāo)操作系統(tǒng)。進(jìn)行步驟2212;步驟2212,進(jìn)入操作系統(tǒng)啟動(dòng)。在實(shí)際的部署環(huán)境中,由于同步、串流、封閉性計(jì)算和本發(fā)明中所提及的方法,與客戶端的硬件類型、虛擬機(jī)監(jiān)控器(VMM)類型、虛擬機(jī)操作系統(tǒng)類型完全無(wú)關(guān),本方法可適用于客戶端為臺(tái)式機(jī)、筆記本、上網(wǎng)本、移動(dòng)存儲(chǔ)、和其它移動(dòng)設(shè)備,包括智能手機(jī);虛擬機(jī)監(jiān)控器可以是任何商用Hypervisor,包括運(yùn)軟公司的TVM,思杰的Xen,威睿的工作站等等; 虛擬操作系統(tǒng)則可以是Windows,Linux,Android,和其它手機(jī)虛擬機(jī)。另外,所應(yīng)用的行業(yè)也并不限于本專利中所提及的學(xué)校、辦公室、網(wǎng)吧、培訓(xùn)教室。最后,本專利的客戶端虛擬化方法,也能涵蓋英特爾和超微以外的x86虛擬化硬件技術(shù),以及非x86的虛擬化硬件技術(shù)。根據(jù)上述流程的描述可以得出,采用以上客戶端虛擬化的方法,一方面為企業(yè)提供了客戶端虛擬化的技術(shù),該技術(shù)是在雙向同步和封閉計(jì)算的基礎(chǔ)上,創(chuàng)建了客戶端和服務(wù)端的架構(gòu),讓管理員可管理服務(wù)器的各層次用戶應(yīng)用數(shù)據(jù)、用戶系統(tǒng)數(shù)據(jù)、緩存、個(gè)人應(yīng)用、機(jī)構(gòu)應(yīng)用、虛擬機(jī)、和虛擬機(jī)監(jiān)控器。另一方面,由于系統(tǒng)的同步性和安全性,用戶可以在離線時(shí)接入個(gè)人的網(wǎng)絡(luò)(例如家庭網(wǎng)絡(luò)),或利用暫住式Hypervisor啟動(dòng)虛擬機(jī)的特性, 讓一臺(tái)客戶端硬件被多人在不同時(shí)段使用。綜上所述,本發(fā)明結(jié)合了客戶端虛擬化的功能,和服務(wù)器端的相應(yīng)功能同步,加上封閉性計(jì)算的安全機(jī)制,提供了一種各行業(yè)均能使用的方法。本發(fā)明的客戶端虛擬化架構(gòu)為企業(yè)提供了一種客戶端虛擬化的方法,該方法是構(gòu)建在客戶端和服務(wù)器的架構(gòu)上,用戶在線時(shí),在客戶端可以隨時(shí)同步服務(wù)器上的數(shù)據(jù)、應(yīng)用和操作系統(tǒng)。另外,用戶的操作也被實(shí)施嚴(yán)密的安全保護(hù),系統(tǒng)很難被黑客入侵。這樣的系統(tǒng)既可作為VDI的一種一般性擴(kuò)充, 也可以在多種行業(yè)上有其特殊的應(yīng)用。譬如在教育界成為電子書(shū)包,在企業(yè)與事業(yè)里成為電子公文包,在網(wǎng)吧里成為可還原的臺(tái)式機(jī),在培訓(xùn)中心成為經(jīng)常更換操作系統(tǒng)的學(xué)生工作站。上述實(shí)施例是提供給熟悉本領(lǐng)域內(nèi)的人員來(lái)實(shí)現(xiàn)或使用本發(fā)明的。熟悉本領(lǐng)域的人員可在不脫離本發(fā)明的發(fā)明思想的情況下,對(duì)上述實(shí)施例作出種種修改或變化,因而本發(fā)明的保護(hù)范圍并不被上述實(shí)施例所限,而應(yīng)該是符合權(quán)利要求書(shū)提到的技術(shù)特征的最大范圍。
權(quán)利要求
1.一種客戶端虛擬化架構(gòu),其特征在于,實(shí)現(xiàn)利用差分同步和封閉計(jì)算的客戶端虛擬化方法,其中,該客戶端虛擬化架構(gòu)包括客戶端系統(tǒng),該客戶端系統(tǒng)包括數(shù)據(jù)、應(yīng)用程序、虛擬機(jī)、虛擬機(jī)監(jiān)控器、客戶端硬件和客戶端管理軟件;服務(wù)器端系統(tǒng),該服務(wù)器端系統(tǒng)包括服務(wù)端管理軟件、服務(wù)器虛擬化組件、服務(wù)器硬件和服務(wù)器存儲(chǔ)設(shè)備,服務(wù)器存儲(chǔ)設(shè)備包括服務(wù)器本地磁盤(pán)或服務(wù)器連接的網(wǎng)絡(luò)磁盤(pán),服務(wù)器存儲(chǔ)設(shè)備保存用戶數(shù)據(jù)、應(yīng)用程序鏡像、虛擬機(jī)鏡像和虛擬機(jī)監(jiān)控器二進(jìn)制代碼; 虛擬桌面服務(wù)器; 移動(dòng)虛擬化服務(wù)器; 客戶端虛擬化鏡像同步協(xié)議; 虛擬桌面/虛擬機(jī)監(jiān)控器遠(yuǎn)程桌面?zhèn)鬏攨f(xié)議。
2.如權(quán)利要求1所述的客戶端虛擬化架構(gòu),其特征在于,該客戶端虛擬化架構(gòu)是可選的服務(wù)消費(fèi)端和服務(wù)生產(chǎn)端架構(gòu),所述客戶端系統(tǒng)包含虛擬桌面/移動(dòng)虛擬化遠(yuǎn)程桌面?zhèn)鬏攨f(xié)議客戶端,與虛擬桌面服務(wù)器及移動(dòng)虛擬化服務(wù)器互動(dòng);所述客戶端系統(tǒng)和服務(wù)端系統(tǒng)使用分層架構(gòu),該分層架構(gòu)包括用戶應(yīng)用數(shù)據(jù)和系統(tǒng)數(shù)據(jù)、用戶應(yīng)用程序、公司應(yīng)用程序、操作系統(tǒng)、存儲(chǔ)系統(tǒng)、緩存系統(tǒng)、網(wǎng)絡(luò)連接、硬件系統(tǒng); 其中網(wǎng)絡(luò)連接包含使用串流協(xié)議的雙向鏡像同步,硬件系統(tǒng)包含BIOS初始化程序。
3.如權(quán)利要求2所述的客戶端虛擬化架構(gòu),其特征在于,所述BIOS初始化程序包括 進(jìn)行BIOS初始化時(shí),將虛擬機(jī)監(jiān)控器二進(jìn)制碼寫(xiě)入可加載區(qū)域,在BIOS初始化完成后,啟動(dòng)虛擬機(jī)監(jiān)控器;客戶端系統(tǒng)的虛擬機(jī)監(jiān)控器對(duì)虛擬機(jī)的操作系統(tǒng)進(jìn)行升級(jí)、重置、切換、從服務(wù)器端系統(tǒng)同步下載虛擬機(jī)鏡像、向服務(wù)器端系統(tǒng)同步上傳虛擬機(jī)鏡像;虛擬機(jī)監(jiān)控器還對(duì)客戶端虛擬機(jī)監(jiān)控器操作系統(tǒng)進(jìn)行還原并在一個(gè)以上的不同的客戶端虛擬機(jī)操作系統(tǒng)之間進(jìn)行切換。
4.如權(quán)利要求2所述的客戶端虛擬化架構(gòu),其特征在于,所述存儲(chǔ)系統(tǒng)用重定向技術(shù)將用戶系統(tǒng)文件放入同步區(qū)并利用同步備份暫時(shí)文件以外的用戶系統(tǒng)文件;所述存儲(chǔ)系統(tǒng)讀取數(shù)據(jù)時(shí)使用緩存預(yù)取機(jī)制,寫(xiě)數(shù)據(jù)時(shí)對(duì)不同網(wǎng)絡(luò)通道建立不同權(quán)限在不同掛起點(diǎn)上。
5.如權(quán)利要求4所述的客戶端虛擬化架構(gòu),其特征在于,所述緩存預(yù)取機(jī)制是以接入頻率設(shè)定緩存文件塊的優(yōu)先順序,優(yōu)先預(yù)取重要的數(shù)據(jù);如果延遲百分比大于設(shè)定的閥值則減少傳輸速度,如果延遲百分比小于設(shè)定的閥值則增加傳輸速度;如果延遲百分比等于設(shè)定的閥值則請(qǐng)求速度是上一次請(qǐng)求的延遲增加或減少一定值。
6.如權(quán)利要求2所述的客戶端虛擬化架構(gòu),其特征在于,所述雙向鏡像同步包括 使用鏡像拆分生成應(yīng)用程序鏡像,使用鏡像組合生成操作系統(tǒng)鏡像;用戶開(kāi)始對(duì)話期后,如果用戶離線,則用戶得到只讀的黃金鏡像并創(chuàng)建鏡像差分,如果用戶在線,則利用差分算法讀寫(xiě)有差分變化的資源。
7.如權(quán)利要求6所述的客戶端虛擬化架構(gòu),其特征在于,所述鏡像拆分包括創(chuàng)建一個(gè)差分的壓縮文件,該壓縮文件包含監(jiān)控到的系統(tǒng)信息和黃金鏡像之外的文件;所述鏡像組合包括將鏡像拆分所得的壓縮文件解壓,將監(jiān)控到的系統(tǒng)信息和黃金鏡像之外的文件加入客戶端黃金鏡像的虛擬機(jī)中;客戶端的用戶若屬于同一用戶組,其虛擬機(jī)使用服務(wù)器端虛擬機(jī)監(jiān)控器的向上調(diào)用廣播功能為多個(gè)組員實(shí)施組合過(guò)程;在組合過(guò)程中如果虛擬機(jī)監(jiān)控器支持Linux操作系統(tǒng),處理Windows的虛擬應(yīng)用程序鏡像文件包括先把組合文件的讀寫(xiě)轉(zhuǎn)換成對(duì)磁盤(pán)扇區(qū)的讀寫(xiě),然后把對(duì)磁盤(pán)扇區(qū)的讀寫(xiě), 轉(zhuǎn)換成對(duì)Linux qcow2文件的讀寫(xiě)。
8.如權(quán)利要求6所述的客戶端虛擬化架構(gòu),其特征在于,所述差分算法包括對(duì)于在在客戶端系統(tǒng)或服務(wù)器端系統(tǒng)有改變的文件塊,計(jì)算該文件塊的消息摘要,并將文件塊識(shí)別號(hào)、文件塊所屬文件、文件所屬用戶應(yīng)用程序、用戶系統(tǒng)數(shù)據(jù)、應(yīng)用與操作系統(tǒng)合并的鏡像寫(xiě)入元數(shù)據(jù)中;對(duì)于改變過(guò)的文件塊,當(dāng)客戶端系統(tǒng)的消息摘要和元數(shù)據(jù)傳到服務(wù)器端系統(tǒng)后,與服務(wù)器端系統(tǒng)的文件塊的消息摘要和元數(shù)據(jù)相比較,同步差異并生成快照。
9.如權(quán)利要求8所述的客戶端虛擬化架構(gòu),其特征在于,所述同步差異包括服務(wù)器端系統(tǒng)有改動(dòng)的文件塊、客戶端系統(tǒng)有改動(dòng)的文件塊分別與最近快照的文件塊比較消息摘要;若服務(wù)器端系統(tǒng)的文件塊與快照文件塊不符但客戶端系統(tǒng)的文件塊與快照相符,則將未通過(guò)校驗(yàn)的文件塊發(fā)送到客戶端系統(tǒng),客戶端系統(tǒng)收到后,將相對(duì)應(yīng)的文件塊用收到的文件塊取代;若客戶端系統(tǒng)的文件塊與快照文件塊不符但服務(wù)器端系統(tǒng)的文件塊與快照相符,則向客戶端系統(tǒng)要求這些未通過(guò)校驗(yàn)的文件塊,服務(wù)端系統(tǒng)收到后,將相對(duì)應(yīng)的文件塊用收到的文件塊取代;若客戶端系統(tǒng)的文件塊與快照文件塊不符,而且服務(wù)器端系統(tǒng)的文件塊與快照也不符,則進(jìn)行融合操作,完成融合以后,在客戶端系統(tǒng)和服務(wù)器端系統(tǒng)將相對(duì)應(yīng)的文件塊用融合好的文件塊取代。
10.如權(quán)利要求9所述的客戶端虛擬化架構(gòu),其特征在于,所述融合操作包括如果被改動(dòng)的文件塊是文本文件,標(biāo)示改動(dòng)的部分進(jìn)行顯示并進(jìn)行融合,如果被改動(dòng)的文件塊不是文本文件,則按預(yù)設(shè)的策略決定進(jìn)行覆蓋。
11.如權(quán)利要求6所述的客戶端虛擬化架構(gòu),其特征在于,所述串流協(xié)議包括如果服務(wù)器端系統(tǒng)向客戶端系統(tǒng)要求傳文件塊,而該文件塊經(jīng)由數(shù)據(jù)元對(duì)比已知存在緩存系統(tǒng)中,則立即將緩存系統(tǒng)中的文件塊發(fā)送給服務(wù)器端系統(tǒng);如果客戶端系統(tǒng)是移動(dòng)存儲(chǔ)器,則該移動(dòng)存儲(chǔ)器首先經(jīng)下載獲得虛擬機(jī)監(jiān)控器、客戶端系統(tǒng)和用戶的黃金鏡像,然后通過(guò)第三方電腦啟動(dòng)移動(dòng)存儲(chǔ)器并進(jìn)行離線任務(wù)。
12.一種電子書(shū)包,其特征在于,包括經(jīng)客戶端虛擬化的客戶端與服務(wù)器端;其中服務(wù)器端作為中介服務(wù)器,一端經(jīng)由固網(wǎng)或移動(dòng)通信網(wǎng)與客戶端相連,另一端經(jīng)由廣域網(wǎng)連接到上級(jí)服務(wù)器;服務(wù)器端作為推送操作系統(tǒng)的服務(wù)端,包括資源聚合應(yīng)用;客戶端作為推送操作系統(tǒng)的客戶端,實(shí)現(xiàn)在線與離線時(shí)的資源遷移以及網(wǎng)絡(luò)接入狀態(tài)的交換。
13.如權(quán)利要求12所述的電子書(shū)包,其特征在于,所述推送操作系統(tǒng)的服務(wù)端執(zhí)行 數(shù)據(jù)、應(yīng)用程序、資源的更新與清理;數(shù)據(jù)、應(yīng)用程序、資源的實(shí)時(shí)稽查與非實(shí)時(shí)稽查; 網(wǎng)絡(luò)資源控制;提供個(gè)人網(wǎng)關(guān)接入和虛擬機(jī)訂閱管理控制。
14.如權(quán)利要求12所述的電子書(shū)包,其特征在于,所述推送操作系統(tǒng)的客戶端是下列設(shè)備的其中之一具有中央處理器的離線客戶端設(shè)備,在離線時(shí)利用封閉性計(jì)算服務(wù)禁止未授權(quán)應(yīng)用, 并利用網(wǎng)絡(luò)資源控制服務(wù)禁止連接處制定網(wǎng)絡(luò)外的網(wǎng)絡(luò);或者不具有中央處理器的僅離線操作系統(tǒng)存儲(chǔ)設(shè)備,在接入第三方設(shè)備后,利用封閉性計(jì)算服務(wù)禁止未授權(quán)應(yīng)用,并利用網(wǎng)絡(luò)資源控制服務(wù)禁止連接處制定網(wǎng)絡(luò)外的網(wǎng)絡(luò);或者不具有存儲(chǔ)器的僅在線客戶端設(shè)備,在線使用虛擬桌面客戶端的顯示服務(wù)器虛擬機(jī)屏幕;或者具有中央處理器的可離線客戶端設(shè)備,在線時(shí)把虛擬機(jī)的差分同步到服務(wù)器端;或者不具有中央處理器的僅離線操作系統(tǒng)存儲(chǔ)設(shè)備,在線時(shí)與在線設(shè)備差分同步,還與服務(wù)器端差分同步。
15.如權(quán)利要求13所述的電子書(shū)包,其特征在于,所述虛擬機(jī)訂閱管理控制包括 客戶端請(qǐng)求接入時(shí),需要通過(guò)虛擬機(jī)數(shù)據(jù)庫(kù)驗(yàn)證該客戶曾訂閱過(guò)虛擬機(jī)。
16.如權(quán)利要求14所述的電子書(shū)包,其特征在于,所述網(wǎng)絡(luò)資源控制服務(wù)包括客戶端被允許接入服務(wù)器端后,還通過(guò)資源管理控制的認(rèn)證,所述資源管理控制的認(rèn)證經(jīng)由資源索引表通過(guò)資源策略管理器來(lái)驗(yàn)證;所述存取資源索引表包含授權(quán)URL、授權(quán)資源索引REST。
17.如權(quán)利要求14所述的電子書(shū)包,其特征在于,所述封閉性計(jì)算服務(wù)包括 客戶端信任計(jì)算基,包含以下五個(gè)安全鏈路(1)硬件啟動(dòng)至操作系統(tǒng)啟動(dòng)的全鏈路控制;(2)封閉操作系統(tǒng);(3)本地封閉計(jì)算;(4)確保網(wǎng)絡(luò)接入安全性的TPM/TCM信任鏈路;(5)應(yīng)用/數(shù)據(jù)控制鏈。
18.如權(quán)利要求17所述的電子書(shū)包,其特征在于,所述硬件啟動(dòng)至操作系統(tǒng)啟動(dòng)的全鏈路控制包括PCR信任鏈路,包括(1)IPL/MBR-內(nèi)核哈希;(2)BI0S-IPL/MBR哈希;(3)CRTM-BI0S 哈希;電子書(shū)包/電子公文包可信任計(jì)算的操作系統(tǒng); 電子書(shū)包/電子公文包可信任計(jì)算的硬件平臺(tái)。
19.如權(quán)利要求17所述的電子書(shū)包,其特征在于,所述封閉操作系統(tǒng)包括部署信任計(jì)算基的硬件實(shí)現(xiàn)操作系統(tǒng)核心的全生命周期信任控制; 信任的操作系統(tǒng)核心; 私有核心文件系統(tǒng)協(xié)議; 取消SLIRP通訊協(xié)議棧; 網(wǎng)絡(luò)協(xié)議棧。
20.如權(quán)利要求17所述的電子書(shū)包,其特征在于,所述本地封閉計(jì)算包括 應(yīng)用程序在操作系統(tǒng)封閉運(yùn)行時(shí),如果應(yīng)用程序未獲授權(quán),禁止該應(yīng)用程序的安裝與運(yùn)行; 如果應(yīng)用程序已被授權(quán),則進(jìn)行下列控制(1)該應(yīng)用程序要求升級(jí),或要求安裝其它應(yīng)用程序,由TPM/TCM實(shí)施;(2)該應(yīng)用程序要改變操作系統(tǒng)核心,將推送操作系統(tǒng)運(yùn)行于硬件操作系統(tǒng),實(shí)施信任控制。
21.如權(quán)利要求17所述的電子書(shū)包,其特征在于,所述確保網(wǎng)絡(luò)接入安全性的TPM/TCM 信任鏈路包括客戶端TPM/TCM的可信設(shè)備; 服務(wù)器端TPM/TCM虛擬硬件映射設(shè)備; 雙向同步推送機(jī)制。
全文摘要
本發(fā)明揭示了一種客戶端虛擬化架構(gòu),實(shí)現(xiàn)利用差分同步和封閉計(jì)算的客戶端虛擬化方法,其中,該客戶端虛擬化架構(gòu)包括客戶端系統(tǒng)、服務(wù)器端系統(tǒng)、虛擬桌面服務(wù)器、虛擬機(jī)監(jiān)控器服務(wù)器、客戶端虛擬化鏡像同步協(xié)議、虛擬桌面/虛擬機(jī)監(jiān)控器遠(yuǎn)程桌面?zhèn)鬏攨f(xié)議??蛻舳讼到y(tǒng)包括數(shù)據(jù)、應(yīng)用程序、虛擬機(jī)、虛擬機(jī)監(jiān)控器、客戶端硬件和客戶端管理軟件;服務(wù)器端系統(tǒng)包括服務(wù)端管理軟件、服務(wù)器虛擬化組件、服務(wù)器硬件和服務(wù)器存儲(chǔ)設(shè)備,服務(wù)器存儲(chǔ)設(shè)備包括服務(wù)器本地磁盤(pán)或服務(wù)器連接的網(wǎng)絡(luò)磁盤(pán),服務(wù)器存儲(chǔ)設(shè)備保存用戶數(shù)據(jù)、應(yīng)用程序鏡像、虛擬機(jī)鏡像和虛擬機(jī)監(jiān)控器二進(jìn)制代碼。
文檔編號(hào)H04L29/08GK102447723SQ20101050563
公開(kāi)日2012年5月9日 申請(qǐng)日期2010年10月12日 優(yōu)先權(quán)日2010年10月12日
發(fā)明者湯傳斌, 王彥新 申請(qǐng)人:運(yùn)軟網(wǎng)絡(luò)科技(上海)有限公司