[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN105988859B - 虚拟机部署 - Google Patents

虚拟机部署 Download PDF

Info

Publication number
CN105988859B
CN105988859B CN201610169458.9A CN201610169458A CN105988859B CN 105988859 B CN105988859 B CN 105988859B CN 201610169458 A CN201610169458 A CN 201610169458A CN 105988859 B CN105988859 B CN 105988859B
Authority
CN
China
Prior art keywords
virtual machine
machine
possibility
physical machine
physical
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.)
Expired - Fee Related
Application number
CN201610169458.9A
Other languages
English (en)
Other versions
CN105988859A (zh
Inventor
K·S·法恩
E·克鲁格里克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Empire Technology Development LLC
Original Assignee
Empire Technology Development LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Empire Technology Development LLC filed Critical Empire Technology Development LLC
Publication of CN105988859A publication Critical patent/CN105988859A/zh
Application granted granted Critical
Publication of CN105988859B publication Critical patent/CN105988859B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

本文涉及虚拟机部署,描述了数据中心内的虚拟机部署技术。示例方法可包括:至少部分地基于虚拟机具有的与运行在物理机上的当前虚拟机的协同定位程度来确定虚拟机的共享威胁可能性;至少部分地基于与将所述虚拟机部署在所述物理机上相关联的优势水平来确定所述虚拟机的工作负荷威胁可能性;至少部分地基于所述共享威胁可能性和所述工作负荷威胁可能性的组合来确定所述虚拟机的威胁可能性;以及基于威胁可能性将所述虚拟机部署在所述物理机上。

Description

虚拟机部署
技术领域
本公开一般地涉及虚拟机部署的方法和系统。
背景技术
云计算已变得流行,这允许引入远程处理和/或存储能力以承载在本地进程上。云计算产生一些风险,例如数据和程序是否会被外部行为人偷窃和/或损坏。构建内部云结构可能看起来好像降低了风险,但是其会阻碍构建者实现更多的公共计算云所提供的经济优势和灵活性优势。
随着云计算尤其是公共云而出现的安全担忧可能很多且多种多样。其中一些风险,诸如直接接管另一实体的代码和数据,会由于云计算服务直接监视这样的活动而变得更加困难,但是更多潜在的风险仍然存在。例如,侧信道攻击已经变成担忧,并且侧信道攻击可允许攻击者从虚拟机暗中获得数据,而无需非法侵入虚拟机。侧信道攻击可允许攻击者通过获得对目标虚拟机先前已经使用的存储单元的访问权来识别来自目标虚拟机的数据。
发明内容
一般地描述了包括用于确保虚拟机部署的安全的方法和系统的技术。示例方法可以包括:至少部分地基于虚拟机具有的与运行在物理机上的当前虚拟机的协同定位程度来确定所述虚拟机的共享威胁可能性。所述方法可以继续如下:至少部分地基于与将所述虚拟机部署在所述物理机上相关联的优势水平来确定所述虚拟机的工作负荷威胁可能性,以及至少部分地基于所述共享威胁可能性与所述工作负荷威胁可能性的组合来确定所述虚拟机的威胁可能性。该方法可以以如下结束:基于所述威胁可能性将所述虚拟机部署在所述物理机上。
另一示例方法包括:接收虚拟机的标识以放入数据中心中,所述数据中心包括耦合到虚拟机部署接口的多个物理机。所述方法继续:至少部分地基于所述虚拟机的配置文件(profile)来确定用于部署虚拟机的多个可用的物理机;以及估计用所述多个可用的物理机中的每一个部署所述虚拟机的相应的风险水平。该方法以如下结束:基于所述相应的风险水平,将所述虚拟机部署在所述多个可用的物理机中的物理机上。
另一示例虚拟机部署安全技术可以包括计算机可读介质,所述计算机可读介质包括存储于其上的用于执行虚拟机部署过程的计算机可执行指令。该过程包括用于如下处理的代码:识别多个物理机;确定将虚拟机部署在所述多个物理机中的每一个上的共享威胁可能性;基于所述相应的共享威胁可能性和将所述虚拟机部署在所述多个物理机中的每一个上的优势来确定与将所述虚拟机部署在所述多个物理机中的每一个上相关联的威胁可能性;以及基于相应的威胁可能性将所述虚拟机部署在所述多个物理机中的选定的物理机上。
虚拟机部署系统的另一示例包括用以使处理器执行如下操作的计算机可执行代码:确定可将虚拟机部署于其上的多个可用的物理机;确定将所述虚拟机部署在所述多个可用的物理机中的每一个上的共享威胁可能性;基于相应的共享威胁可能性和将所述虚拟机部署在所述多个可用的物理机中的每一个上的优势来确定与将所述虚拟机部署在所述多个可用的物理机中的每一个上相关联的威胁可能性;以及基于相应的威胁可能性将所述虚拟机部署在可用的物理机上。
前面的概述仅仅是说明性的,而不意在以任何方式进行限制。除了上文所描述的说明性的方面、实施例和特征之外,另外的方面、实施例和特征将通过参考附图以及下面的详细说明而变得清楚。
附图说明
通过下面结合附图给出的详细说明和随附的权利要求,本公开的前述特征以及其它特征将变得更加彻底清楚。应理解的是,这些附图仅描绘了依照本公开的若干示例,并且因此不应被视为对其范围的限制,将通过使用附图利用附加的特异性和细节对本公开进行说明,在附图中:
图1是实现虚拟机部署安全的数据中心的示例框图;
图2是示出各种级别的可能的硬件协同定位的数据中心服务器的示例框图;
图3是用以图示出工作负荷威胁可能性的示例虚拟机部署情景;
图4是用以确定虚拟机的风险可能性的方法的示例流程图;
图5是用以将虚拟机安全地部署在数据中心中的方法的示例流程图;
图6是图示出被布置用于虚拟机部署安全的示例计算装置的框图;以及
图7是图示出被布置用以存储用于虚拟机部署安全的指令的示例计算机程序产品的框图;
它们全部根据本公开的至少一些实施例而被布置。
具体实施方式
在下面的详细说明中,将参考附图,附图构成详细说明的一部分。在附图中,除非上下文另有规定,否则相似的符号通常标识相似的部件。在详细说明、附图和权利要求中所描述的说明性示例并不意味着限制。可以使用其它示例,并且可以做出其它改变,而不偏离本文呈现的主题的精神或范围。将易于理解的是,如本文中大致描述且如图中所图示的,本公开的各方面可以以各种不同的配置被布置、替代、组合、分离和设计,所有这些在本文中都被隐含地构思。
本公开尤其针对一般地涉及虚拟机部署的方法、系统、产品、装置和/或设备,所述虚拟机部署包括风险分析以及降低或消除由例如云计算装置的数据中心中的恶意虚拟机执行的侧信道攻击的可能性的措施。这样的方法的示例实现方式可以包括:确定待部署到物理机上的虚拟机的威胁可能性。威胁可能性可以是共享威胁可能性和工作负荷威胁可能性的组合。共享威胁可能性可以至少部分地基于虚拟机具有的与物理机上的当前虚拟机运行的协同定位程度,并且工作负荷威胁可能性可以至少部分地基于与将虚拟机部署在同一物理机上相关联的优势水平。该示例方法随后可以基于威胁可能性将虚拟机部署在物理机上。然而,如果威胁可能性过大,则可将虚拟机部署在其它地方,和/或可以监视虚拟机以针对在协同定位的虚拟机上执行侧信道攻击的迹象。
图1是依照本公开的至少一些实施例布置的实现虚拟机部署安全的数据中心100的示例框图。数据中心100可以包括但不限于虚拟机部署(VMP)机器102以及多个服务器104-110。各服务器104-110中的每一个可以运行在各种容量水平(levels of capacity)和/或操作状态。各种容量水平和/或操作状态不是限制性的且在此被用来便于本公开的论述。VMP机器102可以是数据中心中包括的常规服务器,其可以执行虚拟机部署任务以及提供虚拟机计算容量。或者,VMP机器102可以是专用虚拟机部署和/或监视资源。VMP机器102在此还可被称为服务器102。服务器104-110可以是本领域技术人员已知的常规服务器,并且可以向数据中心100提供虚拟机容量。
云计算提供商可以杠杆利用(leverage)诸如示例数据中心100的大数据中心,以向大量各种各样的客户端提供动态的、按需的(on-demand)计算资源。允许云计算照这样执行的一个工具是处理平台的虚拟化。客户端的计算平台可被虚拟化,从而使得在一个或多个物理机上运行、而不是在被束缚到特定物理机的平台上运行成为可能。如本文所使用的,“虚拟机”可以是指软件计算机,其像物理计算机一样包括它们自己的操作系统和应用,诸如说明和配置文件集合,并且它们由主机的物理资源来支持。虚拟机可以连同其它虚拟机一起而运行在(例如,寄宿在)单个物理机(例如,其主机的物理资源)上。单个物理机可能能够在任何时候供多个虚拟机寄宿并根据需要为每个虚拟机划分资源使用以便执行。多个虚拟机之间的协同定位量可由服务器、处理器和/或核设计来确定。例如,运行在同一服务器上的两个虚拟机可以使用服务器的不同区域并且可以在例如内存、处理器核、网络连接等的任何一个资源之上无重叠。相反,服务器芯片中的单个核可以一次供多个虚拟机寄宿并且那些虚拟机将可能共享例如处理器核、相关联的1级和2级高速缓存区域以及3级高速缓存区域。此外,3级高速缓存区域可以服务于位于多于一个处理器核上的多个虚拟机。虚拟机管理器可以管理虚拟机到数据中心100的服务器中的部署。虚拟机管理器也可被称为管理程序(hypervisor)。
示例数据中心100可以包括一个或多个服务器102-110。每个服务器可以运行在不同的容量级且每个服务器还可以被分配给各种数据中心相关的管理任务。例如,服务器102可以在执行虚拟机部署过程并且还可以是虚拟机的主机。图解来说明,服务器104被示出为处于容量极限且可能不能供任何额外的虚拟机寄宿。服务器106和108可以都处于容量极限之下且可用于供一个或多个额外的虚拟机寄宿。服务器110可以处于节电模式,例如被关断,以保存能量,且可以随着数据中心100的需求的增大而使其上线以供虚拟机寄宿。此外,数据中心100通过服务器102可四处移动虚拟机并且可以随着需求变化而对服务器进行加电和关断。为简要起见,仅示出了四个服务器,但是数据中心可以具有任意数量的服务器,并且本文论述的公开内容能够实现于任意大小的数据中心中。
数据中心100还可以包括存储通过各种监视过程采集到的各种管理、统计和工作负荷数据的各种数据库(例如,图5中所示的那些)。示例数据库可以包括可信方的数据库,其指示每个数据中心客户端可以根据需要与其它什么数据中心客户端协同定位。其它数据库可以包括跟踪虚拟机的工作负荷要求的历史工作负荷数据库以及跟踪当前运行在数据中心100中的虚拟机的工作负荷的运行工作负荷数据库。数据中心100还可以包括监视物理机和虚拟机的性能特性和故障排除的监视过程。性能监视器可以监视物理机以跟踪诸如例如内存使用、中央处理单元(CPU)使用和网络资源使用的各种性能方面。这些各种数据库和监视器可以辅助数据中心100管理虚拟机部署和物理机上行/下行时间。
如所提到的,当新的虚拟机在数据中心100中被激活、例如寄宿在物理机时,服务器102可以执行虚拟机部署(VMP)过程。由于虚拟机共享硬件,因此VMP过程在确定哪个物理机用以部署新的虚拟机时可以是有用的。然而,当虚拟机竞争资源时,硬件的共享可以引起虚拟机之间的冲突。因此,一些虚拟机由于冲突的需求而可能是差的协同驻留者。例如,依赖于多个虚拟机可能不一次使用它们的全部内存的良好机会,管理程序(其管理虚拟机)可以过量使用(over commit)内存。然而,均需要很多内存的两个虚拟机一起可能超过所分配的内存容量,从而导致页面出错且从主内存换到磁盘,这会导致抖动,例如,当不存在足够的可用系统内存时系统内存与虚拟内存之间的信息的过度移动。应用处理在抖动发生时可能几乎停止。
每个虚拟机可以以配置文件为特征,例如,虚拟机的各种需求的度量,诸如例如内存使用、处理器使用和网络使用,在部署过程期间VMP可对这些做出说明。如下文将进一步论述的,虚拟机的配置文件在威胁可能性分析期间可被使用。虚拟机的配置文件可有助于确定什么样的物理机可以最适合于供虚拟机寄宿。例如,如果虚拟机的配置文件在内存和处理器需求方面为轻,而在网络使用需求方面为重,则即使在内存和处理器资源方面为低时也具有足量的网络使用带宽的物理机可以是用于供该虚拟机寄宿的可用的物理机。
每个服务器可以是用于通过VMP机器(服务器)102部署进入的虚拟机的可能位置。并不是所有的服务器都可能是可用的,并且可由服务器的当前工作状态来指定服务器,所述工作状态诸如满负荷、部分负荷以及关断/处于低电/低相状态,如图1中所指示。满负荷的服务器是由于满负荷或处于容量极限而可能无法在不用尽资源的情况下容纳任何更多的虚拟机的服务器,诸如例如服务器104。这可能并不意味着服务器104的全部资源都被高效地利用或者仅一个资源处于容量极限而其它资源较少利用。VMP过程的一个优点可以是VMP过程分配虚拟机以便高效地使用数据中心100资源、从而使得可以浪费较少资源和/或在任何给定时间可以需要较少服务器的能力。例如,该优点可导致功耗降低。
在数据中心100中,可存在至少四个连续操作的数据中心管理过程。那四个过程可以包括:将新激活的虚拟机部署到数据中心中;根据数据中心工作负荷来激活/去激活服务器;将虚拟机从一个服务器迁移到另一服务器;和/或暂停或存储虚拟机,其可以基于客户指导。虚拟机的激活和移动可能冒着产生诸如恶意虚拟机进行的侧信道攻击的安全问题的风险。
新的虚拟机对于数据中心100而言可以是新的,诸如通过从暂停状态被激活,或者就在数据中心内被移动而言可能是新的,例如从一个服务器到另一服务器。在数据中心内的该移动可由于为虚拟机这一优点而发生,虚拟机是独立包。虚拟机可以运行一段时间,将其停止并且保存到磁盘,然后从其先前停止的地方将其重启。虚拟机还可以在运行时从一个物理机被迁移到另一物理机,而没有服务的中断或显著中断。这称为活动迁移,其对于优化数据中心性能来说可能是有用的。
在一些实施例中,新的虚拟机仅可以仅被装载到部分负荷的服务器上。为安全的目的,在数据中心100中,可能最好如下这样:相对于较少数量的几乎处于容量极限的服务器具有较多的被部分填充的服务器,和/或具有仅寄宿有一个或两个虚拟机的许多服务器,这是因为,可部署新的虚拟机的可能地点越多,利用特定的目标虚拟机部署恶意虚拟机可能就越困难。虽然较少的活动服务器可能有益于功率问题,但是较多的活动服务器可有益于安全问题。因此,在功率节约与增强安全性之间可存在折中。
然而,常规的VMP算法可将新的脆弱性引入数据中心。因为常规的VMP算法倾向于将互补的虚拟机集合到一起,因此它们可被攻击者杠杆利用以从邻近的、例如协同定位的虚拟机窃取数据。攻击的第一步可以是部署与目标虚拟机协同驻留的攻击性虚拟机。如果攻击者知道目标的资源配置文件,则攻击者可能能够制作出具有互补配置文件的攻击性虚拟机,从而增大可利用目标虚拟机部署攻击性虚拟机的机会。因此,由于部分地基于虚拟机配置文件进行位置选择,所以常规的VMP算法可不利地辅助攻击者将它们的虚拟机与它们的目标协同定位。一旦两个虚拟机共享同一物理机,则存在若干侧信道攻击,包括使用共享的内存、共享的高速缓存、磁盘存取、以及甚至是存储器总线来获得对目标虚拟机的内容的访问权。因此,可能需要在不增加侧信道攻击的威胁的情况下提高数据中心效率的增强的VMP过程。
如上所述,一种解决方案可包括在VMP过程期间确定虚拟机的威胁可能性。威胁可能性可以提供与将新的虚拟机部署在多个可用的物理机、例如多个虚拟机中的每一个中相关联的风险分析。威胁可能性可以基于与协同驻留的虚拟机的硬件共享量结合虚拟机的配置文件的独特性来确定。虚拟机配置文件的独特性可以是所需的相对资源水平的表征。例如,与其它资源需求(例如内存和网络)相比较而言需要极高水平的一种资源(例如CPU)的虚拟机可被认为是独特的配置文件。具有独特配置文件的虚拟机会比具有较不独特的配置文件(例如,对于每种资源具有更加均匀的资源需求)的虚拟机更易于被定为目标。解决方案可以选择威胁可能性低于第一阈值的部署。该阈值可以指示可接受的风险水平,其可由数据中心和/或数据中心客户来确定。此外,如果与选定的位置相关联的威胁可能性高于第二阈值,则VMP过程可使能侧信道监视器以监视新的虚拟机的奇怪行为,例如侧信道攻击。
对于待部署到数据中心中的每个新的虚拟机,可以确定威胁可能性T。T可被归一化为从0到1的标度,其中0可指示低水平的威胁可能性,例如较小的风险,1可指示高水平的威胁可能性,例如,升高的风险。该0至1的标度在此被用于说明性的目的且不是限制性的。威胁可能性T可被分解成两个分量:共享威胁可能性Tshare和工作负荷威胁可能性Tworkload。共享威胁可能性可以与与一个或多个其它虚拟机的硬件共享级别成比例,其中在该硬件级别上的其它虚拟机的数量还可以影响共享威胁可能性。工作负荷威胁可能性可以解释虚拟机配置文件的独特性,例如,虚拟机所需的不同资源量。共享威胁可能性和工作负荷威胁可能性可被组合,例如,相乘,以提供总体威胁可能性T。然后,威胁可能性可被VMP过程用在选择数据中心中风险较低的位置(例如核/处理器/服务器(物理机)位置)来部署虚拟机、从而最小化或消除从当前运行在或待被激活在数据中心中的恶意虚拟机进行侧信道攻击的任何风险中。
图2是依照本公开的至少一些实施例布置的数据中心服务器200的示例框图,其示出了各种级别的可能的硬件协同定位。服务器200可以包括服务器板202,其可以包括多个芯片204。服务器200可以包括额外的服务器板202,但是为简要和清晰起见仅论述了一个。每个芯片204可以包括多个处理器206和共享的3级高速缓存208。每个处理器206可以包括核210、1级高速缓存212和2级高速缓存214。为简要和清晰起见,已经省去了服务器板、芯片和核的其它标准特征。
部署到服务器200上的新的虚拟机可以部署在芯片之一中的任何核中。因此,如果两个虚拟机协同定位在同一板上,则可以存在不同程度的协同定位。这些不同级别的协同定位可以为相同板但是不同的芯片/核,为相同的芯片但是不同的核,或者在同一核内。在同一核内共享可以以两种不同的模式实现:利用时间共享的相同核(例如,多个虚拟机占用它们的一个时隙),以及对称多线程(SMT)模式下的相同核。SMT模式可表征为多个虚拟机之间的极高水平的亲密性,以致数据中心决定禁用该模式以使得没有核以这种方式工作。这样,随着虚拟机更亲密地共享资源,协同定位的程度变大。此外,共享越亲密,共享威胁可能性会变得更高。例如,在同一板上但是不在同一芯片上的两个或更多的虚拟机可以具有极低的共享威胁可能性,而在同一处理器上的两个或更多的虚拟机可以具有极高的共享威胁可能性。共享威胁可能性因此可由下式来估计
TShare=aTSMT+bTP+gTC+dTB (等式1)
其中TSMT是SMT模式的威胁可能性,TP是时间共享模式下处理器协同定位的威胁可能性,TC是芯片协同定位但是在不同核上的威胁可能性,而TB是服务器/板级协同定位但是在不同的芯片上。四个可调常数a、b、g和d可以控制每个共享级别的相对风险水平指定。为易于计算,所述常数可以被归一化为一,从而使得a、b、g和d之和等于1。如所述的,SMT模式可能由于相关联的高风险水平而不是令人满意的,因此a可以设置成零。相反,d可以设置为零,因为对于在同一板上的两个虚拟机来说威胁风险可以是可忽略的。单个芯片上的资源共享级别由于3级高速缓存是主共享资源而可能是低的。这样,g可以设置成小于b,因为处理器共享可以包括共享1级高速缓存和2级高速缓存这两者以及3级高速缓存。数据中心可以设置各种常数,并且服务器类型和体系结构类型也可能影响常数。然而,如果SMT模式被数据中心使能,则a可以设置成高于b说明与SMT模式相关联的较高风险。例如,b可以设置成两倍的g,假设b的值为0.67,g的值为0.33。最后,在a和d均设置为零的情况下,Tshare可以减小至bTP+gTC
如上所述,共享威胁可能性还会受到驻留在服务器200的每个级别处的虚拟机的数量的影响。每个协同定位级别,例如板、芯片、处理器可以保持多个虚拟机,其中服务器上的虚拟机的总数是每个芯片的每个核上的所有虚拟机的总和。例如,包括两个芯片的服务器在每个芯片包括四个核的情况下可以供31个虚拟机寄宿,这31个虚拟机可以分解成16个虚拟机在芯片1上以及15个虚拟机在芯片2上。基于每个处理器上有多少虚拟机,可以进一步分解每个芯片上的虚拟机的数量。因此,共享威胁可能性会受到每个协同定位级别处的虚拟机的数量的影响,并且每个级别可被不同地影响。例如,处于服务器级处的虚拟机的数量不会影响共享威胁可能性计算。然而,共享芯片或处理器级的虚拟机的数量会影响共享威胁可能性计算。
在处理器级处,如果仅寄宿有一个虚拟机,则共享威胁可能性TP可能是最小的。然而,随着同一处理器上的虚拟机的数量增大到一以上,威胁水平TP会增加。例如,当处理器上存在两个虚拟机时,TP可能处于其最高水平。随着处理器上的虚拟机的数量的增大,例如,基于关系1/(NP-1),威胁水平会从最大值1衰减,其中NP代表处理器上的虚拟机的数量。因此,当在核上仅存在一个虚拟机时,TP会为零,并且对于大于1的NP,TP会等于1/(NP-1)。
在芯片级处,当芯片上的虚拟机的数量(NC)等于该芯片的处理器上的虚拟机的数量(NP)时,共享威胁可能性TC可能是最小值。然而,当NC-NP等于1时,TC可能是最大值。因此,当NC=NP时TC与NC-NP之间的关系可被定义为零,并且在NC-NP的值大于1的情况下其会衰减为1/(NC-NP)。对于芯片级和处理器级二者来说,它们各自的共享威胁可能性随着协同定位在各级别处的虚拟机的数量的增大而减小。
因此,将TShare的协同定位方面与TShare的协同定位的虚拟机的数量方面相结合提供了以下复合关系:
Tshare=aTSMT+b(1/(NP-1))+g(1/(NC-NP))+dTB (等式2)
威胁可能性的其他方面是工作负荷威胁可能性Tworkload。图3是依照本公开的至少一些实施例布置的用以示出工作负荷威胁可能性的示例虚拟机部署方案300。示例方案300示出了VMP 308、新的虚拟机302、物理机304和物理机306。虚拟机302可以提供由如深色区域所示的三种类别的使用量所指示的示例虚拟机配置文件。虚拟机302可以需要少量的内存使用、少量的CPU使用以及大量的网络资源使用。三种类别的组合可以称为虚拟机302的配置文件。在图3中仅示出了三个类别,但是本公开不限于此。可以解释更少或更多的类别,而不偏离本公开的范围。
VMP 308可以分析虚拟机302的配置文件,然后至少部分地基于该配置文件来确定两个物理机304、306中的哪一个是用于虚拟机302的最佳位置。基于该分析,VMP 308可以将虚拟机302增加到物理机304。因为物理机304在网络类别上具有额外的容量而物理机306没有,所以VMP 308会选择物理机304来供虚拟机302寄宿。由于虚拟机302的配置文件的独特性,所以如果物理机304这一选择是定位虚拟机302的唯一地点,则到该物理机的增加会产生风险。然而,例如如果虚拟机的配置文件不太独特,例如三个类别的需求更均等,则用以部署虚拟机的位置的数量会增大,因此降低工作负荷风险。可以基于将虚拟机部署到数据中心内的每个可用位置上的优势来解释该独特性。
对于数据中心内用于部署虚拟机302的每个可能位置,VMP 308可以确定与每个可能位置相关联的优势。该优势可以与虚拟机和可能位置之间的适合度成比例。该优势还可以基于数据中心内待最大化的某因素,该某因素还可以引导定位过程。待最大化的因素可以是例如能效、网络使用、内存效率或它们的某种组合。该优势以及因此的工作负荷威胁可能性Tworkload可定义如下
Ai=Ci/∑all iCi (等式3)
其中,Ai表示优势,并且Ci表示与待最大化的因素成比例的正数。工作负荷威胁可能性可以随着可能数量的部署扩散在数据中心内的更多服务器上而变得更小。相反,随着可能部署的数量由于配置文件的独特性而减小,每个位置会变得更有风险。
概括来讲,威胁可能性T可以是共享威胁可能性Tshare和工作负荷威胁可能性Tworkload的组合。可以针对每个新的虚拟机的所有可能的或可用的部署位置估计和组合这两个威胁可能性因素。每当添加新的虚拟机或者每当虚拟机在数据中心内迁移时,都可以由数据中心来确定风险分析估计。
图4是依照本公开的至少一些实施例布置的用以确定虚拟机的风险可能性的方法400的示例流程图。示例方法可以包括如框402至408中的一个或多个所示的一个或多个操作、功能或动作。在框402至408中所描述的操作可以响应于存储在诸如计算装置或类似配置的某其他控制器的计算机可读介质的计算机可读介质中的计算机可执行指令的执行(例如,通过本文所述的一个或多个处理器被执行)而被实施。
所描述的示例方法中所包含的框是为了示例说明的目的。在一些实施例中,框可以按不同的次序来执行。在其他一些实施例中,各框可被删除。在另外的其他实施例中,各框可被划分成额外的框,补充其他的框,或者组合在一起而形成较少的框。这些具体的框的其他变型可被构思,包括框顺序的变化、被拆分或组合成其他框的框的内容的变化,等等。在一些示例中,工作负荷威胁可能性可以在确定共享威胁可能性之前被确定或者与共享威胁可能性的确定相结合地被确定。
示例过程可以开始于框402,其记述了“至少部分地基于虚拟机具有的与运行在物理机上的当前虚拟机的协同定位程度来确定虚拟机的共享威胁可能性”。在被部署在数据中心中之前,可以为虚拟机确定共享威胁可能性。共享威胁可能性可以基于虚拟机具有的与可用物理机上的一个或多个其他虚拟机的协同定位程度。可以通过在虚拟机与物理机上的当前虚拟机之间共享多少物理机资源和/或多亲密地共享物理机资源来确定协同定位程度。另外,在确定共享威胁可能性时,可以将当前在物理机上的虚拟机的数量考虑进去。框402之后可以是框404。
框404记述了“至少部分地基于与将虚拟机部署在物理机上相关联的优势水平来确定虚拟机的工作负荷威胁可能性”。与将虚拟机部署在物理机上相关联的优势可以至少部分地基于虚拟机的配置文件。对优势的分析可以确定工作负荷威胁可能性。随着诸如物理机的可用位置的优势的增大,工作负荷威胁可能性增大。框404之后可以是框406。
框406记述了“至少部分地基于共享威胁可能性和工作负荷威胁可能性的组合来确定虚拟机的威胁可能性”。然后,可以通过将共享威胁可能性乘以工作负荷威胁可能性来确定将虚拟机部署在物理机上的威胁可能性。然后,VMP过程可以使用威胁可能性来确定虚拟机应部署在数据中心内何处。框406之后可以是框408。
框408记述了“基于威胁可能性将虚拟机部署在物理机上”。VMP过程可以基于威胁可能性将虚拟机部署在物理机上。例如,如果威胁过大,则虚拟机不能被部署在该物理机上。另一方面,如果威胁可能性是可接受的,则虚拟机可以被部署在该物理机上。
图5是依照本公开至少一些实施例布置的将虚拟机安全地部署在数据中心中的方法500的示例流程图。示例方法可以包括如框502至532中的一个或多个所图示的一个或多个操作、功能或动作。在框502至532中所描述的操作可以响应于存储在诸如计算装置或类似配置的某其他控制器的计算机可读介质的计算机可读介质中的计算机可执行指令的执行(例如,通过本文所述的一个或多个处理器被执行)而被实施。
图5所描绘的流程图是如何可以将上述威胁可能性分析并入由数据中心执行的VMP过程以免受可能的侧信道攻击的示例图示。当激活数据中心中的新虚拟机时或者当虚拟机在数据中心内迁移时,可以执行VMP过程。
示例过程可以开始于框502(“接收虚拟机”)。框502之后可以是框504(“利用可信客户端部署?”),在此处可以对是否要利用可信客户端部署新的虚拟机进行判断。如果不是利用可信客户端部署新的虚拟机,则框504之后可以是框506(“估计工作负荷”)。否则,如果要利用可信客户端部署新的虚拟机,则框504之后可以是框532(“VM部署”),在此处可以执行包括威胁可能性分析在内的虚拟机部署过程。框532还可以跟在框506之后。框532之后可以是框520(“可用的服务器”),在此处可以将新的虚拟机部署到选定的服务器例如物理机中。
框532可以包括如图5所描绘的额外的框。框532中所包含的框可以开始于框508(“VMP过程”),在此处VMP过程被初始化。框510(“T=0”)可以在框508之后,在此处提到为零的威胁可能性,这暗示了新的虚拟机可以部署在已经被确定为具有零威胁可能性的物理机520中。另外地,框512(“估计风险Ti”)可以跟在框508之后,在此处新的虚拟机的风险估计例如威胁可能性可以被确定。框512之后可以是框514(“选择最小的T=MIN(Ti)”),在此处可以选择具有最小的风险的物理机。框514之后可以是决策框516(“T>TL”),在此处可以对最小的风险是否大于第一阈值做出判断。框516后可以是决策框518(“T>TTH”),在此处可以对最小的风险是否大于第二阈值做出后续判断。框518之后可以是框520。
包含在所描述的示例方法中的框仅为示例说明的目的。在一些实施例中,框可以按不同的次序来执行。在其他一些实施例中,各框可以被删除。在另外的其他实施例中,各框可以被划分成额外的框,补充其他框,或者组合在一起而形成较少的框。这些具体的框的其他变型可被构思,包括框顺序的变化、被拆分或组合成其他框的框的内容的变化,等等。在一些示例中,由于威胁水平大于第二阈值而启用侧信道监视器。
在框502中,接收到的虚拟机可以是需要部署到诸如数据中心100的数据中心中以便寄宿的新激活的虚拟机。可选地,接收到的虚拟机可以是处于从数据中心内的一个服务器迁移到另一服务器(例如,活动迁移)的过程中。在任一或这两种情况下,虚拟机可经历如本文所述的相同的威胁分析。
在框504中,对接收到的虚拟机是否应利用可信客户端进行部署做出判断。做出该决策以确定与虚拟机相关联的客户端是否偏好将它们的虚拟机部署在具有圈定的“可信方”列表的服务器上。可信方可以是当前客户端信任的数据中心的另一客户端。如果框504中的判断为是(yes),因为虚拟机要部署在具有可信客户端(或者通过它自身)的服务器上,则在框508中,VMP过程将虚拟机部署在或者为空或者仅包含可信客户端的虚拟机的服务器上。
然而,如果对于虚拟机部署在何处没有限制,则在框506中,进行虚拟机工作负荷的估计。工作负荷的估计可以提供虚拟机的配置文件,虚拟机的配置文件可被VMP用于威胁可能性分析中。如果该虚拟机在数据中心处具有历史,则工作负荷估计可以咨询历史工作负荷数据库528来估计预期工作负荷。然而,如果这是新的虚拟机,例如该虚拟机从未由数据中心提供过寄宿,则基于历史工作负荷数据库528在这种类型的全部虚拟机上的平均值可用作工作负荷的估计。
在框508中,VMP过程被初始化,这确定了要将进入的虚拟机部署在何处以及打开/关闭数据中心中的服务器。如果虚拟机将仅由可信方来部署,则框508可以限制可供用于部署虚拟机的服务器的数量。另外,框508可以确定要将没有负担的(unencumbered)虚拟机部署在数据中心内何处。为易于描述,框512-518被示出为单独的框,但是它们也可以是框508/532的一部分。
在框512中,VMP过程可以估计数据中心中所有可用的服务器的威胁可能性Ti。此外,对Ti的估计可以遵循结合图4所论述的方法。例如,对风险Ti的估计可以至少确定每个可用的服务器例如物理机的共享威胁可能性和工作负荷威胁可能性。如上所述,共享威胁可能性可以基于虚拟机将具有的与服务器上的一个或多个其他虚拟机的协同定位程度并且还可以包括在各种协同定位级别处由该服务器提供寄宿的机器的数量。工作负荷威胁可能性可以基于将虚拟机部署在每个可用的服务器中的优势,其中该优势至少部分地基于虚拟机的配置文件。
在框514中,VMP过程可以确定哪些可用的服务器/物理机具有最小的Ti(威胁/风险)。可以选择具有最小的威胁/风险的可用的服务器/物理机以最小化虚拟机可能经历的威胁水平并且进一步减小或去除来自由同一服务器提供寄宿或者将要由同一服务器提供寄宿的其他虚拟机的任何侧信道攻击和/或其他安全风险的可能性。根据最小的威胁/风险的水平,可以对数据中心内额外的服务器的激活和/或侧信道攻击的监视做出进一步的判断。
在框516中,VMP过程可以判断最小的威胁/风险是否大于第一风险阈值。该框可以判断用以部署虚拟机的选定的服务器、例如具有最小的威胁/风险的服务器的威胁可能性是否大于预定的威胁阈值。该预定的威胁阈值TL可以是与多少虚拟机正运行在多个活动的物理机上、例如基于活动的物理机的数量数据中心有多满相关的阈值。该阈值可由数据中心来设定以管理上述的安全-功耗折中。如果在框516处判断出Ti大于TL,则框508可以激活一个或多个额外的服务器。如果一个或多个服务器被VMP过程激活,则数据中心可以具有将新的虚拟机部署到新激活的服务器上或者重新布置数据中心中当前已激活的一个或多个虚拟机(例如,活动迁移)以及对任何重新定位的虚拟机执行VMP过程分析的选择权。然而,如果在框516中判断出Ti小于TL,则方法进行到框518。
在框518中,VMP过程可以判断最小的威胁/风险是否大于第二风险阈值。第二风险阈值TTH可以基于与虚拟机相关联的客户端舒适采用的风险水平。因此,对于每个数据中心客户端,TTH可以是不同的。如果Ti被判断为大于TTH,则VMP过程可以激活侧信道监视器524。除了当前可能正处于监视之下以针对侧信道攻击的任何其它服务器之外,侧信道监视器524可以针对侧信道攻击来主动地监视部署了虚拟机的服务器。然而,如果最小的威胁/风险Ti小于TTH,则虚拟机可以部署在选定的服务器/物理机上。
可替代地,框508可以执行多个不同的VMP过程,其中每个VMP过程被设定成对于数据中心的不同方面进行优化。不同的优化可以包括功耗、内存使用、处理器使用和网络资源,仅列举了几个。然后,所有不同的VMP过程中的最佳选择可以是将虚拟机部署到数据中心中的基础。
性能监视522可以监视寄宿的虚拟机的性能并且对于每个寄宿的虚拟机更新运行工作负荷数据库526。运行工作负荷数据库526可以周期性地或者当虚拟机被去激活时更新历史工作负荷数据库528中的历史数据。框522-530可以存储在运行于数据中心中的一个或多个服务器上并且可以在任意时间被访问和更新。此外,框522-530可以是数据中心管理的一部分。
图6是示出依照本公开的至少一些实施例布置的、被布置成用于定位纳米结构的示例计算装置600的框图。在最基本的配置601中,计算装置600典型地包括一个或多个处理器610和系统内存620。存储器总线630可以用于处理器610与系统内存620之间通信。
根据所需的配置,处理器610可以是任意类型,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或其任意组合。处理器610可以包括诸如一级高速缓存611和二级高速缓存612的一级或多级高速缓存、处理器核613和寄存器614。示例处理器核613可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP核)或其任意组合。示例存储器控制器615还可与处理器610一起使用,或者在一些实施方式中,存储器控制器615可以是处理器610的内部部件。
根据所需的配置,系统内存620可以是任意类型,包括但不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存(flash memory)等)或其任意组合。系统内存620可以包括操作系统621、一个或多个应用622以及程序数据624。应用622可以包括风险评估程序623,其布置成如本文所述的那样确定虚拟机的威胁可能性。程序数据624可以包括虚拟机工作负荷数据库和/或可用于风险评估的实现的其它信息。在一些实施例中,应用622可被布置成在操作系统621上利用程序数据624而运行,使得可以执行本文所述的任意程序。在图6中通过基本配置601的虚线内的那些部件图示出描述的该基本配置。
计算装置600可具有附加的特征或功能以及附加的接口以便于基本配置601与任何所需的装置和接口之间的通信。例如,总线/接口控制器640可用于便于基本配置601与一个或多个存储装置650之间经由存储接口总线641的通信。存储装置650可以是可移除存储装置651、非可移除存储装置652或者其组合。可移除存储装置和非可移除存储装置的示例包括诸如软盘驱动器和硬盘驱动器(HDD)的磁盘装置、诸如压缩盘(CD)驱动器或数字多功能盘(DVD)驱动器的光盘驱动器、固态驱动器(SSD)和磁带驱动器,仅列举了几个。示例计算机存储介质可以包括以用于诸如计算机可读指令、数据结构、程序模块或其它数据的信息的存储的任何方法或技术实现的易失性和非易失性、可移除和非可移除的介质。
系统内存620、可移除存储装置651和非可移除存储装置652是计算机存储介质的所有示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储装置、磁盒、磁带、磁盘存储装置或其它磁存储装置、或者可用于存储所需信息并且可由计算装置600访问的任何其它介质。任意这样的计算机存储介质可以是计算装置600的部件。
计算装置600还可以包括接口总线642,该接口总线用于方便从各接口装置(例如,输出接口、外围装置接口和通信装置)经由总线/接口控制器640到基本配置601的通信。示例输出装置660包括图形处理单元661和音频处理单元662,其可配置为经由一个或多个A/V端口663与诸如显示器或扬声器的各外部装置通信。示例外围装置接口670包括串行接口控制器671或并行接口控制器672,其可配置为经由一个或多个I/O端口673与诸如输入装置(例如,键盘、鼠标、笔、语音输入装置、触摸输入装置等)或其它外围装置(例如,打印机、扫描仪等)的外部装置进行通信。示例通信装置680包括网络控制器681,其可布置成便于经由一个或多个通信端口682通过网络通信链路与一个或多个其他的计算装置690的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可通过计算机可读指令、数据结构、程序模块或诸如载波或其它传输机制的调制数据信号中的其它数据来具体化,并且可以包括任何信息输送介质。“调制数据信号”可以是使得其特性中的一个或多个以将信息编码在信号中的方式设定或改变的信号。通过举例而不是限制的方式,通信介质可以包括诸如有线网络或直接连线连接的有线介质,以及诸如声波、射频(RF)、微波、红外(IR)和其它无线介质的无线介质。如本文所使用的术语计算机可读介质可以包括存储介质和通信介质这两者。
计算装置600可被实现为诸如蜂窝电话、个人数据助理(PDA)、个人媒体播放器装置、无线网页观看装置(wireless web-watch device)、个人手持接送话器装置、专用装置或包括任意上述功能的混合装置的小形状因数的便携式(或移动)电子装置的一部分。计算装置600还可被实现为包括膝上型计算机和非膝上型计算机配置两者的个人计算机。
图7是依照本公开的至少一些实施例布置的、示出被布置成存储用于虚拟机部署安全的指令的示例计算机程序产品700的框图。信号承载介质702可以被实现为或者包括计算机可读介质706、计算机可记录介质708、计算机通信介质710或它们的组合,其存储可配置处理单元以执行先前描述的过程中的全部或一些的编程指令704。这些指令可以包括例如用于使一个或多个处理器执行如下处理的一个或多个可执行指令:确定可部署虚拟机的多个物理机,确定将虚拟机部署在所述多个物理机中的每个物理机上的共享威胁可能性,基于相应的共享威胁可能性和将虚拟机部署在所述多个物理机中的每个物理机上的优势来确定与将虚拟机部署在所述多个物理机中的每个物理机上相关联的威胁可能性,以及基于相应的威胁可能性将虚拟机部署在物理机上。
本公开就在本申请中所描述的特定实施例而言是不受限制的,这些特定实施例意在为各个方面的举例说明。如对于本领域技术人员来说将显而易见的,可以进行许多改进和示例,而不偏离其精神和范围。除了本文列举的那些之外,在本公开范围内的功能上等同的方法和设备对于本领域技术人员而言根据前面的说明将是显而易见的。旨在使这样的改进和示例落在随附权利要求书的范围内。连同这些权利要求书所给予权利的等同方案的整个范围内,本公开仅受随附权利要求书限制。将理解的是,本公开不限于特定的方法、试剂、化合物组成或生物系统,当然这些可以变化。还应理解的是,本文所使用的术语仅是为了描述特定示例的目的,而不意在限制。
关于本文中基本上任何复数和/或单数术语的使用,本领域技术人员能够根据上下文和/或应用适当地从复数变换成单数和/或从单数变换成复数。为了清晰的目的,本文中明确地阐明了各单数/复数的置换。
本领域技术人员将理解,一般地,本文所使用的术语,尤其是随附权利要求(例如,随附权利要求的主体)中所使用的术语,通常意在为“开放式”术语(例如,术语“包括”应当解释为“包括但不限于”,术语“具有”应解释为“至少具有”,术语“包含”应解释为“包含但不限于”,等等)。
本领域技术人员还理解,如果意图表达具体数量的所引入的权利要求记述项,该意图将明确地记述在权利要求中,并且在不存在这种记述的情况下,不存在这样的意图。例如,为辅助理解,下面的随附权利要求可能包含了引导性短语“至少一个”和“一个或多个”的使用以引入权利要求记述项。然而,这种短语的使用不应解释为暗示通过不定冠词“一”或“一个”的权利要求记述项的引入将包含这样引入的权利要求记述项的任何特定权利要求局限于仅包含一个该记述项的示例,即使当同一权利要求包括了引导性短语“一个或多个”或“至少一个”以及诸如“一”或“一个”的不定冠词时也是如此(例如,“一”和/或“一个”应当解释为表示“至少一个”或“一个或多个”);这同样适用于对于用于引入权利要求记述项的定冠词的使用。另外,即使明确地记述了被引入的权利要求记述项的具体数量,本领域技术人员将理解到,这样的记述项应当解释为表示至少所记述的数量(例如,没有其它修饰语的裸记述“两个记述项”表示至少两个记述项或者两个或更多的记述项)。
此外,在使用类似于“A、B和C等中的至少一个”的惯用法的那些实例中,通常这样的构造旨在表达本领域技术人员理解该惯用法的含义(例如,“具有A、B和C中的至少一个的系统”将包括但不限于仅具有A、仅具有B、仅具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B和C等等的系统)。在使用类似于“A、B或C等中的至少一个”的惯用法的那些实例中,通常这样的构造旨在表达本领域技术人员理解该惯用法的含义(例如,“具有A、B或C中的至少一个的系统”将包括但不限于仅具有A、仅具有B、仅具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B和C等等的系统)。本领域技术人员将进一步理解,呈现两个或更多可选项的几乎任何转折连词和/或短语,无论是在说明书、权利要求或附图中,都应理解为设想包括其中一项、任一项或两项的可能性。例如,术语“A或B”将理解为包括“A”或“B”或“A和B”的可能性。
本领域技术人员将理解的是,为了任何以及全部的目的,诸如在提供所撰写的说明书方面,本文所公开的全部范围也涵盖了任何和全部的可能的子范围及其子范围的组合。能够容易地认识到任何所列范围都充分地描述了同一范围并且使同一范围分解成至少均等的两半、三份、四份、五份、十份等等。作为非限制示例,本文所论述的每个范围能够容易地分解成下三分之一、中三分之一和上三分之一,等等。本领域技术人员还将理解的是,诸如“多达”、“至少”、“大于”、“小于”等所有的语言包括所记述的数量并且是指如上文所论述的随后能够分解成子范围的范围。最后,本领域技术人员将理解的是,范围包括每个独立的成员。因此,例如,具有1-3个项的组是指具有1个、2个或3个项的组。类似地,具有1-5个项的组是指具有1个、2个、3个、4个、或5个项的组,等等。
虽然前面的详细说明已经通过框图、流程图和/或示例的使用阐述了装置和/或过程的各个示例,但是这样的框图、流程图和/或示例包含一项或多项功能和/或操作,本领域技术人员将理解的是,可以通过各种各样的硬件、软件、固件或几乎其任意组合来单独地和/或统一地实现这样的框图、流程图或示例内的每个功能和/或操作。在一个示例中,本文所描述的主题的若干部分可经由专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它集成形式来实现。然而,本领域技术人员将理解的是,本文公开的示例的一些方面可以整体地或部分地被等同地实现在集成电路中、实现为在一个或多个计算机上运行的一个或多个计算机程序(例如,实现为在一个或多个计算机系统上运行的一个或多个程序)、实现为在一个或多个处理器上运行的一个或多个程序(例如,实现为在一个或多个微处理器上运行的一个或多个程序)、实现为固件、或实现为以上的几乎任何组合,并且根据本公开的内容,针对所述软件和/或固件设计电路和/或编写代码将在本领域技术人员的技能范围内。例如,如果使用者判定速度和精度重要,则使用者可以选择主硬件和/或固件媒介物;如果灵活性重要,则使用者可以选择主软件实施方式;或者,另外可选地,使用者可以选择硬件、软件和/或固件的某组合。
另外,本领域技术人员将理解的是,本文所描述的主题的机制能够作为各种形式的程序产品被分发,并且不管实际上用于实施分发的信号承载介质的具体类型如何,本文所描述的主题的说明性示例都适用。信号承载介质的示例包括但不限于以下:可记录型介质,诸如软盘、硬盘驱动器、压缩盘(CD)、数字视频盘(DVD)、数字带、计算机存储器等;以及传输型介质,诸如数字和/或模拟通信介质(例如,光纤光缆、波导、有线通信链路、无线通信链路等)。
本领域技术人员将理解的是,在本领域内常见的是以本文阐述的方式来描述装置和/或过程,此后利用工程实践将这样描述的装置和/或过程集成到数据处理系统中。也即,本文所描述的装置和/或过程的至少一部分可以通过合理量的实验集成到数据处理系统中。本领域技术人员将理解的是,典型的数据处理系统通常包括如下中的一种或多种:系统单元壳体、视频显示装置、诸如易失性和非易失性存储器的存储器、诸如微处理器和数字信号处理器的处理器、诸如操作系统的计算实体、驱动器、图形用户接口、和应用程序、诸如触摸板或触摸屏的一个或多个交互装置、和/或包括反馈环和控制电动机(例如,用于感测位置和/或速度的反馈;用于移动和/或调整部件和/或量的控制电动机)的控制系统。典型的数据处理系统可利用任何适合的市售部件来实现,诸如在数据计算/通信和/或网络计算/通信系统中常见的部件。
本文所描述的主题有时说明了包含在不同的其它部件内的不同部件或与不同的其它部件连接的不同部件。应理解的是,这些所描绘的体系结构仅是示例,并且实际上可以实施实现相同功能的许多其它体系结构。在概念意义上,实现相同功能的部件的任何布置有效地“相关联”,使得实现期望功能。因此,在此处组合以实现特定功能的任何两个部件可视为彼此“相关联”,使得实现期望功能,而不管体系结构或中间部件如何。同样,任意两个如此关联的部件还可视为彼此“可操作地连接”、或“可操作地耦合”以实现期望的功能,并且能够如此关联的任意两个部件还可视为彼此“能够可操作地耦合”以实现期望功能。能够可操作地耦合的具体示例包括但不限于能够物理地结合和/或物理地交互的部件和/或能够无线地交互和/或无线地交互的部件和/或逻辑上交互和/或能够逻辑上交互的部件。
虽然本文已公开了各个方面和示例,但是其它的方面和示例对于本领域技术人员而言将是显而易见的。因此,本文所公开的各个方面和示例是为了说明性的目的而不意在限制,真正的范围和精神是通过随附的权利要求表示的。

