高效的虚拟机部署方法

文档序号:9476256阅读:366来源:国知局
高效的虚拟机部署方法
【专利说明】
[0001]发明的
技术领域
[0002]本发明总体涉及计算机安全,更具体地说,本发明涉及高效的虚拟机部署方法。
【背景技术】
[0003]计算机和其他电子设备上的恶意软件感染侵入性强,并且难以检测和修复。反恶意软件解决方案可能需要将恶意代码或文件的签名与被评价的软件进行比对,从而确定该软件对计算系统有害。反恶意软件解决方案可包括扫描客户机或端点以找出恶意软件的指示,或者针对恶意软件感染来修复客户机或端点。数据文件、恶意软件签名、修复应用或其他反恶意软件组件可被下载到端点。
[0004]在电子设备上执行的应用在能够被执行之前需要安装。一些应用通过简单地将代码复制到目标电子设备就可被安装,但是其他应用可能使用安装应用程序。安装应用程序通常可包括安装源文件和代码,该代码用于执行用于运行给定应用的修改和安装。安装应用程序可解压缩文件、在目标电子设备上创建文件夹、在这些文件夹中存储资料,以及以其他方式使应用可得到以供执行。

【发明内容】

[0005]在一个实施例中,用于共享镜像的分配的方法包括:确定软件安装程序的镜像的多个元素;确定客户机的多个内容;对所述镜像的所述多个元素执行第一散列操作;对所述客户机的所述多个内容执行所述第一散列操作;将对所述镜像的所述多个元素执行的所述第一散列操作的多个结果与对所述客户机的所述多个内容执行的所述第一散列操作的多个结果进行比较;基于对所述镜像的所述多个元素执行的所述第一散列操作的多个结果与对所述客户机的所述多个内容执行的所述第一散列操作的多个结果进行的所述比较,确定所述镜像的所述多个元素中的一个或多个元素在所述客户机上是不可得到的;以及对所述镜像的、被确定为在所述客户机上不可得到的多个元素进行选择性的传输。
[0006]在另一实施例中,制品包括计算机可读介质和在所述计算机可读介质上携带的计算机可执行指令。所述指令可由处理器读取。当读取并执行所述指令时,所述指令使所述处理器用于:确定软件安装程序的镜像的多个元素;确定客户机的多个内容;对所述镜像的所述多个元素执行第一散列操作;对所述客户机的所述多个内容执行所述第一散列操作;将对所述镜像的所述多个元素执行的所述第一散列操作的多个结果与对所述客户机的所述多个内容执行的所述第一散列操作的多个结果进行比较;基于对所述镜像的所述多个元素执行的所述第一散列操作的多个结果与对所述客户机的所述多个内容执行的所述第一散列操作的多个结果进行的所述比较,确定所述镜像的所述多个元素中的一个或多个元素在所述客户机上是不可得到的;以及对所述镜像的、被确定为在所述客户机上不可得到的多个元素进行选择性的传输。
[0007]在又一实施例中,用于共享镜像的分配的系统包括:用于确定软件安装程序的镜像的多个元素的装置;用于确定客户机的多个内容的装置;用于对所述镜像的所述多个元素执行第一散列操作的装置;用于对所述客户机的所述多个内容执行所述第一散列操作的装置;用于将对所述镜像的所述多个元素执行的所述第一散列操作的多个结果与对所述客户机的所述多个内容执行的所述第一散列操作的多个结果进行比较的装置;用于确定所述镜像的所述多个元素中的一个或多个元素在所述客户机上不可得到的装置;以及用于对所述镜像的、被确定为在所述客户机上不可得到的多个元素进行选择性的传输的装置。所述确定基于对所述镜像的所述多个元素执行的所述第一散列操作的多个结果与对所述客户机的所述多个内容执行的所述第一散列操作的多个结果进行的所述比较。
【附图说明】
[0008]为了获得对本发明及其特征和优势更完全的理解,现在参考结合所附附图进行的下列描述,其中:
[0009]图1是用于高效的虚拟机部署的示例系统的示意图;
[0010]图2示出共享镜像的示例实施例和可由系统用于确定共享镜像和客户机上的内容之间的差异的内容的示例实施例;
[0011]图3是通过确定多个散列或数字签名而得到的散列表的示例实施例的示意图;
[0012]图4是用于高效的虚拟机部署的系统的示例操作的示意图;
[0013]图5是用于确定用于构建共享镜像的文件是否可得到的系统的示例操作的示意图;
[0014]图6是用于确定用于构建共享镜像的群集是否可得到的系统的示例操作的示意图;以及
[0015]图7是用于高效的虚拟机部署的方法的示例实施例。
【具体实施方式】
[0016]图1是用于高效的虚拟机部署的示例系统100的示意图。可在主机(如,主机102)和一个或多个客户机(如,多个客户机104)之间进行此类部署。虽然示例系统100构想了虚拟机的部署,但是,可由系统100部署任何合适的软件安装。系统100可配置成用于确定安装在给定客户机104上的多个组件和可从主机102上的主镜像上得到的多个组件之间的差异。系统100可配置成用于以任何合适的方式来进行此类确定。此外,系统100可配置成用于提供还没有安装在给定的客户机104上的或还不能以其他方式在给定的客户机104上得到的任何组件。
[0017]可通过任何合适的机制来实现主机102,诸如,模块、服务器、计算机、其他电子设备或数字和模拟电路的任何合适的组合。在一个实施例中,主机102可包括耦合至存储器120的处理器118。主机102可包括存储器120中用于由处理器118来执行的多条指令。在另一实施例中,处理器118和存储器120可驻留在另一电子设备上,并可将主机102作为模块来执行。
[0018]在一个实施例中,主机102可包括主机分配应用108,该主机分配应用108配置成用于控制软件向多个客户机104的分配。在其他实施例中,该主机分配应用108可驻留在另一合适的电子设备上或可在另一合适的电子设备上操作。主机分配应用108可通过按本文中所描述的方式而配置的任何合适的模块、脚本、可执行文件、应用或其他数字实体来实现。
[0019]在一个实施例中,主机102可包括主机共享镜像110,该主机共享镜像110可包括要安装在多个客户机104上的软件安装程序的主镜像。在其他实施例中,主机共享镜像110可驻留在另一合适的电子设备上,并且可通信地耦合至主机分配应用。主机共享镜像110可通过文件、指令或其他数字信息的任何合适的集合来实现。主机共享镜像110可包括文件或其他信息的集合,这些文件或其他信息构成例如诸如操作系统之类的虚拟机安装程序、虚拟部署环境、沙盒或诸如安全浏览器之类的安全应用。主机共享镜像110可包括要以相同的方式在多个客户机104之间安装并配置的此类安装程序。此外,主机共享镜像110可以是非常大的,其包括许多兆字节或许多千兆字节的信息。例如,允许可能含有恶意软件的程序、脚本或其他内容被安全地运行的沙盒应用可包括在客户机上执行所必需的将近500兆字节的信息。虽然示出了单个主机共享镜像110,但是,主机102可包括许多此类镜像,这些镜像可包括安装程序或具有各种内容的磁盘镜像,诸如以特定方式配置的不同的操作系统。此类镜像可用于例如在各种客户机104上构建公共虚拟机执行镜像。
[0020]主机分配应用108可配置成用于通过任何合适的方式或机制向多个客户机104分配主机共享镜像110。在一个实施例中,主机分配应用108可通过网络106通信地耦合至多个客户机104或与多个客户机104通信。网络106可通过任何合适的方式来实现,例如,通过广域网、局域网、无线网络、因特网、内联网或上述各项的任意组合。
[0021]每一个客户机104可通过任何合适的电子设备来实现,诸如,计算机、膝上型计算机、移动设备或服务器。虽然在客户机104a中示出客户机104的示例实施例,但是每一个客户机104在实现上可以与其他此类的客户机不同。客户机104a可包括通信地耦合至客户机内容114的客户机分配应用112。客户机分配应用112可以通过任何合适的方式或通过任何合适的机制来实现,诸如,通过模块、库、可执行文件、应用、脚本或其他数字实体。客户机内容114可包括驻留在客户机104a上的一个或多个文件、库或其他数字实体。客户机104a可包括耦合至存储器124的处理器122。处理器122可包括由存储器124执行的多条指令。此类指令可包括用于客户机分配应用112的操作的多条指令。
[0022]虽然将客户机104a示出为包括客户机分配应用112,并且将主机102示出为包括主机分配应用108,但是,客户机分配应用112和主机分配应用108中的每一个可在执行所描述的操作时驻留在任何合适的电子设备上或在任何合适的电子设备上执行。此外,可在相同或相似的模块、应用、库或可执行文件上实现客户机分配应用112和主机分配应用108。
[0023]客户机分配应用112可配置成用于与主机分配应用108进行通信。客户机分配应用112、主机分配应用108或者两者的组合可配置成用于确定客户机内容114的哪些部分可用于在客户机104a上安装主机共享镜像110以及哪些部分是需要被下载的。客户机分配应用112、主机分配应用108或者两者的组合可配置成用于以任何合适的方式或机制来执行此类确定。
[0024]—旦客户机内容114的这样的部分已经驻留在客户机104a上或者确定了需要被下载的那些部分,则主机分配应用108可配置成用于发送足以供客户机分配应用112在客户机104a上安装共享镜像116的附加文件或内容。主机分配应用108可利用供客户机分配应用112执行的这些附加文件或内容来准备安装包。在一个实施例中,可通过主机分配应用108来仅发送还未驻留在客户机104a上的文件或内容。在另一实施例中,共享镜像116可在存储器中复制主机共享镜像110的配置和结构。主机分配应用108可配置成用于复制多个客户机104上的主机共享镜像110的所创建的共享镜像的过程。
[0025]可以在需要时执行在客户机104a上构建共享镜像116所需的文件的过程,并且该过程可节省许多带宽。例如,如果需要沙盒应用来执行可疑的文件、脚本或其他内容,则可确定在客户机104a上还不可得到的沙盒应用的仅必要部分,并将其传送到客户机104a。当此类沙盒应用非常大、并且包括数百兆字节、具有特定的执行配置、也许对用户来说还是未知的时候,向客户机104a高效地部署所需的内容的能力可以节省可观的带宽和时间,并且可以协助保护客户机104a。
[0026]处理器118、122可包括例如,配置成用于解释和/或执行程序指令和/或处理数据的
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1