高效的虛擬機部署方法
【專利說明】
[0001]發(fā)明的
技術(shù)領(lǐng)域
[0002]本發(fā)明總體涉及計算機安全,更具體地說,本發(fā)明涉及高效的虛擬機部署方法。
【背景技術(shù)】
[0003]計算機和其他電子設(shè)備上的惡意軟件感染侵入性強,并且難以檢測和修復(fù)。反惡意軟件解決方案可能需要將惡意代碼或文件的簽名與被評價的軟件進行比對,從而確定該軟件對計算系統(tǒng)有害。反惡意軟件解決方案可包括掃描客戶機或端點以找出惡意軟件的指示,或者針對惡意軟件感染來修復(fù)客戶機或端點。數(shù)據(jù)文件、惡意軟件簽名、修復(fù)應(yīng)用或其他反惡意軟件組件可被下載到端點。
[0004]在電子設(shè)備上執(zhí)行的應(yīng)用在能夠被執(zhí)行之前需要安裝。一些應(yīng)用通過簡單地將代碼復(fù)制到目標(biāo)電子設(shè)備就可被安裝,但是其他應(yīng)用可能使用安裝應(yīng)用程序。安裝應(yīng)用程序通??砂ò惭b源文件和代碼,該代碼用于執(zhí)行用于運行給定應(yīng)用的修改和安裝。安裝應(yīng)用程序可解壓縮文件、在目標(biāo)電子設(shè)備上創(chuàng)建文件夾、在這些文件夾中存儲資料,以及以其他方式使應(yīng)用可得到以供執(zhí)行。
【發(fā)明內(nèi)容】
[0005]在一個實施例中,用于共享鏡像的分配的方法包括:確定軟件安裝程序的鏡像的多個元素;確定客戶機的多個內(nèi)容;對所述鏡像的所述多個元素執(zhí)行第一散列操作;對所述客戶機的所述多個內(nèi)容執(zhí)行所述第一散列操作;將對所述鏡像的所述多個元素執(zhí)行的所述第一散列操作的多個結(jié)果與對所述客戶機的所述多個內(nèi)容執(zhí)行的所述第一散列操作的多個結(jié)果進行比較;基于對所述鏡像的所述多個元素執(zhí)行的所述第一散列操作的多個結(jié)果與對所述客戶機的所述多個內(nèi)容執(zhí)行的所述第一散列操作的多個結(jié)果進行的所述比較,確定所述鏡像的所述多個元素中的一個或多個元素在所述客戶機上是不可得到的;以及對所述鏡像的、被確定為在所述客戶機上不可得到的多個元素進行選擇性的傳輸。
[0006]在另一實施例中,制品包括計算機可讀介質(zhì)和在所述計算機可讀介質(zhì)上攜帶的計算機可執(zhí)行指令。所述指令可由處理器讀取。當(dāng)讀取并執(zhí)行所述指令時,所述指令使所述處理器用于:確定軟件安裝程序的鏡像的多個元素;確定客戶機的多個內(nèi)容;對所述鏡像的所述多個元素執(zhí)行第一散列操作;對所述客戶機的所述多個內(nèi)容執(zhí)行所述第一散列操作;將對所述鏡像的所述多個元素執(zhí)行的所述第一散列操作的多個結(jié)果與對所述客戶機的所述多個內(nèi)容執(zhí)行的所述第一散列操作的多個結(jié)果進行比較;基于對所述鏡像的所述多個元素執(zhí)行的所述第一散列操作的多個結(jié)果與對所述客戶機的所述多個內(nèi)容執(zhí)行的所述第一散列操作的多個結(jié)果進行的所述比較,確定所述鏡像的所述多個元素中的一個或多個元素在所述客戶機上是不可得到的;以及對所述鏡像的、被確定為在所述客戶機上不可得到的多個元素進行選擇性的傳輸。
[0007]在又一實施例中,用于共享鏡像的分配的系統(tǒng)包括:用于確定軟件安裝程序的鏡像的多個元素的裝置;用于確定客戶機的多個內(nèi)容的裝置;用于對所述鏡像的所述多個元素執(zhí)行第一散列操作的裝置;用于對所述客戶機的所述多個內(nèi)容執(zhí)行所述第一散列操作的裝置;用于將對所述鏡像的所述多個元素執(zhí)行的所述第一散列操作的多個結(jié)果與對所述客戶機的所述多個內(nèi)容執(zhí)行的所述第一散列操作的多個結(jié)果進行比較的裝置;用于確定所述鏡像的所述多個元素中的一個或多個元素在所述客戶機上不可得到的裝置;以及用于對所述鏡像的、被確定為在所述客戶機上不可得到的多個元素進行選擇性的傳輸?shù)难b置。所述確定基于對所述鏡像的所述多個元素執(zhí)行的所述第一散列操作的多個結(jié)果與對所述客戶機的所述多個內(nèi)容執(zhí)行的所述第一散列操作的多個結(jié)果進行的所述比較。
【附圖說明】
[0008]為了獲得對本發(fā)明及其特征和優(yōu)勢更完全的理解,現(xiàn)在參考結(jié)合所附附圖進行的下列描述,其中:
[0009]圖1是用于高效的虛擬機部署的示例系統(tǒng)的示意圖;
[0010]圖2示出共享鏡像的示例實施例和可由系統(tǒng)用于確定共享鏡像和客戶機上的內(nèi)容之間的差異的內(nèi)容的示例實施例;
[0011]圖3是通過確定多個散列或數(shù)字簽名而得到的散列表的示例實施例的示意圖;
[0012]圖4是用于高效的虛擬機部署的系統(tǒng)的示例操作的示意圖;
[0013]圖5是用于確定用于構(gòu)建共享鏡像的文件是否可得到的系統(tǒng)的示例操作的示意圖;
[0014]圖6是用于確定用于構(gòu)建共享鏡像的群集是否可得到的系統(tǒng)的示例操作的示意圖;以及
[0015]圖7是用于高效的虛擬機部署的方法的示例實施例。
【具體實施方式】
[0016]圖1是用于高效的虛擬機部署的示例系統(tǒng)100的示意圖??稍谥鳈C(如,主機102)和一個或多個客戶機(如,多個客戶機104)之間進行此類部署。雖然示例系統(tǒng)100構(gòu)想了虛擬機的部署,但是,可由系統(tǒng)100部署任何合適的軟件安裝。系統(tǒng)100可配置成用于確定安裝在給定客戶機104上的多個組件和可從主機102上的主鏡像上得到的多個組件之間的差異。系統(tǒng)100可配置成用于以任何合適的方式來進行此類確定。此外,系統(tǒng)100可配置成用于提供還沒有安裝在給定的客戶機104上的或還不能以其他方式在給定的客戶機104上得到的任何組件。
[0017]可通過任何合適的機制來實現(xiàn)主機102,諸如,模塊、服務(wù)器、計算機、其他電子設(shè)備或數(shù)字和模擬電路的任何合適的組合。在一個實施例中,主機102可包括耦合至存儲器120的處理器118。主機102可包括存儲器120中用于由處理器118來執(zhí)行的多條指令。在另一實施例中,處理器118和存儲器120可駐留在另一電子設(shè)備上,并可將主機102作為模塊來執(zhí)行。
[0018]在一個實施例中,主機102可包括主機分配應(yīng)用108,該主機分配應(yīng)用108配置成用于控制軟件向多個客戶機104的分配。在其他實施例中,該主機分配應(yīng)用108可駐留在另一合適的電子設(shè)備上或可在另一合適的電子設(shè)備上操作。主機分配應(yīng)用108可通過按本文中所描述的方式而配置的任何合適的模塊、腳本、可執(zhí)行文件、應(yīng)用或其他數(shù)字實體來實現(xiàn)。
[0019]在一個實施例中,主機102可包括主機共享鏡像110,該主機共享鏡像110可包括要安裝在多個客戶機104上的軟件安裝程序的主鏡像。在其他實施例中,主機共享鏡像110可駐留在另一合適的電子設(shè)備上,并且可通信地耦合至主機分配應(yīng)用。主機共享鏡像110可通過文件、指令或其他數(shù)字信息的任何合適的集合來實現(xiàn)。主機共享鏡像110可包括文件或其他信息的集合,這些文件或其他信息構(gòu)成例如諸如操作系統(tǒng)之類的虛擬機安裝程序、虛擬部署環(huán)境、沙盒或諸如安全瀏覽器之類的安全應(yīng)用。主機共享鏡像110可包括要以相同的方式在多個客戶機104之間安裝并配置的此類安裝程序。此外,主機共享鏡像110可以是非常大的,其包括許多兆字節(jié)或許多千兆字節(jié)的信息。例如,允許可能含有惡意軟件的程序、腳本或其他內(nèi)容被安全地運行的沙盒應(yīng)用可包括在客戶機上執(zhí)行所必需的將近500兆字節(jié)的信息。雖然示出了單個主機共享鏡像110,但是,主機102可包括許多此類鏡像,這些鏡像可包括安裝程序或具有各種內(nèi)容的磁盤鏡像,諸如以特定方式配置的不同的操作系統(tǒng)。此類鏡像可用于例如在各種客戶機104上構(gòu)建公共虛擬機執(zhí)行鏡像。
[0020]主機分配應(yīng)用108可配置成用于通過任何合適的方式或機制向多個客戶機104分配主機共享鏡像110。在一個實施例中,主機分配應(yīng)用108可通過網(wǎng)絡(luò)106通信地耦合至多個客戶機104或與多個客戶機104通信。網(wǎng)絡(luò)106可通過任何合適的方式來實現(xiàn),例如,通過廣域網(wǎng)、局域網(wǎng)、無線網(wǎng)絡(luò)、因特網(wǎng)、內(nèi)聯(lián)網(wǎng)或上述各項的任意組合。
[0021]每一個客戶機104可通過任何合適的電子設(shè)備來實現(xiàn),諸如,計算機、膝上型計算機、移動設(shè)備或服務(wù)器。雖然在客戶機104a中示出客戶機104的示例實施例,但是每一個客戶機104在實現(xiàn)上可以與其他此類的客戶機不同??蛻魴C104a可包括通信地耦合至客戶機內(nèi)容114的客戶機分配應(yīng)用112。客戶機分配應(yīng)用112可以通過任何合適的方式或通過任何合適的機制來實現(xiàn),諸如,通過模塊、庫、可執(zhí)行文件、應(yīng)用、腳本或其他數(shù)字實體。客戶機內(nèi)容114可包括駐留在客戶機104a上的一個或多個文件、庫或其他數(shù)字實體??蛻魴C104a可包括耦合至存儲器124的處理器122。處理器122可包括由存儲器124執(zhí)行的多條指令。此類指令可包括用于客戶機分配應(yīng)用112的操作的多條指令。
[0022]雖然將客戶機104a示出為包括客戶機分配應(yīng)用112,并且將主機102示出為包括主機分配應(yīng)用108,但是,客戶機分配應(yīng)用112和主機分配應(yīng)用108中的每一個可在執(zhí)行所描述的操作時駐留在任何合適的電子設(shè)備上或在任何合適的電子設(shè)備上執(zhí)行。此外,可在相同或相似的模塊、應(yīng)用、庫或可執(zhí)行文件上實現(xiàn)客戶機分配應(yīng)用112和主機分配應(yīng)用108。
[0023]客戶機分配應(yīng)用112可配置成用于與主機分配應(yīng)用108進行通信??蛻魴C分配應(yīng)用112、主機分配應(yīng)用108或者兩者的組合可配置成用于確定客戶機內(nèi)容114的哪些部分可用于在客戶機104a上安裝主機共享鏡像110以及哪些部分是需要被下載的??蛻魴C分配應(yīng)用112、主機分配應(yīng)用108或者兩者的組合可配置成用于以任何合適的方式或機制來執(zhí)行此類確定。
[0024]—旦客戶機內(nèi)容114的這樣的部分已經(jīng)駐留在客戶機104a上或者確定了需要被下載的那些部分,則主機分配應(yīng)用108可配置成用于發(fā)送足以供客戶機分配應(yīng)用112在客戶機104a上安裝共享鏡像116的附加文件或內(nèi)容。主機分配應(yīng)用108可利用供客戶機分配應(yīng)用112執(zhí)行的這些附加文件或內(nèi)容來準(zhǔn)備安裝包。在一個實施例中,可通過主機分配應(yīng)用108來僅發(fā)送還未駐留在客戶機104a上的文件或內(nèi)容。在另一實施例中,共享鏡像116可在存儲器中復(fù)制主機共享鏡像110的配置和結(jié)構(gòu)。主機分配應(yīng)用108可配置成用于復(fù)制多個客戶機104上的主機共享鏡像110的所創(chuàng)建的共享鏡像的過程。
[0025]可以在需要時執(zhí)行在客戶機104a上構(gòu)建共享鏡像116所需的文件的過程,并且該過程可節(jié)省許多帶寬。例如,如果需要沙盒應(yīng)用來執(zhí)行可疑的文件、腳本或其他內(nèi)容,則可確定在客戶機104a上還不可得到的沙盒應(yīng)用的僅必要部分,并將其傳送到客戶機104a。當(dāng)此類沙盒應(yīng)用非常大、并且包括數(shù)百兆字節(jié)、具有特定的執(zhí)行配置、也許對用戶來說還是未知的時候,向客戶機104a高效地部署所需的內(nèi)容的能力可以節(jié)省可觀的帶寬和時間,并且可以協(xié)助保護客戶機104a。
[0026]處理器118、122可包括例如,配置成用于解釋和/或執(zhí)行程序指令和/或處理數(shù)據(jù)的