Claims (24)

1.一种方法,包括:
通过处理器至少部分地基于虚拟机具有的与运行在多个物理机中的每一个物理机上的相应的当前虚拟机的协同定位程度来确定所述虚拟机在所述多个物理机中的每一个物理机上的共享威胁可能性;
通过所述处理器至少部分地基于与将所述虚拟机部署在所述多个物理机中的每一个物理机上相关联的优势水平来确定所述多个物理机中的每一个物理机上的所述虚拟机在所述多个物理机中的每一个物理机上的工作负荷威胁可能性;
通过所述处理器至少部分地基于所述共享威胁可能性和所述工作负荷威胁可能性的组合来确定所述虚拟机的多个威胁可能性;
通过所述处理器确定所述虚拟机的所述多个威胁可能性的最小威胁可能性;
响应于所述多个威胁可能性的所述最小威胁可能性低于第一阈值,通过所述处理器将所述虚拟机部署在所述多个物理机中的特定物理机上,其中所述特定物理机对应于所述最小威胁可能性;以及
响应于所述多个威胁可能性的所述最小威胁可能性大于第二阈值,通过侧信道监视器针对侧信道攻击监视所述特定物理机,其中通过所述处理器激活所述侧信道监视器。
2.如权利要求1所述的方法,其中确定所述共享威胁可能性包括:确定所述虚拟机将具有的与所述多个物理机中的每一个物理机上的所述相应的当前虚拟机的资源共享量,并且其中更高的资源共享量指示更高的共享威胁可能性。
3.如权利要求1所述的方法,其中更高的协同定位程度增大所述共享威胁可能性,并且其中在每一个物理机上的所述协同定位程度包括板级、芯片级和核级。
4.如权利要求1所述的方法,其中确定所述共享威胁可能性包括:确定所述虚拟机将在每一个物理机上协同定位的当前虚拟机的数量。
5.如权利要求4所述的方法,其中当所述虚拟机与单个当前虚拟机协同定位时,所述共享威胁可能性为最大值。
6.如权利要求1所述的方法,其中确定所述工作负荷威胁可能性包括:
确定所述虚拟机的配置文件;以及
将所述配置文件与运行在所述多个物理机中的每一个物理机上的所述相应的当前虚拟机的配置文件进行比较。
7.如权利要求6所述的方法,其中将所述配置文件与运行在所述多个物理机中的每一个物理机上的所述相应的当前虚拟机的所述配置文件进行比较包括:确定所述虚拟机的所述配置文件与运行在所述多个物理机中的每一个物理机上的所述相应的当前虚拟机的所述配置文件互补程度;
所述虚拟机的所述配置文件与所述相应的当前虚拟机的所述配置文件互补程度的增大使所述优势水平增大;以及
所述优势水平的增大指示增大的工作负荷威胁可能性。
8.如权利要求6所述的方法,其中所述虚拟机的配置文件描述所述虚拟机的多个资源需求,并且其中所述资源需求包括处理器使用、网络使用、内存使用或它们的组合。
9.一种非暂态计算机可读介质,包括存储于其上的计算机可执行指令,所述计算机可执行指令响应于通过处理器执行所述计算机可执行指令用以执行虚拟机部署过程,所述虚拟机部署过程包括:
识别多个物理机;
确定与将虚拟机部署在所述多个物理机中的每一个物理机上相关联的相应的共享威胁可能性;
确定与将所述虚拟机部署在所述多个物理机中的每一个物理机上相关联的多个威胁可能性,其中确定所述多个威胁可能性是基于相应的共享威胁可能性和将所述虚拟机部署在所述多个物理机中的每一个物理机上的相应的优势;
确定所述多个威胁可能性的最小威胁可能性;
响应于所述多个威胁可能性的所述最小威胁可能性低于第一阈值,将所述虚拟机部署在所述多个物理机中的特定物理机上,其中所述特定物理机对应于所述最小威胁可能性;以及
响应于所述多个威胁可能性的所述最小威胁可能性大于第二阈值,针对侧信道攻击监视所述特定物理机。
10.如权利要求9所述的非暂态计算机可读介质,其中确定所述相应的共享威胁可能性至少部分地是基于所述虚拟机将具有的与所述多个物理机中的每一个物理机上的相应的当前虚拟机的共享级别。
11.如权利要求10所述的非暂态计算机可读介质,其中所述虚拟机将具有的与所述多个物理机中的每一个物理机上的相应的当前虚拟机的共享级别指示所述虚拟机将具有的与所述相应的当前虚拟机的协同定位程度。
12.如权利要求11所述的非暂态计算机可读介质,其中所述相应的共享威胁可能性针对增大的协同定位程度而增大。
13.如权利要求9所述的非暂态计算机可读介质,其中确定所述虚拟机将部署于其上的所述多个物理机至少部分地是基于所述虚拟机的配置文件。
14.如权利要求9所述的非暂态计算机可读介质,其中将所述虚拟机部署在所述多个物理机中的每一个物理机上的所述相应的优势至少部分地是基于所述虚拟机的配置文件。
15.如权利要求14所述的非暂态计算机可读介质,其中所述虚拟机的越独特的配置文件对应于将所述虚拟机部署在所述多个物理机中的每一个物理机上的越高的相应的优势。
16.如权利要求15所述的非暂态计算机可读介质,其中所述越高的相应的优势对应于将所述虚拟机部署在所述多个物理机中的每一个物理机上的提高得越多的风险。
17.一种方法,包括:
在虚拟机部署系统处,接收要部署到数据中心中的虚拟机的标识,所述数据中心包括与虚拟机部署接口耦合的多个物理机;
通过所述虚拟机部署系统确定所述虚拟机将部署于其上的多个可用的物理机,其中所述确定至少部分地基于所述虚拟机的配置文件;
通过所述虚拟机部署系统估计与将所述虚拟机部署在所述多个可用的物理机中的每一个物理机上相关联的多个相应的风险水平;
通过所述虚拟机部署系统确定所述多个相应的风险水平的最小的相应的风险水平;
通过所述虚拟机部署系统基于所述多个相应的风险水平的所述最小的相应的风险水平将所述虚拟机部署在所述多个可用的物理机中的特定的可用的物理机上,其中所述最小的相应的风险水平对应于所述特定的物理机,并且其中所述最小的相应的风险水平包括至少部分地基于所述虚拟机的所述配置文件的归一化值;以及
通过侧信道监视器基于所述最小的相应的风险水平大于阈值针对侧信道攻击监视所述特定的可用的物理机,其中通过所述虚拟机部署系统激活所述侧信道监视器。
18.如权利要求17所述的方法,还包括:
通过所述虚拟机部署系统将所述最小的相应的风险水平与另一阈值进行比较;以及
基于所述最小的相应的风险水平大于所述另一阈值,通过所述虚拟机部署系统激活所述多个可用的物理机中的新的物理机。
19.如权利要求17所述的方法,还包括:
通过所述虚拟机部署系统将所述最小的相应的风险水平与所述阈值进行比较;
其中将所述虚拟机部署在所述特定物理机上包括:基于所述最小的相应的风险水平大于所述阈值,通过所述虚拟机部署系统将所述虚拟机部署在所述特定物理机上。
20.如权利要求18所述的方法,还包括:
通过所述虚拟机部署系统将所述虚拟机部署在所述多个可用的物理机中的所述新的物理机上。
21.一种虚拟机部署系统,包括:
至少一个处理器;以及
至少一个计算机可读介质,其耦接到所述至少一个处理器并且编码有指令,其中所述指令可通过所述至少一个处理器执行以执行或控制包含如下步骤的操作性能:
确定虚拟机将部署于其上的多个可用的物理机;
确定与将所述虚拟机部署在所述多个可用的物理机中的每一个物理机上相关联的相应的共享威胁可能性;
确定与将所述虚拟机部署在所述多个可用的物理机中的每一个物理机上相关联的多个威胁可能性,其中确定所述多个威胁可能性是至少部分地基于所述相应的共享威胁可能性和将所述虚拟机部署在所述多个可用的物理机中的每一个物理机上的相应的优势;
确定与将所述虚拟机部署在所述多个可用的物理机的每一个物理机上相关联的所述多个威胁可能性的最小威胁可能性;
响应于所述多个威胁可能性的所述最小威胁可能性,将所述虚拟机部署在所述多个可用的物理机的特定的可用的物理机上,其中所述特定的可用的物理机对应于所述最小威胁可能性,并且其中所述最小威胁可能性包括至少部分地基于所述虚拟机的配置文件的归一化值;以及
基于所述最小威胁可能性针对侧信道攻击监视所述特定的可用的物理机。
22.如权利要求21所述的虚拟机部署系统,其中所述操作还包括:
将所述最小威胁可能性与第一阈值进行比较;
基于所述最小威胁可能性大于所述第一阈值,分配所述多个可用的物理机中的附加的可用的物理机;以及
将所述虚拟机部署在所述附加的可用的物理机上。
23.如权利要求22所述的虚拟机部署系统,其中所述操作还包括:
将所述最小威胁可能性与第二阈值进行比较;
其中将所述虚拟机部署在所述特定的可用的物理机上是基于所述最小威胁可能性大于所述第二阈值。
24.如权利要求21所述的虚拟机部署系统,其中所述操作还包括:
激活侧信道监视器,其中所述侧信道监视器配置为针对所述侧信道攻击监视所述特定的可用的虚拟机并且监视所述多个可用的物理机。
CN201610169458.9A 2015-03-23 2016-03-23 虚拟机部署 Expired - Fee Related CN105988859B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/665,726 US9965309B2 (en) 2015-03-23 2015-03-23 Virtual machine placement
US14/665,726 2015-03-23

