CN102362258A - 验证虚拟机 - Google Patents
验证虚拟机 Download PDFInfo
- Publication number
- CN102362258A CN102362258A CN2009801582755A CN200980158275A CN102362258A CN 102362258 A CN102362258 A CN 102362258A CN 2009801582755 A CN2009801582755 A CN 2009801582755A CN 200980158275 A CN200980158275 A CN 200980158275A CN 102362258 A CN102362258 A CN 102362258A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- attribute
- rule
- differences
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 40
- 238000003860 storage Methods 0.000 claims description 7
- 230000009471 action Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 8
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44589—Program code verification, e.g. Java bytecode verification, proof-carrying code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
Abstract
根据一个实施例,对虚拟机属性进行验证。从所述虚拟机(152)在上面执行的主机(120)获得(320)关于虚拟机(152)的属性的信息(142)。从所述虚拟机(152)获得330实际虚拟机属性(162)。通过比较关于所述属性的所述信息(142)与所述实际虚拟机属性(162)来确定(340)在关于所述属性的所述信息(142)与所述实际虚拟机属性(162)之间的差异。
Description
背景技术
现代数据中心经常采用虚拟服务器技术,其中大量的虚拟化计算机服务器在相对较少数量的主机服务器上执行。主机服务器是通常所说的“主机”的示例而虚拟化计算机服务器是通常所说的“虚拟机”的示例。
怀有恶意的个体可以重新配置虚拟机来犯罪。例如,怀有恶意的个体可以增加处理器的数量和网络带宽以为跨越网络进行拒绝服务(DOS)攻击做准备。在另一示例中,例如,为了隐藏信息,怀有恶意的个体可以增加虚拟机的磁盘空间。进一步地,怀有恶意的个体可以将构造(construct)放置在虚拟机上,从而使得虚拟机将报告其具有预期的配置,以屏蔽或隐藏所做出的恶意修改。怀有恶意的个体也可以将构造放置在主机上来隐藏恶意修改。提供适当的注意来确保虚拟机的安全性和完整性可能是昂贵的。
附图说明
被并入对实施例的本说明中并且形成对实施例的本说明的一部分的附图图示了本发明的各种实施例,并且与本说明一起用来解释在下文中所讨论的原理:
图1是根据一个实施例的、用于验证虚拟机属性的方框图。
图2是根据一个实施例的、用于验证虚拟机属性的虚拟机验证器的方框图。
图3和图4是根据各种实施例的、用于验证虚拟机属性的计算机实施的方法的流程图的方框图。
除非具体地指出,在本简要说明中所提到的图不应该被理解成是按比例绘制的。
具体实施方式
现将详细地参考本主题的各种实施例,本主题的示例被图示在附图中。虽然在本文中讨论了各种实施例,但是将理解的是,它们并不意图限于这些实施例。相反地,所呈现的实施例意图函盖替换、修改和等同变化,这些都可以被包括在如由随附权利要求所限定的各种实施例的精神和范围之内。此外,在对实施例的以下说明中,为了提供对本主题的实施例的彻底理解陈述了许多具体的细节。然而,在没有这些具体的细节的情况下,可以实现各实施例。在其它实例中,未对熟知的方法、过程、部件和电路进行详细的描述以便不会不必要地使所描述的实施例的各方面模糊。
概念和术语
除非具体地说明否则如根据以下的讨论显而易见的,应当理解的是,贯穿对实施例的本说明,利用诸如“获得”、“访问”、“确定”、“使用”、“通信”、“选择”、“接收”、“生成”、“报告”、“使用”、“供应”、“配置”、“修改”、“验证”等的术语的讨论指代计算机系统或电子计算设备的行为和过程。计算机系统或类似的电子计算设备对计算机系统的寄存器和存储器内的表示为物理(电子的)量的数据进行操作并且将其变换为类似地表示为在计算机系统存储器或寄存器或其它这样的信息存储、传输或显示设备内的物理量的其它数据。本主题的某些实施例也很适于其它计算机系统(诸如,例如光学和虚拟计算机)的使用。
讨论的介绍
参考图1,随着虚拟化的到来,虚拟机152、154、156、158能够在主机120、130上执行。虚拟机(virtual machine,VM)152、154、156、158具有各自的属性162、164、166、168(在本文中被称为“实际虚拟机属性”),所述虚拟机被配置成与各自的属性一起执行。虚拟机属性的几个示例包括分配的处理器的数量、分配的存储器的量以及存储磁盘的数量和大小。
主机120、130也可以具有关于它们各自的虚拟机152、154、156、158的属性的信息122、132。例如,VM 152和154在主机120上执行。VM 156和158在主机130上执行。主机120具有关于VM 152的属性的信息142和关于VM 154的属性的信息144。主机130具有关于VM 156的属性的信息146和关于VM 158的属性的信息148。
在主机120、130所具有的关于虚拟机152、154、156、158的信息142、144、146、148与VM 152、154、156、158的实际属性162、164、166、168之间可能存在差异。例如,为了实行犯罪,怀有恶意的人可以修改实际属性162、164、166、168。在另一示例中,由于配置错误或者程序设计错误可能存在差异。因此,根据一个实施例,虚拟机验证器200将主机120、130的关于虚拟机的属性的信息142、144、146、148与实际虚拟机属性162、164、166、168进行比较以确定是否存在任何差异。
主机120、130的关于其各自的虚拟机152、154、156、158的信息142、144、146、148和实际VM 属性162、164、166、168是与虚拟机属性有关的信息的源的示例,可以将它们进行比较以确定是否存在差异。与虚拟机属性有关的信息的源的其它示例是与网络地图170相关联的预期属性176以及规则190。根据各种实施例,虚拟机验证器200能够比较主机120、130的信息122、132、实际属性162、164、166、168、预期属性176和规则190的各种组合以确定在它们中的任何两个或多个之间是否存在差异。根据一个实施例,虚拟机验证器200生成包括该虚拟机验证器200所确定的差异中的一个或多个的报告199。如在本文中所描述的,虚拟机验证器200自动地确定差异。例如,虚拟机验证器200能够连续地或周期性地确定差异。
虚拟机验证器200可以例如通过网络179与主机120、130、网络地图170和规则190中的任何一个或多个进行通信或对其进行访问。该网络179可以是本地局域网或者因特网。
公用数据中心
公用数据中心(UDC)被用于自动地并且动态地供应来自资源池的资源,以创建通常所说的资源“农场”的计算环境。当不再使用计算环境时,UDC能够将资源返回给池。UDC能够使用已返回的资源来自动地并且动态地供应另一计算环境(通常也被称为“重新供应”)。除了别的以外,能够被供应和重新供应的资源的示例是存储器、联网构造、服务器、交换机、计算机、装置和网络元件(诸如路由器)以及虚拟机。服务器和计算机是“计算资源”的示例。负载平衡器和防火墙是“装置”的示例。
公用控制器(UC)178(图1)通常与UDC相关联。除了别的以外,公用控制器178管理资源池并且确保农场的分段以提供一个农场与其它农场的安全隔离。计算资源和装置通常专用于农场(也被称为“专用资源”),而存储器和联网构造能够在农场之间被共享(也被称为“共享资源”)。公用控制器178可以监控共享资源、将故障或者重要事件(诸如入侵尝试)警告给网络操作中心。
公用控制器178能够被用于更新网络地图170。根据一个实施例,公用控制器178使用网络地图170作为至与数据中心相关联的资源的导引。例如,每当通过公用控制器来供应、配置、重新供应或重新配置新的资源,公用控制器178可以更新网络地图170。术语“供应”应该包括初始供应和重新供应。术语“配置”应该包括初始配置和重新配置。
公用控制器178的示例包括但不限于:HPTM Insight Control(HPTM洞察控制器)、HPTM Virtual connect(HPTM虚拟连接)、HPTM Insight Dynamics Virtual Server Environment(VSE)(HPTM洞察动态虚拟服务器环境)、HPTM Storage Works(HPTM存储件)。公用数据中心的示例包括但不限于:HPTM 的Adaptive Infrastructure as a Service(作为服务的适应性基础设施)和HPTM 的Flexible Computing Services(灵活计算服务)。
可以使用一个或多个公用控制器产品来例如利用公用计算模型以例如通过根据需要供应和重新供应资源来动态地提供数据中心资源而使数据中心自动化。这样的数据中心能够被称作公用数据中心。术语“云计算”也已经被应用于这种类型的数据中心。使用数据中心,客户能够购买通过因特网交付的计算能力和信息存储器。
主机和虚拟机
根据一个实施例,主机120、130是具有使虚拟机152、154、156、158能够在主机120、130上面执行的操作系统的硬件。主机120、130可以是服务器机器。
根据一个实施例,虚拟机152、154、156、158是在主机120、130的操作系统的上面执行的系统镜像。虚拟机152、154、156、158犹如它自身是机器一样地运行。虚拟机软件产品的一个示例是VMware Inc. TM的VMwareTM产品。
为了修改虚拟机152、154、156、158的实际属性162、164、166、168、或者为了修改主机120、130的关于虚拟机的属性的信息122、132、或其组合,怀有恶意的个体可以利用与虚拟机152、154、156、158相关联的安全性设施,如将变得更加明显的那样。各种实施例提供用于检测恶意修改。
可以利用由在网络操作中心(NOC)中的管理员所下发的命令来控制和配置主机120、130以及虚拟机152、154、156、158。公用控制器(UC)能够被用来自动地供应和配置在主机上的虚拟机。
虚拟机属性
虚拟机属性是虚拟机被配置具有的属性。虚拟机属性的示例包括但不限于分配给虚拟机的处理器的数量、分配给虚拟机的存储器的量、由虚拟机所使用的存储磁盘的数量和大小、磁盘通道的最大输入/输出(I/O)速率、与虚拟机相关联的网络接口卡(NIC)的数量、每个NIC的最大I/O速率。
虚拟机实际上被配置具有的虚拟机属性被称为“实际虚拟机属性”。实际VM属性的示例是162、164、166、168。主机120、130也可以包括关于主机120、130将其虚拟机152、154、156、158的属性142、144、146、148理解成是什么的信息122、132。例如,主机120具有关于正在它上面执行的虚拟机152、154的信息142和144,并且主机130具有关于正在它上面执行的虚拟机156、158的信息146和148。
网络地图170包括虚拟机152、154、156、158被预期具有的属性。这些属性被称为“预期虚拟机属性”。分别与虚拟机152、154、156以及158相对应的预期虚拟机属性182、184、186、188是网络地图170的预期虚拟机属性的示例。
规则190也能够被用来确定关于虚拟机属性的信息。能够被基于规则190来确定的属性192、194、196、198应该被称为“VM规则属性”。
网络地图
根据一个实施例,网络地图170存储由例如与数据中心相关联的主机120、130作为其主机的虚拟机152、154、156、158的预期VM属性176。根据一个实施例,网络地图170是机器可读的。网络地图170可以由公用控制器来自动地更新。然而,网络地图170可以由与网络操作中心相关联的管理员来手动地更新。因此,甚至在不包括公用控制器的系统100中也可以使用网络地图170作为验证虚拟机属性的一部分。
网络地图170可以包括各虚拟机152、154、156、158的预期属性182、184、186、188。如图1中所描绘的,预期VM属性182与VM 152相关,预期VM 属性184与VM 154相关,预期VM 属性186与VM 156相关,以及预期VM属性188与VM 158相关。
网络地图170可以包括主机120、130的位置172和虚拟机152、154、156、158的位置174。主机120的位置被存储为位置1721并且主机130的位置被存储为网络地图170的主机位置172的位置1722。VM 152的位置被存储为位置1741,VM 154的位置被存储为位置1742,VM 156的位置被存储为位置1743,以及VM 158的位置被存储为位置1744。根据一个实施例,主机120、130或虚拟机152、154、156、158的位置172、1722、1741-1744是因特网协议(IP)地址。
为了简单起见,在网络地图170中分别地描绘主机位置172、VM位置174以及预期VM属性176。然而,根据一个实施例,与主机相关的信息被分组在一起并且与虚拟机相关的信息被分组在一起。例如,主机的位置和在该主机上执行的虚拟机可能与该主机被组成组。虚拟机的位置和该虚拟机的预期属性可能被分组在一起。更具体而言,网络地图170可以以表2中所示出的顺序包括其内容。
表2 根据一个实施例的、内容与网络地图170相关联的顺序。
描述 | 附图标记 |
主机120的位置 | 1721 |
VM 152的位置 | 1741 |
VM 152的预期属性 | 182 |
VM 154的位置 | 1742 |
VM 154的预期属性 | 184 |
主机130的位置 | 1722 |
VM 156的位置 | 1743 |
VM 156的预期属性 | 186 |
VM 158的位置 | 1744 |
VM 158的预期属性 | 188 |
根据一个实施例,以信息出现在网络地图170中的顺序来访问关于VM属性的信息的各种源。继续该示例,从网络地图170来访问主机120的位置1721,并且使用主机120的位置1721来定位主机120和访问关于虚拟机的属性的信息122。在网络地图170中访问VM 152的位置1741并且使用VM 152的位置1741来访问VM 152的实际属性162。可以将VM 152的实际属性162与VM 152的预期属性182进行比较。在网络地图170中访问VM 154的位置1742并且使用VM 154的位置1742来访问VM 154的实际属性164,等等。
根据一个实施例,网络地图170不包括预期VM属性176。在这种情况下,各种实施例可以使用主机位置172 或VM位置174、或其组合。根据一个实施例,网络地图170不包括VM位置174。在这种情况下,各种实施例可以使用主机位置172来访问主机120、130。主机120、130能够提供他们各自的VM 152-158的位置。
根据一个实施例,网络地图170被存储在数据库中。根据一个实施例,网络地图170是“配置管理数据库”或者CMDB。
规则
规则190提供指定关于预期或禁用配置(诸如预期或禁用VM属性)的策略的方法。违反规则190使得能发现作为诙谐错误(humor error)或恶意活动的结果的配置。规则190能够包括为被用来配置虚拟机的属性指定的最小值和最大值,以及在属性之间的关系的约束。规则190能够容易地被改写成反映用于不同数据中心的不同策略。根据一个实施例,规则190是以扩展标记语言(XML)来写成的。尽管规则190的示例中的许多示例使用XML,但是可以使用提供能够被用于指定规则190的语法的任何语言。
规则190可以包括包含用于VM 152-158的一个或多个规则的VM规则属性192、194、196、198。如图1中所描绘的,VM规则属性192与VM 152相关,VM规则属性194与VM 154相关,VM规则属性196与VM 156相关,以及VM规则属性198与VM 158相关。为了简便起见,规则190被描绘成具有用于VM 152、154、156、158中的每一个的VM规则属性192、194、196、198。然而,规则可以与不止一个的VM 152、154、156、158相关。例如,VM规则属性192和VM规则属性196两者都可以包括相同规则中的一个或多个。下面的表1描绘了若干示例性规则。
表1:示例性规则
如表1中所描绘的,每个规则1-6包括各种子句。使用语法(syntax)来描述规则和与那些规则1-6相关联的子句。除了别的以外,子句的示例是规则名称(rule name)、相关性(dependencies)、说明(specifications)。除了别的以外,语法的示例包括后面是用于引进子句的子句名称的左括号<和后面是斜线的左括号、即</来结束子句。例如,规则名称以“<rule name =…>,”开始,相关性以“<dependencies>,”开始,以及说明以“<specifications... >”开始。规则名称以</rule>结束,相关性以“</dependencies>”结束,说明以</specifications>结束。可以在子句的开始与子句的结束之间找到子句的内容。例如,参考第1个规则,可以在作为说明子句的开始的<specifications>与作为说明子句的结束的</specifications>之间找到<min-processors> 1 </min-processors> <max-processors> 8 </max-processors>。
子句能够嵌入在其它子句的内部。例如参考规则1,子句“<min-processors> 1 </min-processors>”嵌入在说明子句的内部。
规则1-6与用于各种虚拟机属性的最小和最大值相关。规则1指定虚拟机可以具有不少于1个的处理器并且不多于8个的处理器。规则2在相关性子句中提到具有单个处理器的任何虚拟机。规则2的说明子句指示单个处理器VM可以具有不小于200兆字节(MB)的存储器和不大于400MB的存储器。规则3提到具有两个处理器的任何虚拟机。规则3的说明子句指示双处理器VM可以具有不小于2千兆字节(GB)的磁盘空间和不大于4GB的磁盘空间。规则4是磁盘与存储器比率规则。相关性子句指示规则4适用于具有1GB至2GB的磁盘空间的VM。规则4的说明子句指示具有1GB至2GB的磁盘空间的任何虚拟机应该具有不小于200MB的存储器和不大于400MB的存储器。规则5和6被用来基于与主机相关联的虚拟机的数量来对主机进行分类。规则5与称作“Super-Alpha”的大型主机相关,所述大型主机可以具有无论在何处的0个至16个的VM。规则6与称作“Alpha-Low”的较小型主机相关,所述较小型主机可以具有无论在何处的0个至4个的VM。使用标签<host-model>和</host-model>将名称“Super-Alpha”和“Alpha-Low”分别与规则5和6 相关联。
可以使用不同类型的规则(诸如VM属性范围规则和VM属性关系规则)来实现VM规则属性。在表1中示出的规则是VM属性范围规则的示例。在表1中示出的规则4是VM属性关系规则的示例。
规则190也可以被用来指定:某些类型的设备使用大量的能量并且因此可连接至大型交换机,反之其它类型的设备使用相对小量的能量并且因此可连接至相对小的交换机。
根据一个实施例,规则190被存储在数据库中。规则190和网络地图170可以被存储在相同的数据库中。
差异
除了别的以外,在信息122、132、162-168、182-188以及190的各种源之间的差异可能是由于配置错误、程序设计错误或怀有恶意的个体的行为。除了别的以外,差异的示例包括信息122、132、162-168、182-188以及190的源中的两个或多个具有用于虚拟机属性的不同的值。更具体而言,信息的源中的一个可以指示虚拟机具有1个处理器,而另一信息源可以指示同一虚拟机具有2个处理器。另一示例是信息的源中的两个指示用于虚拟机的不同量的存储器。处理器的数量和分配的存储器的量仅仅是虚拟机属性的类型的两个示例。信息的两个或多个源可以指示任何类型的虚拟机属性的差异。信息的源包括但不限于实际虚拟机属性值、关于VM属性值的主机信息、经由规则确定的属性(也被称为VM规则属性)以及网络地图中的预期值。
在又一示例中,差异可以是:信息122、132、162-168、182-188以及190的两个或多个源指示虚拟机的不同数量。由于主机120、130是物理的并且能够被看见,所以可以通过检查来确定主机是否已经被移除或增加。然而,虚拟机不能够被看见并且因此按照惯例难以确定虚拟机是否已经被增加或已被从例如主机或数据中心移除。
不管可以采取何种安全措施来保护设施,怀有恶意的个体可能都能够修改虚拟机152-158的实际VM属性162-168。怀有恶意的个体可能也能够修改主机120、130所具有的关于虚拟机的属性的信息142、144、146、148。例如,怀有恶意的个体可以修改VM 152的实际VM属性162和用于同一虚拟机152的主机120的信息142两者中的存储器分配属性的量。在这种情况下,将与实际VM属性162中的存储器分配属性相关联的值与主机120的信息142进行比较将不会使能检测。然而,仍然可以通过以下方式来检测到恶意的修改:计算在主机120所具有的用于其所有虚拟机152、154的信息142和144中指示的存储器的量的总和A,并且计算在用于与主机120相关联的所有虚拟机152、154的实际VM属性162、164中指示的所有的存储器的量的总和B,然后将总和A与总和B进行比较。如果怀有恶意的个体从虚拟机152偷取了存储器并且修改了该虚拟机152的实际VM属性162,则在总和A与总和B之间将存在差异。如果怀有恶意的个体从虚拟机152偷取了存储器并且修改了该虚拟机152的实际VM属性162和主机120的关于该同一虚拟机152的信息142,则在总和A与网络地图170中的预期值之间存在差异,或者在总和B与网络地图170之间可能存在差异,或两者都存在差异。
根据一个实施例,将主机120、130的关于虚拟机152-158的信息122、132或虚拟机152-158的实际VM属性162-168或其组合与网络地图170或规则190或者其组合进行比较。即使怀有恶意的个体成功修改了虚拟机152的实际VM属性162和主机120的关于虚拟机152的信息142,该个体将还是不能够修改网络地图170或规则190。
虚拟机验证器
图2描绘了根据一个实施例的、用于验证虚拟机属性的虚拟机验证器的方框图。在图2中表示特征的方框能够不同于如所图示的那样来布置,并且能够实现另外的或比在本文中所描述的更少的特征。进一步地,由图2中的方框所表示的特征能够以各种方式相结合。能够使用软件、硬件、固件或其组合来实现虚拟机验证器200。
如图2中所描绘的,虚拟机验证器200包括虚拟机属性信息存取器210(在本文中被称为“属性信息存取器”)、实际虚拟机属性存取器220(在本文中被称为“实际属性存取器”)、虚拟机属性差异确定器230(在本文中被称为“差异确定器”)、以及在至少某些实施例中的预期虚拟机属性存取器240(在本文中被称为“预期属性存取器”)和虚拟机规则属性存取器250(在本文中被称为“规则属性存取器”)。
属性信息存取器210被配置成用于从虚拟机在上面执行的主机获得关于虚拟机的属性的信息。实际属性存取器220被配置成用于从虚拟机获得实际虚拟机属性。差异确定器230被配置成用于通过比较关于属性的信息与实际虚拟机属性来确定在关于属性的信息与实际虚拟机属性之间是否存在差异。
预期属性存储器240被配置成用于从网络地图170访问预期虚拟机属性。规则属性存取器250被配置成用于访问规则以获得虚拟机的虚拟机规则属性。
根据一个实施例,差异确定器230确定在关于VM属性的信息142、实际VM属性162、预期VM属性182以及特定的虚拟机152的VM规则属性192中的任何两个或多个之间的差异。
根据一个实施例,虚拟机验证器200是一种设备。根据一个实施例,该设备可以包括具有计算机可读存储介质,在该计算机可读存储介质上存储有指令,其中所述指令实现210、220、230、240、250。该设备可以包括执行存储在计算机可读存储介质上的指令的处理器。
用于验证虚拟机属性的计算机实施的方法的举例说明
图3和图4是根据各种实施例的、用于验证虚拟机属性的计算机实施的方法的流程图。尽管在流程图300和400中公开了具体的步骤,但是此类步骤是示例性的。也就是,本发明的实施例很适于执行各种其它步骤或在流程图300和400中叙述的步骤的变体。应该理解的是,流程图300和400中的步骤可以以不同于所呈现的顺序的顺序来执行,并且可以执行流程图300和400中的步骤的并非全部。
对流程图300(图3)的以下描述参考图1。
在310处,方法开始。
在320处,从虚拟机152在上面执行的主机120获得关于虚拟机152的属性的信息142。主机120的位置1721可以从网络地图170来获得并且被用来从主机120获得信息142。
在330处,从虚拟机152获得实际虚拟机属性162。虚拟机152的位置1741可以从网络地图170来获得并且被用来从虚拟机152获得实际虚拟机属性162。可选地,虚拟机152的位置可以从作为虚拟机152的主机的主机120获得。
在340处,通过将信息142与实际虚拟机属性162进行比较来确定关于属性的信息142与实际虚拟机属性162之间的一个或多个差异。
在350处,方法结束。
对流程图400(图4)的以下描述参考图1。
在401处,从网络地图170访问虚拟机152的预期虚拟机属性182。
在402处,确定在401处从网络地图170所获得的预期虚拟机属性182与在320处从主机120所获得的关于虚拟机152的属性的信息142之间的差异。
在403处,确定在401处从网络地图170所获得的预期虚拟机属性182与在330处从虚拟机152所获得的实际虚拟机属性162之间的差异。
在404处,访问规则190以获得虚拟机152的虚拟机规则属性192。规则190可以包括用于多于一个的虚拟机152、154、156、158的规则。因此,可以搜索规则190以得到与虚拟机152相关的属性192。
在405处,确定在401处从网络地图170所获得的预期虚拟机属性182与在404处从规则190所获得的虚拟机规则属性192之间的差异。
在406处,确定在404处所获得的虚拟机规则属性192与在320处从主机120所获得的关于虚拟机152的属性的信息142之间的差异。
在407处,确定在404处所获得的虚拟机规则属性192与在330处所获得的实际虚拟机属性162之间的差异。
可以生成在340、403、405或406处(图3和图4)所确定的差异中的任何一个或多个的报告。报告199可以由虚拟机验证器200来生成。报告199可以被打印在纸上或者可以被保持为存储在电子设备上的数字信息。
尽管在虚拟机152的实际虚拟机属性162、从主机120所获得的关于虚拟机152的属性的信息142、网络地图170的与虚拟机152相对应的预期属性182以及虚拟机规则属性192的背景下对320-340以及401-406进行了描述,但是除了别的以外,各种实施例都很适于确定在144、164、184与194之间、或在146、166、186与196之间、或在148、168、188与198之间的差异。在另一示例中,差异可以通过将各信息组彼此进行比较来确定。在具体示例中,可以计算在主机120所具有的关于其所有虚拟机142、154的信息142和144中报告的存储器的量的总和A,并且可以计算在用于与主机120相关联的全部虚拟机152、154的实际VM属性162、164中报告的所有的存储器的量的总和B。可以将总和A与总和B进行比较。如果怀有恶意的个体从虚拟机152偷取了存储器并且修改了该虚拟机152的实际VM属性162和主机120的关于该同一虚拟机152的信息142,则在总和A与总和B之间将存在差异。
尽管以顺序描绘了操作401-407,但是可以执行操作401-407的其它排列。例如,可以执行操作401-403而不执行404-407。可以执行操作401、404以及405,而不执行操作402、403、406以及407。可以执行操作404、406以及407,而不执行操作401-403以及405。
进一步地,如在本文中所讨论的,根据一个实施例,以信息出现在网络地图170中的顺序来访问关于VM属性的信息的各种源122、132、162、164、166、168、182、184、186、188、190。表2描绘了信息在网络地图170中可以出现的顺序的示例。
根据一个实施例,属性信息存取器210执行操作220,实际属性存取器220执行操作330,预期属性存取器240执行操作401,规则属性存取器250执行操作404,并且差异确定器230执行操作340。差异确定器3230也可以执行操作402、403、405-407中的任何一个或多个。
计算机可读存储介质
在本文中所描述的实施例中的任何一个或多个都能够使用计算机可读存储介质和驻留在例如计算机系统或类似设备的计算机可读介质中的计算机可执行指令来实现。计算机可读存储介质可以是指令能够存储在上面的任何种类的存储器。计算机可读存储介质的示例包括但不限于磁盘、紧致盘(CD)、数字多功能设备(DVD)、只读存储器(ROM)、闪存,等等。如上文中所描述的,在一个实施例中,本发明的实施例的某些过程和步骤被实现为驻留在计算机系统的计算机可读存储存储器内部并且由计算机系统的处理器来执行的一系列指令(例如,软件程序)。当被执行时,所述指令使计算机系统实现本发明的实施例的功能。
结论
已经以各种组合对各种实施例进行了描述。然而,可以结合任何两个或更多个实施例。进一步地,任何实施例都可以与任何其它实施例相分开地被使用。
这样描述了本主题的示例实施例。尽管已经采用特定于结构特征和/或方法行为的语言描述了本主题的各种实施例,但是应该理解的是,随附权利要求未必限于在上文中所描述的具体特征或行为。相反地,在上文中所描述的具体特征和行为被公开作为实现各权利要求的示例形式。
权利要求书(按照条约第19条的修改)
1.一种验证虚拟机的计算机实施的方法,所述方法包括:
从虚拟机(152, 154, 156, 158)在上面执行的主机(120, 130)获得(320)关于所述虚拟机(152, 154, 156, 158)的一个或多个属性的信息(142, 144, 146, 148);
从所述虚拟机(152, 154, 156, 158)获得(330)一个或多个实际虚拟机属性(162, 164, 166, 168);以及
通过比较关于所述属性的所述信息(142, 144, 146, 148)与所述实际虚拟机属性(162, 164, 166, 168)来确定(340)在关于所述属性的所述信息(142, 144, 146, 148)与所述实际虚拟机属性(162, 164, 166, 168)之间是否存在差异。
2.如权利要求1所述的计算机实施的方法:
进一步包括从网络地图(170)访问(401)一个或多个预期虚拟机属性(182, 184, 186, 188);并且
其中所述确定(340)是否存在差异进一步包括
确定(402)在由所述网络地图(170)提供的所述预期虚拟机属性(182, 184, 186, 188)与从所述主机(120)获得的关于所述属性的所述信息(142, 144, 146, 148)之间是否存在差异,以及
确定(403)在由所述网络地图(170)提供的所述预期虚拟机属性(182, 184, 186, 188)与从所述虚拟机(152, 154, 156, 158)所获得的所述实际虚拟机属性(162, 164, 166, 168)之间是否存在差异。
3.如权利要求2所述的计算机实施的方法:
进一步包括访问(404)规则(190)以获得所述虚拟机(152, 154, 156, 158)的一个或多个虚拟机规则属性(192, 194, 196, 198);并且
其中所述确定(340)是否存在差异进一步包括确定(405)在来自所述网络地图(170)的所述预期虚拟机属性(182, 184, 186, 188)与所述虚拟机规则属性(192, 194, 196, 198)之间是否存在差异。
4.如权利要求1至3中的任一项所述的计算机实施的方法:
进一步包括访问(404)规则(190)以获得所述虚拟机(152, 154, 156, 158)的一个或多个虚拟机规则属性(192, 194, 196, 198);并且
其中所述确定(340)是否存在差异进一步包括
确定(406)在所述虚拟机规则属性(192, 194, 196, 198)与从所述主机(120,130)获得的关于所述属性的所述信息(142, 144, 146, 148)之间是否存在差异,以及
确定(407)在所述虚拟机规则属性(192, 194, 196, 198)与从所述虚拟机(152, 154, 156, 158)获得的所述实际虚拟机属性(162)之间是否存在差异。
5.如权利要求1所述的计算机实施的方法,其中,所述属性选自包括下述项的组:分配给所述虚拟机(152, 154, 156, 158)的处理器的数量;分配给所述虚拟机(152, 154, 156, 158)的存储器的量;由所述虚拟机(152, 154, 156, 158)使用的存储磁盘的数量和大小;磁盘通道的最大输入/输出(I/O)速率;与所述虚拟机(152, 154, 156, 158)相关联的网络接口卡(NIC)的数量以及与所述虚拟机(152, 154, 156, 158)相关联的每个NIC的所述最大I/O速率。
6.一种用于验证虚拟机的设备,所述设备包括:
用于执行指令的处理器;和
计算机可读介质,其中所述处理器所执行的所述指令存储在所述计算机可读介质上,其中所述处理器执行实现以下各项的所述指令:
虚拟机属性信息存取器(210),其被配置成用于从所述虚拟机(152, 154, 156, 158)在上面执行的主机(120,130)获得(320)关于虚拟机(152, 154, 156, 158)的一个或多个属性的信息(142, 144, 146, 148);
实际虚拟机属性存取器(220),其被配置成用于从所述虚拟机(152, 154, 156, 158)获得(330)一个或多个实际虚拟机属性(162, 164, 166, 168);以及
虚拟机属性差异确定器(230),其被配置成用于通过比较关于所述属性的所述信息(142, 144, 146, 148)与所述实际虚拟机属性(162, 164, 166, 168)来确定(340)在关于所述属性的所述信息(152, 154, 156, 158)与所述实际虚拟机属性(162, 164, 166, 168)之间是否存在差异。
7.如权利要求6所述的设备,进一步包括:
预期虚拟机属性存取器(240),其被配置成用于从网络地图(170)访问(401)一个或多个预期虚拟机属性(182, 184, 186, 188);并且
所述虚拟机属性差异确定器(230)被配置成用于
确定(402)在由所述网络地图(170)提供的所述预期虚拟机属性(182, 184, 186, 188)与从所述主机(120)获得的关于所述属性的所述信息(142, 144, 146, 148)之间是否存在差异,并且
确定(403)在由所述网络地图(170)提供的所述预期虚拟机属性(182, 184, 186, 188)与从所述虚拟机(152, 154, 156, 158)获得的所述实际虚拟机属性(162, 164, 166, 168)之间是否存在差异。
8.如权利要求7所述的设备,进一步包括:
虚拟机规则属性存取器(250),其被配置成用于访问(404)规则(190)以获得所述虚拟机(152, 154, 156, 158)的一个或多个虚拟机规则属性(192, 194, 196, 198);并且
所述虚拟机属性差异确定器(230)被配置成用于确定(405)在来自所述网络地图(170)的所述预期虚拟机属性(182, 184, 186, 188)与所述虚拟机规则属性(192, 194, 196, 198)之间是否存在差异。
9.如权利要求6至8中的任一项所述的设备,进一步包括:
虚拟机规则属性存取器(250),其被配置成用于访问(404)规则(190)以获得所述虚拟机(152, 154, 156, 158)的一个或多个虚拟机规则属性(192, 194, 196, 198);并且
所述虚拟机属性差异确定器(230)被配置成用于
确定(406)在所述虚拟机规则属性(192, 194, 196, 198)与从所述主机(120、130)获得的关于所述属性的所述信息(142, 144, 146, 148)之间是否存在差异,以及
确定(407)在所述虚拟机规则属性(192, 194, 196, 198)与从所述虚拟机(152, 154, 156, 158)获得的所述实际虚拟机属性(162, 164, 166, 168)之间是否存在差异。
10.如权利要求6所述的设备,其中,所述设备进一步包括:
位置存取器,其被配置成用于访问所述主机(120, 130)的位置(1721, 1722)和所述虚拟机(152, 154, 156, 158)的位置(1741, 1742, 1743, 1744),其中所述位置(1721, 1722, 1741, 1742, 1743, 1744)被存储在网络地图(170)中;
所述虚拟机属性信息存取器(310)使用所述位置(1721, 1722)作为获得(320)关于属性的所述信息(142, 144, 146, 148)的一部分;并且
所述实际虚拟机属性存取器(320)使用所述位置(1741, 1742, 1743, 1744)作为获得(340)所述实际虚拟机属性(162, 164, 166, 168)的一部分。
11.一种计算机可读存储介质,其具有存储在其上的用于使计算机系统执行验证虚拟机的方法的计算机可读程序指令,所述方法包括:
从虚拟机(152, 154, 156, 158)在上面执行的主机(120、130)获得(320)关于所述虚拟机(152, 154, 156, 158)的一个或多个属性的信息(142, 144, 146, 148);
从所述虚拟机(152, 154, 156, 158)获得(330)一个或多个实际虚拟机属性(162, 164, 166, 168);以及
通过比较关于所述属性的所述信息(142, 144, 146, 148)与所述实际虚拟机属性(162, 164, 166, 168)来确定在关于所述属性的所述信息(142, 144, 146, 148)与所述实际虚拟机属性(162, 164, 166, 168)之间是否存在差异。
12.如权利要求11所述的计算机可读存储介质:
其中所述方法进一步包括从网络地图(170)访问(401)一个或多个预期虚拟机属性(182, 184, 186, 188);并且
其中所述确定(340)是否存在差异进一步包括用于进行以下动作的指令
确定(402)在由所述网络地图(170)提供的所述预期虚拟机属性(182, 184, 186, 188)与从所述主机(120、130)获得的关于所述属性的所述信息(142, 144, 146, 148)之间是否存在差异,以及
确定(403)在由所述网络地图(170)提供的所述预期虚拟机属性(182, 184, 186, 188)与从所述虚拟机(152, 154, 156, 158)获得的所述实际虚拟机属性(162, 164, 166, 168)之间是否存在差异。
13.如权利要求12所述的计算机可读存储介质:
其中所述方法进一步包括访问(404)规则(190)以获得所述虚拟机(152, 154, 156, 158)的一个或多个虚拟机规则属性(192, 194, 196, 198);并且
其中所述确定(340)是否存在差异进一步包括用于确定(405)在来自所述网络地图(170)的所述预期虚拟机属性(182, 184, 186, 188)与所述虚拟机规则属性(192, 194, 196, 198)之间是否存在差异的指令。
14.如权利要求11所述的计算机可读存储介质:
其中所述方法进一步包括访问(404)规则(190)以获得所述虚拟机(152, 154, 156, 158)的一个或多个虚拟机规则属性(192, 194, 196, 198);并且
其中所述确定(340)是否存在差异进一步包括用于进行以下动作的指令
确定(406)在所述虚拟机规则属性(192, 194, 196, 198)与从所述主机(120、130)获得的关于所述属性的所述信息(142, 144, 146, 148)之间是否存在差异,以及
确定(407)在所述虚拟机规则属性(192, 194, 196, 198)与从所述虚拟机(152, 154, 156, 158)获得的所述实际虚拟机属性(162, 164, 166, 168)之间是否存在差异。
15.如权利要求11所述的计算机可读存储介质,其中,所述方法进一步包括:
使用公用控制器来自动地更新所述网络地图(170),其中所述公用控制器与自动地向所述主机(120, 130)进行供应的公用数据中心相关联。
Claims (15)
1.一种验证虚拟机的计算机实施的方法,所述方法包括:
从虚拟机(152, 154, 156, 158)在上面执行的主机(120, 130)获得(320)关于所述虚拟机(152, 154, 156, 158)的一个或多个属性的信息(142, 144, 146, 148);
从所述虚拟机(152, 154, 156, 158)获得(330)一个或多个实际虚拟机属性(162, 164, 166, 168);以及
通过比较关于所述属性的所述信息(142, 144, 146, 148)与所述实际虚拟机属性(162, 164, 166, 168)来确定(340)在关于所述属性的所述信息(142, 144, 146, 148)与所述实际虚拟机属性(162, 164, 166, 168)之间是否存在差异。
2.如权利要求1所述的计算机实施的方法:
进一步包括从网络地图(170)访问(401)一个或多个预期虚拟机属性(182, 184, 186, 188);并且
其中所述确定(340)是否存在差异进一步包括
确定(402)在由所述网络地图(170)提供的所述预期虚拟机属性(182, 184, 186, 188)与从所述主机(120)获得的关于所述属性的所述信息(142, 144, 146, 148)之间是否存在差异,以及
确定(403)在由所述网络地图(170)提供的所述预期虚拟机属性(182, 184, 186, 188)与从所述虚拟机(152, 154, 156, 158)所获得的所述实际虚拟机属性(162, 164, 166, 168)之间是否存在差异。
3.如权利要求2所述的计算机实施的方法:
进一步包括访问(404)规则(190)以获得所述虚拟机(152, 154, 156, 158)的一个或多个虚拟机规则属性(192, 194, 196, 198);并且
其中所述确定(340)是否存在差异进一步包括确定(405)在来自所述网络地图(170)的所述预期虚拟机属性(182, 184, 186, 188)与所述虚拟机规则属性(192, 194, 196, 198)之间是否存在差异。
4.如权利要求1至3中的任一项所述的计算机实施的方法:
进一步包括访问(404)规则(190)以获得所述虚拟机(152, 154, 156, 158)的一个或多个虚拟机规则属性(192, 194, 196, 198);并且
其中所述确定(340)是否存在差异进一步包括
确定(406)在所述虚拟机规则属性(192, 194, 196, 198)与从所述主机(120,130)获得的关于所述属性的所述信息(142, 144, 146, 148)之间是否存在差异,以及
确定(407)在所述虚拟机规则属性(192, 194, 196, 198)与从所述虚拟机(152, 154, 156, 158)获得的所述实际虚拟机属性(162)之间是否存在差异。
5.如前述任一项权利要求所述的计算机实施的方法,其中,所述属性选自包括下述项的组:分配给所述虚拟机(152, 154, 156, 158)的处理器的数量;分配给所述虚拟机(152, 154, 156, 158)的存储器的量;由所述虚拟机(152, 154, 156, 158)使用的存储磁盘的数量和大小;磁盘通道的最大输入/输出(I/O)速率;与所述虚拟机(152, 154, 156, 158)相关联的网络接口卡(NIC)的数量以及与所述虚拟机(152, 154, 156, 158)相关联的每个NIC的所述最大I/O速率。
6.一种用于验证虚拟机的设备,所述设备包括:
用于执行指令的处理器;和
计算机可读介质,其中所述处理器所执行的所述指令存储在所述计算机可读介质上,其中所述处理器执行实现以下各项的所述指令:
虚拟机属性信息存取器(210),其被配置成用于从所述虚拟机(152, 154, 156, 158)在上面执行的主机(120,130)获得(320)关于虚拟机(152, 154, 156, 158)的一个或多个属性的信息(142, 144, 146, 148);
实际虚拟机属性存取器(220),其被配置成用于从所述虚拟机(152, 154, 156, 158)获得(330)一个或多个实际虚拟机属性(162, 164, 166, 168);以及
虚拟机属性差异确定器(230),其被配置成用于通过比较关于所述属性的所述信息(142, 144, 146, 148)与所述实际虚拟机属性(162, 164, 166, 168)来确定(340)在关于所述属性的所述信息(152, 154, 156, 158)与所述实际虚拟机属性(162, 164, 166, 168)之间是否存在差异。
7.如权利要求6所述的设备,进一步包括:
预期虚拟机属性存取器(240),其被配置成用于从网络地图(170)访问(401)一个或多个预期虚拟机属性(182, 184, 186, 188);并且
所述虚拟机属性差异确定器(230)被配置成用于
确定(402)在由所述网络地图(170)提供的所述预期虚拟机属性(182, 184, 186, 188)与从所述主机(120)获得的关于所述属性的所述信息(142, 144, 146, 148)之间是否存在差异,并且
确定(403)在由所述网络地图(170)提供的所述预期虚拟机属性(182, 184, 186, 188)与从所述虚拟机(152, 154, 156, 158)获得的所述实际虚拟机属性(162, 164, 166, 168)之间是否存在差异。
8.如权利要求7所述的设备,进一步包括:
虚拟机规则属性存取器(250),其被配置成用于访问(404)规则(190)以获得所述虚拟机(152, 154, 156, 158)的一个或多个虚拟机规则属性(192, 194, 196, 198);并且
所述虚拟机属性差异确定器(230)被配置成用于确定(405)在来自所述网络地图(170)的所述预期虚拟机属性(182, 184, 186, 188)与所述虚拟机规则属性(192, 194, 196, 198)之间是否存在差异。
9.如权利要求6至8中的任一项所述的设备,进一步包括:
虚拟机规则属性存取器(250),其被配置成用于访问(404)规则(190)以获得所述虚拟机(152, 154, 156, 158)的一个或多个虚拟机规则属性(192, 194, 196, 198);并且
所述虚拟机属性差异确定器(230)被配置成用于
确定(406)在所述虚拟机规则属性(192, 194, 196, 198)与从所述主机(120、130)获得的关于所述属性的所述信息(142, 144, 146, 148)之间是否存在差异,以及
确定(407)在所述虚拟机规则属性(192, 194, 196, 198)与从所述虚拟机(152, 154, 156, 158)获得的所述实际虚拟机属性(162, 164, 166, 168)之间是否存在差异。
10.如权利要求6至9中的任一项所述的设备,其中,所述设备进一步包括:
位置存取器,其被配置成用于访问所述主机(120, 130)的位置(1721, 1722)和所述虚拟机(152, 154, 156, 158)的位置(1741, 1742, 1743, 1744),其中所述位置(1721, 1722, 1741, 1742, 1743, 1744)被存储在网络地图(170)中;
所述虚拟机属性信息存取器(310)使用所述位置(1721, 1722)作为获得(320)关于属性的所述信息(142, 144, 146, 148)的一部分;并且
所述实际虚拟机属性存取器(320)使用所述位置(1741, 1742, 1743, 1744)作为获得(340)所述实际虚拟机属性(162, 164, 166, 168)的一部分。
11.一种计算机可读存储介质,其具有存储在其上的用于使计算机系统执行验证虚拟机的方法的计算机可读程序指令,所述方法包括:
从虚拟机(152, 154, 156, 158)在上面执行的主机(120、130)获得(320)关于所述虚拟机(152, 154, 156, 158)的一个或多个属性的信息(142, 144, 146, 148);
从所述虚拟机(152, 154, 156, 158)获得(330)一个或多个实际虚拟机属性(162, 164, 166, 168);以及
通过比较关于所述属性的所述信息(142, 144, 146, 148)与所述实际虚拟机属性(162, 164, 166, 168)来确定在关于所述属性的所述信息(142, 144, 146, 148)与所述实际虚拟机属性(162, 164, 166, 168)之间是否存在差异。
12.如权利要求11所述的计算机可读存储介质:
其中所述方法进一步包括从网络地图(170)访问(401)一个或多个预期虚拟机属性(182, 184, 186, 188);并且
其中所述确定(340)是否存在差异进一步包括用于进行以下动作的指令
确定(402)在由所述网络地图(170)提供的所述预期虚拟机属性(182, 184, 186, 188)与从所述主机(120、130)获得的关于所述属性的所述信息(142, 144, 146, 148)之间是否存在差异,以及
确定(403)在由所述网络地图(170)提供的所述预期虚拟机属性(182, 184, 186, 188)与从所述虚拟机(152, 154, 156, 158)获得的所述实际虚拟机属性(162, 164, 166, 168)之间是否存在差异。
13.如权利要求12所述的计算机可读存储介质:
其中所述方法进一步包括访问(404)规则(190)以获得所述虚拟机(152, 154, 156, 158)的一个或多个虚拟机规则属性(192, 194, 196, 198);并且
其中所述确定(340)是否存在差异进一步包括用于确定(405)在来自所述网络地图(170)的所述预期虚拟机属性(182, 184, 186, 188)与所述虚拟机规则属性(192, 194, 196, 198)之间是否存在差异的指令。
14.如权利要求11所述的计算机可读存储介质:
其中所述方法进一步包括访问(404)规则(190)以获得所述虚拟机(152, 154, 156, 158)的一个或多个虚拟机规则属性(192, 194, 196, 198);并且
其中所述确定(340)是否存在差异进一步包括用于进行以下动作的指令
确定(406)在所述虚拟机规则属性(192, 194, 196, 198)与从所述主机(120、130)获得的关于所述属性的所述信息(142, 144, 146, 148)之间是否存在差异,以及
确定(407)在所述虚拟机规则属性(192, 194, 196, 198)与从所述虚拟机(152, 154, 156, 158)获得的所述实际虚拟机属性(162, 164, 166, 168)之间是否存在差异。
15.如权利要求11所述的计算机可读存储介质,其中,所述方法进一步包括:
使用公用控制器来自动地更新所述网络地图(170),其中所述公用控制器与自动地向所述主机(120, 130)进行供应的公用数据中心相关联。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2009/031898 WO2010085255A1 (en) | 2009-01-23 | 2009-01-23 | Verifying virtual machines |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102362258A true CN102362258A (zh) | 2012-02-22 |
CN102362258B CN102362258B (zh) | 2015-08-05 |
Family
ID=42356136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980158275.5A Active CN102362258B (zh) | 2009-01-23 | 2009-01-23 | 验证虚拟机 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8732703B2 (zh) |
EP (1) | EP2389626A4 (zh) |
CN (1) | CN102362258B (zh) |
WO (1) | WO2010085255A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799466B2 (en) * | 2005-01-31 | 2014-08-05 | Hewlett-Packard Development Company, L.P. | Method and apparatus for automatic verification of a network access control construct for a network switch |
US8775590B2 (en) * | 2010-09-02 | 2014-07-08 | International Business Machines Corporation | Reactive monitoring of guests in a hypervisor environment |
EP2702724B1 (en) | 2011-04-26 | 2017-03-29 | Telefonaktiebolaget LM Ericsson (publ) | Secure virtual machine provisioning |
DE102012217202B4 (de) * | 2011-10-12 | 2020-06-18 | International Business Machines Corporation | Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen |
US9703647B2 (en) * | 2011-12-30 | 2017-07-11 | Veritas Technologies Llc | Automated policy management in a virtual machine environment |
US9369431B1 (en) * | 2013-02-07 | 2016-06-14 | Infoblox Inc. | Security device controller |
JP5945512B2 (ja) * | 2013-02-13 | 2016-07-05 | 株式会社日立製作所 | 計算機システム、及び仮想計算機管理方法 |
US9317313B2 (en) * | 2013-05-22 | 2016-04-19 | Microsoft Technology Licensing, Llc | Dynamically provisioning storage while identifying and discarding redundant storage alerts |
CN104424013B (zh) * | 2013-08-26 | 2018-03-09 | 国际商业机器公司 | 在计算环境中部署虚拟机的方法和设备 |
US10331883B2 (en) * | 2016-09-28 | 2019-06-25 | International Business Machines Corporation | Malicious code avoidance using transparent containers |
US10831409B2 (en) | 2017-11-16 | 2020-11-10 | International Business Machines Corporation | Volume reconfiguration for virtual machines |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040199756A1 (en) * | 2003-04-04 | 2004-10-07 | Graves David A. | Method and system for verifying resource configuration |
US20040249916A1 (en) * | 2003-05-22 | 2004-12-09 | Graves David Andrew | Verifying the configuration of a virtual network |
CN101132329A (zh) * | 2007-09-17 | 2008-02-27 | 北京航空航天大学 | 移动虚拟环境系统 |
US20080163239A1 (en) * | 2006-12-29 | 2008-07-03 | Suresh Sugumar | Method for dynamic load balancing on partitioned systems |
US20080235534A1 (en) * | 2007-03-22 | 2008-09-25 | International Business Machines Corporation | Integrity protection in data processing systems |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060184936A1 (en) * | 2005-02-11 | 2006-08-17 | Timothy Abels | System and method using virtual machines for decoupling software from management and control systems |
BRPI0613956A2 (pt) | 2005-06-28 | 2011-02-22 | Matsushita Electric Ind Co Ltd | método de verificação, dispositivo de processamento de informação, meio de gravação, sistema de verificação, programa de certificação e programa de verificação |
US8005022B2 (en) * | 2006-07-20 | 2011-08-23 | Oracle America, Inc. | Host operating system bypass for packets destined for a virtual machine |
US7793101B2 (en) | 2006-10-19 | 2010-09-07 | Novell, Inc. | Verifiable virtualized storage port assignments for virtual machines |
US8032942B2 (en) * | 2007-12-31 | 2011-10-04 | Intel Corporation | Configuration of virtual trusted platform module |
-
2009
- 2009-01-23 WO PCT/US2009/031898 patent/WO2010085255A1/en active Application Filing
- 2009-01-23 EP EP09839001A patent/EP2389626A4/en not_active Ceased
- 2009-01-23 US US13/146,119 patent/US8732703B2/en active Active
- 2009-01-23 CN CN200980158275.5A patent/CN102362258B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040199756A1 (en) * | 2003-04-04 | 2004-10-07 | Graves David A. | Method and system for verifying resource configuration |
US20040249916A1 (en) * | 2003-05-22 | 2004-12-09 | Graves David Andrew | Verifying the configuration of a virtual network |
US20080163239A1 (en) * | 2006-12-29 | 2008-07-03 | Suresh Sugumar | Method for dynamic load balancing on partitioned systems |
US20080235534A1 (en) * | 2007-03-22 | 2008-09-25 | International Business Machines Corporation | Integrity protection in data processing systems |
CN101132329A (zh) * | 2007-09-17 | 2008-02-27 | 北京航空航天大学 | 移动虚拟环境系统 |
Non-Patent Citations (1)
Title |
---|
TAL GARFINKEL ET AL: "《Terra: A Virtual Machine-Based Platform for Trusted Computing》", 《SOSP "03 PROCEEDINGS OF THE NINETEENTH ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES》 * |
Also Published As
Publication number | Publication date |
---|---|
CN102362258B (zh) | 2015-08-05 |
EP2389626A1 (en) | 2011-11-30 |
WO2010085255A1 (en) | 2010-07-29 |
US8732703B2 (en) | 2014-05-20 |
US20110283279A1 (en) | 2011-11-17 |
EP2389626A4 (en) | 2012-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102362258A (zh) | 验证虚拟机 | |
US10831933B2 (en) | Container update system | |
US20220342693A1 (en) | Custom placement policies for virtual machines | |
CN107548549B (zh) | 分布式计算环境中的资源平衡 | |
WO2019204778A1 (en) | Automated access control management for computing systems | |
US9699085B2 (en) | Periodic advertisements of host capabilities in virtual cloud computing infrastructure | |
US11750642B1 (en) | Automated threat modeling using machine-readable threat models | |
CN107534571A (zh) | 管理虚拟网络功能 | |
US9361455B2 (en) | Security management in a networked computing environment | |
WO2012065774A1 (en) | A method for attesting a plurality of data processing systems | |
US9317258B2 (en) | Dynamic validation of models using constraint targets | |
US10949532B2 (en) | System and method for monitoring file integrity of multiple containers using one agent | |
JP6111441B2 (ja) | コンピューティング環境での追跡アプリケーション使用法 | |
US10572108B2 (en) | Hierarchical inventory tree operation | |
US20150331761A1 (en) | Host swap hypervisor that provides high availability for a host of virtual machines | |
CN109634802B (zh) | 进程监控方法及终端设备 | |
US11880462B2 (en) | Identify malicious software | |
GB2512482A (en) | Verification program, verification method, and verification device | |
CN111884858B (zh) | 设备资产信息的校验方法、装置、系统和介质 | |
US20230252158A1 (en) | System and method for dynamically updating existing threat models based on newly identified active threats | |
JP6291565B2 (ja) | 分型インフラストラクチャのインベントリサービス | |
WO2021096346A1 (en) | A computer-implemented system for management of container logs and its method thereof | |
US11138512B2 (en) | Management of building energy systems through quantification of reliability | |
US20230176837A1 (en) | Automated generation of additional versions of microservices | |
CN106681771A (zh) | 一种系统重装方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170122 Address after: American Texas Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Patentee before: Hewlett Packard Development Co. |