微處理器、微控制器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)或其他的數(shù)字或模擬電路。在一些實施例中,處理器118、122可解釋和/或執(zhí)行存儲在存儲器120、124中的程序指令,并且/或者可處理存儲在存儲器120、124中的數(shù)據(jù)。存儲器120、124可部分地或完全地配置成應用存儲器、系統(tǒng)存儲器或者系統(tǒng)存儲器和應用存儲器兩者。存儲器120、124可包括配置成用于保持和/或容納一個或多個存儲器模塊的任何系統(tǒng)、設備或裝置。每個存儲器模塊可包括配置成用于保留程序指令和/或數(shù)據(jù)一段時間的任何系統(tǒng)、設備或裝置(如,計算機可讀介質)。用于客戶機分配應用112和主機分配應用108的指令、邏輯或數(shù)據(jù)可駐留在存儲器120、124中,以供處理器118、122來執(zhí)行。
[0027]圖2示出共享鏡像的示例實施例和可由系統(tǒng)100用于確定共享鏡像和客戶機上的內(nèi)容之間的差異的內(nèi)容的示例實施例。
[0028]在一個實施例中,分配的共享鏡像可包括共享鏡像文件視圖202。在此類實施例中,系統(tǒng)100可逐文件地確定主機共享鏡像的操作所必需的內(nèi)容是否存在于客戶機上。在另一實施例中,分配的共享鏡像可包括共享鏡像群集視圖204。在此類實施例中,系統(tǒng)100可逐群集地確定主機共享鏡像的操作所必需的內(nèi)容是否存在于客戶機上。此類群集可包括就像此類文件駐留在盤上或存儲器中那樣的文件的集合。在一個實施例中,操作系統(tǒng)分區(qū)可被劃分成多個此類群集。共享鏡像文件視圖202或共享鏡像群集視圖204可各自實現(xiàn)來自圖1的主機共享鏡像110。
[0029]在一個實施例中,給定客戶機上的客戶機內(nèi)容可包括內(nèi)容文件視圖236。在此類實施例中,系統(tǒng)100可逐文件地確定主機共享鏡像的操作所必需的內(nèi)容是否存在于客戶機上。在另一實施例中,給定客戶機上的客戶機內(nèi)容可包括內(nèi)容群集視圖258。在此類實施例中,系統(tǒng)100可逐群集地確定主機共享鏡像的操作所必需的內(nèi)容是否存在于客戶機上。此類群集可包括就像此類文件駐留在盤上或存儲器中那樣的文件的集合。內(nèi)容文件視圖236或內(nèi)容群集視圖258可各自實現(xiàn)來自圖1的客戶機內(nèi)容114。
[0030]出于示例性的目的,共享鏡像文件視圖202可包括位于像特定的多個文件存在于要在多個客戶機上構建的共享鏡像中那樣的多個特定目錄中的多個特定文件的多個條目,諸如 “\dir\filel.txt” 206、“\dir\file2.exe” 208、“\dir2\filel.txt” 210、“\dir3\file4.cfg”212、“\dir3\file5.dat”214、“\dir3\file6.sys”216、“\dir3\filel.txt,,218和“\dir4\filel.txt”220。由此,共享鏡像文件視圖202可標識出鏡像可使用具有相同名稱但位于不同的目錄中的多個文件。具有相同名稱的此類文件的內(nèi)容可以是相同或不同的。
[0031]可以通過類似的方式將內(nèi)容文件視圖236組織到共享鏡像文件視圖202中,但是內(nèi)容文件視圖236可以示出諸如客戶機104a之類的客戶機的示例內(nèi)容。內(nèi)容文件視圖236可包括位于像特定的多個文件存在于多個客戶機之內(nèi)那樣的多個特定目錄中的多個特定文件的多個條目,諸如 “\dir\file2.exe” 238、“\dir2\file3.bat” 240、“\dir3\file4a.cfg”242、“\dir3\file5.dat”244、“\dir4\file.txt”246、“\dir4\file2.exe” 248、“\dir23\file9.txt”250、“\dir23\filel0.txt”252、“\dir79\file7.db,,254 和“\dir79\filel0.txt”256。
[0032]由此,內(nèi)容文件視圖236可標識:位于多個目錄中的、具有相同名稱的多個文件;比出現(xiàn)在共享鏡像文件視圖202中更多或更少的文件;與出現(xiàn)在共享鏡像文件視圖202中的文件具有相同的名稱的一些文件;以及與出現(xiàn)在共享鏡像文件視圖202中、并且進一步出現(xiàn)在與共享鏡像文件視圖202中的目錄相同或不相同的目錄中的文件具有相同的名稱的一些此類的文件。然而,在內(nèi)容文件視圖236和共享鏡像文件視圖202之間可能通過名稱或者通過名稱和目錄來對應的一些文件可能實際上具有不同的內(nèi)容或者可能是相同文件的不同版本。甚至出現(xiàn)在共享鏡像文件視圖202之內(nèi)或內(nèi)容文件視圖236之內(nèi)的、具有相同名稱的一些此類文件可能具有不同的內(nèi)容或者可能是相同文件的不同版本。同樣,在內(nèi)容文件視圖236和共享鏡像文件視圖202之間通過目錄可能不對應的一些文件可能包含相同的內(nèi)容。此外,在內(nèi)容文件視圖236和共享鏡像文件視圖202之間甚至通過名稱可能不對應的一些文件可能包含相同的內(nèi)容。
[0033]出于示例性的目的,共享鏡像群集視圖204可包括存儲器中或盤上的多個特定地址處的多個特定群集。每一個此類的群集可包括指令、代碼或其他內(nèi)容的給定集合,并且,為了便于引用和說明,可將其標記為“群集η”。此外,可引用多個特定的地址,為了便于引用和說明,給定的存儲器地址記為“xNNNN”。圖2中給出的實際的存儲器地址僅僅是示例,并且在給定的實施例中可以在尺寸上有所不同。共享鏡像群集視圖204可包括例如,地址X0000222處的“群集I”、地址X0001222處的“群集2”、地址x0002222處的“群集3”、地址X0003222處的“群集4”、地址x0004222處的“群集2”、地址x0005222處的“群集2”、地址X0006222處的“群集5”、地址x0007222處的“群集6”和地址x0008222處的“群集7”。每個群集可包括例如,一系列數(shù)據(jù)、多個部分的文件或其他數(shù)字信息。
[0034]可以通過類似的方式將內(nèi)容群集視圖258組織到共享鏡像群集視圖204中,但是內(nèi)容群集視圖258可以示出諸如客戶機104a之類的客戶機的示例內(nèi)容。內(nèi)容群集視圖258可包括位于像多個特定的群集駐留在多個客戶機之內(nèi)的存儲器中或盤上那樣的多個特定地址處的多個特定群集的多個條目,諸如,地址X0000260處的“群集4”、地址X0001262處的“群集8”、地址X0002264處的“群集9”、地址x0003266處的“群集10”、地址x0004268處的“群集11”、地址X0005270處的“群集7”、地址x0006272處的“群集7”、地址x0007274處的“群集12”、地址X0008276處的“群集11”、地址x0009278處的“群集6”、地址xOOOA 280處的“群集3”、地址xOOOB 282處的“群集2”和地址xOOOC 264處的“群集2”。
[0035]由此,內(nèi)容群集視圖258可標識:位于多個地址中的、具有相同標識的多個群集;比出現(xiàn)在共享鏡像群集視圖204中更多或更少的群集;與出現(xiàn)在共享鏡像群集視圖204中的群集具有相同的標識的一些群集;以及與出現(xiàn)在共享鏡像群集視圖204中、并且進一步出現(xiàn)在與共享鏡像群集視圖204中的地址相同或不相同的地址位置中的群集具有相同的標識的一些此類的群集。
[0036]客戶機分配應用112和主機分配應用108可配置成用于確定例如共享鏡像文件視圖202和內(nèi)容文件視圖236之間的差異或者共享鏡像群集視圖204和內(nèi)容群集視圖258之間的差異。此類差異可能需要確定文件或群集的根本內(nèi)容的實際標識,或者可能需要匹配位于不同的目錄中或在不同的存儲器地址處的內(nèi)容??蛻魴C分配應用112和主機分配應用108可配置成用于以任何合適的方式來確定此類差異。例如,客戶機分配應用112或主機分配應用108可配置成用于通過確定此類條目的一個或多個唯一的標識符來標識共享鏡像文件視圖202、內(nèi)容文件視圖236、共享鏡像群集視圖204和內(nèi)容群集視圖258中的多個條目。在一個實施例中,客戶機分配應用112或主機分配應用108可配置成用于計算此類條目的一個或多個散列或數(shù)字簽名??墒褂蒙尚畔⒌纳⒘谢驍?shù)字簽名的任何合適的算法或其他方式。在進一步的實施例中,客戶機分配應用112或主機分配應用108可配置成用于為每個條目計算單個此類散列或數(shù)字簽名。在另一進一步的實施例中,客戶機分配應用112或主機分配應用108可配置成用于為每個條目計算多個此類散列或數(shù)字簽名。
[0037]圖3是從用于為共享鏡像視圖中的每個條目確定多個散列或數(shù)字簽名的客戶機分配應用或主機分配應用108的操作得到的多個散列表的示例實施例的示意圖。例如,共享鏡像文件散列表302可以是客戶機分配應用112或主機分配應用108確定共享鏡像文件視圖202中的每個條目的兩個散列或數(shù)字簽名的結果。共享鏡像文件散列表302可包括對應于來自共享鏡像文件視圖202的每一個文件306、所得到的第一散列308和所得到的第二散列310的多個字段。在圖3中所示的示例實施例中,取決于評價哪一個“filel.txt”,“filel.txt”可產(chǎn)生不同的散列值——“123,,,,- “986”或“773”- “269”??蓸嫿▽谥T如內(nèi)容文件視圖236之類的內(nèi)容視圖的類似的表,這些表可包括多個找到的文件和多個相關聯(lián)的所確定的散列和簽名的多個條目。
[0038]共享鏡像群集散列表304可以是客戶機分配應用112或主機分配應用108確定共享鏡像群集視圖204中的每個條目的兩個散列或數(shù)字簽名的結果。共享鏡像群集散列表304可包括對應于來自共享鏡像群集視圖204的每一個群集地址312、所得到的第一散列314和所得到的第二散列316的多個字段??蓸嫿▽谥T如內(nèi)容群集視圖258之類的內(nèi)容視圖的類似的表,這些表可包括多個找到的文件和多個相關聯(lián)的所確定的散列和簽名的多個條目。
[0039]圖4是用于高效的虛擬機部署的系統(tǒng)100的示例操作的示意圖。客戶機分配應用112或主機分配應用108可確定要在本地將主機共享鏡像110的共享鏡像116創(chuàng)建到客戶機104a中。在(I)處,客戶機分配應用112可向客戶機104a查詢其內(nèi)容,諸如客戶機內(nèi)容114中的那些內(nèi)容。在⑵處檢索了來自客戶機內(nèi)容114的內(nèi)容之后,客戶機分配應用112可在(3)處對內(nèi)容散列表402中的結果進行挑選、評價和分類。能以與圖3中所示的共享鏡像文件散列表302或共享鏡像群集散列表304相同或類似的方式來實現(xiàn)內(nèi)容散列表402。主機分配應用108可從主機共享鏡像110中構建共享鏡像散列表404,以標識主機共享鏡像110的元素的文件、目錄以及這些文件和目錄的相關聯(lián)的散列。能以與圖3中所示的共享鏡像文件散列表302或共享鏡像群集散列表304相同或類似的方式來實現(xiàn)共