Publications (2)

Publication Number Publication Date
CN105988859A CN105988859A (zh) 2016-10-05
CN105988859B true CN105988859B (zh) 2019-07-09

Family

ID=56975885

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610169458.9A Expired - Fee Related CN105988859B (zh) 2015-03-23 2016-03-23 虚拟机部署

Country Status (2)

Country Link
US (1) US9965309B2 (zh)
CN (1) CN105988859B (zh)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9413626B2 (en) 2014-12-05 2016-08-09 Amazon Technologies, Inc. Automatic management of resource sizing
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9928108B1 (en) 2015-09-29 2018-03-27 Amazon Technologies, Inc. Metaevent handling for on-demand code execution environments
US10042660B2 (en) 2015-09-30 2018-08-07 Amazon Technologies, Inc. Management of periodic requests for compute capacity
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US9830449B1 (en) * 2015-12-16 2017-11-28 Amazon Technologies, Inc. Execution locations for request-driven code
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10528374B2 (en) 2016-08-25 2020-01-07 International Business Machines Corporation Volume management by virtual machine affiliation auto-detection
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
CN106534201B (zh) * 2016-12-26 2019-01-29 杭州盈高科技有限公司 一种sdn环境下的虚拟机风险快速隔离方法
US10652283B1 (en) * 2017-12-06 2020-05-12 Amazon Technologies, Inc. Deriving system architecture from security group relationships
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11921885B2 (en) 2021-06-07 2024-03-05 International Business Machines Corporation Security risk-aware scheduling on container-based clouds
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1523498A (zh) * 2003-02-20 2004-08-25 国际商业机器公司 计算系统中分区之间的动态处理器再分配
CN101449258A (zh) * 2006-05-18 2009-06-03 微软公司 基于工作负载表征将虚拟机部署到主机
CN103814358A (zh) * 2011-09-20 2014-05-21 国际商业机器公司 服务器群内的虚拟机放置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100017801A1 (en) * 2008-07-18 2010-01-21 Vmware, Inc. Profile based creation of virtual machines in a virtualization environment
US9009385B1 (en) * 2011-06-30 2015-04-14 Emc Corporation Co-residency detection in a cloud-based system
CN102571746B (zh) 2011-11-23 2014-11-05 西安交通大学 一种面向云计算环境侧通道攻击防御的虚拟机部署方法
US8732291B2 (en) * 2012-01-13 2014-05-20 Accenture Global Services Limited Performance interference model for managing consolidated workloads in QOS-aware clouds
CN102769670A (zh) 2012-07-13 2012-11-07 中兴通讯股份有限公司 虚拟机迁移方法、装置及系统
US9323577B2 (en) * 2012-09-20 2016-04-26 Amazon Technologies, Inc. Automated profiling of resource usage
US20150052614A1 (en) * 2013-08-19 2015-02-19 International Business Machines Corporation Virtual machine trust isolation in a cloud environment
US9442750B2 (en) * 2013-09-23 2016-09-13 Infosys Limited Systems and methods for colocating virtual machines on one or more physical infrastructure

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1523498A (zh) * 2003-02-20 2004-08-25 国际商业机器公司 计算系统中分区之间的动态处理器再分配
CN101449258A (zh) * 2006-05-18 2009-06-03 微软公司 基于工作负载表征将虚拟机部署到主机
CN103814358A (zh) * 2011-09-20 2014-05-21 国际商业机器公司 服务器群内的虚拟机放置

Also Published As

Publication number Publication date
US9965309B2 (en) 2018-05-08
CN105988859A (zh) 2016-10-05
US20160285906A1 (en) 2016-09-29

Similar Documents

Publication Publication Date Title
CN105988859B (zh) 虚拟机部署
Yahia et al. Comprehensive survey for cloud computing based nature-inspired algorithms optimization scheduling
Khan et al. Machine learning (ML)-centric resource management in cloud computing: A review and future directions
Zhang et al. Efficient scientific workflow scheduling for deadline-constrained parallel tasks in cloud computing environments
Klinkenberg et al. CHAMELEON: reactive load balancing for hybrid MPI+ OpenMP task-parallel applications
Belviranli et al. A dynamic self-scheduling scheme for heterogeneous multiprocessor architectures
Keshanchi et al. Priority-based task scheduling in the cloud systems using a memetic algorithm
US20130024939A1 (en) Conditional security response using taint vector monitoring
CN109844776B (zh) 具有片上学习和随机时间步长控制的可编程神经元核心
CN106716365A (zh) 异构线程调度
US20130081043A1 (en) Resource allocation using entitlement hints
CN107209548A (zh) 在多核处理器中执行功率管理
US20140373010A1 (en) Intelligent resource management for virtual machines
Arunarani et al. FFBAT: A security and cost‐aware workflow scheduling approach combining firefly and bat algorithms
da Rosa Righi et al. Enhancing performance of IoT applications with load prediction and cloud elasticity
US20180373564A1 (en) Computer Systems And Computer-Implemented Methods For Dynamically Adaptive Distribution Of Workload Between Central Processing Unit(s) and Graphics Processing Unit(s)
Zacarias et al. Intelligent colocation of HPC workloads
Filelis-Papadopoulos et al. A framework for simulating large scale cloud infrastructures
Kumar et al. Multi-objective load balancing in cloud computing: A meta-heuristic approach
US9727356B2 (en) Scaling past the java virtual machine thread limit
Zhang et al. Enhanced Whale Optimization Algorithm for task scheduling in cloud computing environments
Bagein et al. Energy efficiency for ultrascale systems: Challenges and trends from nesus project
Cheng et al. SLO-Aware Function Placement for Serverless Workflows With Layer-Wise Memory Sharing
Swain et al. Efficient straggler task management in cloud environment using stochastic gradient descent with momentum learning-driven neural networks
Reaño et al. Analyzing the performance/power tradeoff of the rCUDA middleware for future exascale systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190709

Termination date: 20200323