CN103677998B - 虚拟化计算环境中的资源分配方法和系统 - Google Patents

虚拟化计算环境中的资源分配方法和系统 Download PDF

Info

Publication number
CN103677998B
CN103677998B CN201310400678.4A CN201310400678A CN103677998B CN 103677998 B CN103677998 B CN 103677998B CN 201310400678 A CN201310400678 A CN 201310400678A CN 103677998 B CN103677998 B CN 103677998B
Authority
CN
China
Prior art keywords
maxperminfrprob
group
resource
computer
value
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.)
Active
Application number
CN201310400678.4A
Other languages
English (en)
Other versions
CN103677998A (zh
Inventor
D·布赖特加德
A·爱泼斯坦
Y·穆阿提
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103677998A publication Critical patent/CN103677998A/zh
Application granted granted Critical
Publication of CN103677998B publication Critical patent/CN103677998B/zh
Active 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
    • 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/45566Nested virtual machines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种虚拟化计算环境中的资源分配方法和系统。提供了用于判断是否可以在计算系统上托管多个虚拟机(VM)的机器、系统和方法,所述计算系统具有支持所述VM中的至少一个VM的资源,所述方法包括:确定VM(v)的最大容许侵犯概率(maxPermInfrProb(v)),其中“v”是从1到n的值,使得n是集合G中的VM的数量,如所述VM的SLA规定的那样;将所述集合G分成多个组Gi(G1、...Gi、...Gn),使得每个组就针对组Gi的成员定义的maxPermInfrProb而言是同类的;以及基于每个Gi的maxPermInfrProb值来组织组Gi

Description

虚拟化计算环境中的资源分配方法和系统
版权和商标声明
本专利文件的公开内容的一部分可能包含受著作权保护的材料。拥有人并不反对复制专利文件或专利公开内容中的任何一个,如其出现在专利商标局专利档案或记录中的话,否则拥有人保留对其的任何著作权。
在此引用的某些标志可能是申请人、受让人或与申请人或受让人有关或无关的第三方的普通法商标或注册商标。这些标志的使用是为了通过实例方式提供授权的公开内容,并且不应被解释为将所公开主题的范围排他地限于与此类标志关联的材料。
技术领域
所公开的主题一般地涉及通过非同类服务水平协议(SLA)为虚拟机(VM)分配资源,更具体地说,涉及根据对应SLA的相应容许侵犯概率为VM分配资源。
背景技术
基础架构即服务(IAAS)是一项允许服务提供者出售计算服务和资源的服务。IAAS服务通常在无需最终用户知晓所提供的基础架构的位置和其它细节的情况下提供,并允许在远程供应的服务器系统或数据库上存储和部署使用的资源。
通常实现IAAS以便利用规模经济并可以用于(1)通过优化用于提供服务的虚拟化系统(例如VM)的资源分配,最小化所提供的基础架构的总拥有成本,以及(2)尽可能满足针对VM定义的SLA。典型地,如果侵犯与被请求VM关联的SLA,则会因为违反SLA定义的条款而对服务提供者处以某种罚款。
给定与底层基础架构关联的限制,希望为虚拟化资源分配尽可能多的工作负载,同时将SLA侵犯保持在相应SLA允许的限制之下。必须正确进行资源的过度使用,以便最有效地最小化总拥有成本,同时产生受控和可接受级别的SLA侵犯。
发明内容
出于总结目的,在此描述了特定方面、优点和新颖特性。将理解,可能未根据任何一个特定实施例实现所有这些优点。因此,可以以如下方式体现或执行所公开的主题:实现或优化一个优点或一组优点而不是实现在此可能教导或建议的所有优点。
提供了用于判断是否可以在计算系统上托管多个虚拟机(VM)的机器、系统和方法,所述计算系统具有支持所述VM中的至少一个VM的资源,所述方法包括:确定VM(v)的最大容许侵犯概率(maxPermInfrProb(v)),其中“v”是从1到n的值,使得n是集合G中的VM的数量,如所述VM的SLA规定的那样;将所述集合G分成多个组Gi(G1、…Gi、…Gn),使得每个组就针对组Gi的成员定义的maxPermInfrProb而言是同类的;以及基于每个Gi的maxPermInfrProb值来组织组Gi
根据一个或多个实施例,提供一种包括一个或多个逻辑单元的系统。所述一个或多个逻辑单元被配置为执行与上面公开的方法关联的功能和操作。在另一个实施例中,提供一种包括计算机可读存储介质的计算机程序产品,所述计算机可读存储介质具有计算机可读程序。当在计算机上执行时,所述计算机可读程序导致所述计算机执行与上面公开的方法关联的功能和操作。
下面参考附图进一步详细提供了上面公开的一个或多个实施例以及某些备选实施例。但是,所公开的主题并不限于所公开的任何特定实施例。
附图说明
通过参考下面提供的附图中的各图,可以更好地理解所公开的实施例:
图1示出根据一个或多个实施例的示例性操作环境,其中实现虚拟机以服务于多个请求;
图2A和2B是根据一个或多个实施例的其中可以运行所公开的系统和方法的硬件和软件环境的框图;
图3A、3B和3C示出根据一个或多个实施例的支持云基础架构的示例性网络环境中的一个或多个节点和抽象模型层。
根据一个或多个实施例,不同图中的相同标号引用的特性、元素和方面表示相同、等效或类似的特性、元素或方面。
具体实施方式
在下文中,提供了大量特定的细节以便彻底描述不同实施例。可以在没有这些特定的细节的情况下实现某些实施例,或者可以通过细节上的一些变化实现某些实施例。在其它情况下,未详细描述某些特性以避免使其它方面变得模糊不清。与每个元素或特性关联的详细级别不应被解释为证明一个特性较之其它特性的新颖性或重要性。
参考图1,在虚拟化计算环境中,一个或多个VM(例如V1、…、V10)可以在系统管理程序112上运行,系统管理程序112被配置为管理VM在计算系统110(此后也称为主机或主机器)上的执行。VM可以在某种级别上需要使用计算系统110的资源(例如CPU或存储器)。与VM关联的SLA可以标识该VM的资源要求。
给定VM(“v”)具有最大容许侵犯概率(即,maxPermInfrProb(v)),它依赖于其关联的SLA的要求。如果给出多个VM,则可以根据特定优先级,为每个VM分配主机上的特定级别的资源。对于一个VM,可以根据以下各项计算实际侵犯概率(即,deFactoInfrProb(v)):(1)该VM的已分配资源的级别;(2)位于主机中的其它VM的已分配资源的级别;以及(3)主机上的VM的分配优先级。
值得指出的是,当主机中的VM的maxPermInfrProb(v)相同(即,跨VM是同类的)时,可以计算最小主机容量以便确保deFactoInfrProb(v)最多等于maxPermInfrProb(v)。在一个或多个实施例中,当VM的maxPermInfrProb不是同类的时,可能无法正确计算最小主机容量。要指出的是,全局实施的SLA方案(其将针对所有VM实施对应于最严格SLA的侵犯概率maxPermInfrProb)通常不切实际,因为这种方案将导致浪费资源,这是由于没有考虑不同的SLA要求所致。
在具有非同类VM的计算环境中,某些主机资源可能未被充分使用(即,某些资源可能保持空闲)而其它资源被过度使用。可以使用根据VM的SLA的工作负载分离来避免上述影响。但是,工作负载分离可能导致管理不同的资源池,每个资源池在SLA要求方面是同类的,从而导致额外的管理开销,这是由于池数量增加以及资源使用分散所致。
可以使用监视组件监视在计算系统110上的系统管理程序112上运行的VM的资源使用(例如CPU利用率),并将收集的数据例如以时间序列的形式存储到网络130上可用的仓库160中。在一种实现中,可以将有关托管一个或多个VM的计算系统的硬件配置的数据存储在仓库160中。定期地或按需地,可以使用SLA感知放置引擎150部署新的VM。SLA感知放置引擎150可以选择候选主机(例如系统管理程序112),并检索在一个或多个候选主机上运行的VM的SLA。
SLA感知放置引擎150可以调用VM组有效大小计算器140,从而将新VM的SLA以及在系统管理程序112上运行的VM的SLA传递到VM组有效大小计算器140。VM组有效大小计算器140可以使用存储在仓库160中的数据来计算VM组的有效大小。作为一个实例,如果VM组的有效大小小于或等于候选主机的CPU容量,则有效大小计算器140针对候选主机的VM计算新的CPU份额分配,并将结果传递到SLA感知放置引擎150以便指示主机是合适的或应该继续搜索合适的主机。
相应地,如果给出主机以及要在其上托管的一组候选VM,则可以例如通过统计分析的方式,计算一个或多个候选VM的SLA条款的侵犯概率。可以使用这种计算确定一组候选VM是否适合服务于资源请求而不侵犯所述VM的SLA条款,然后再为所述VM分配资源并部署所述VM。
根据一个实施例,可以根据与VM组关联的侵犯概率p来计算该VM组的有效大小。作为一个实例,对于包括具有不同SLA要求的VM子组的VM组,以如下方式计算总有效大小:通过避免向具有不同的SLA最大容许侵犯概率的VM应用统一的有效大小调整方案,考虑每个子组的不同侵犯概率。
例如,当在主机上供应VM时,可以考虑不同因素(例如需要的资源量以及其它VM的相对优先级),以便尽可能适当地与较高优先级VM共享主机资源,特别是在对资源的访问存在争用的情况下。根据一种实现,在资源分配之前,确定是否为一个VM提供高于另一个VM的优先级。如果是,则发生争用时,可以为VM1分配更多的资源,并且可以为VM2分配相对少量的资源。这样,根据VM之间的相对优先级别来分配资源。
可以根据不同因素定义优先级别。例如,分配有较高工作负载的VM可以被视为更应得到额外资源,因此被指定的优先级高于具有较低工作负载的对应VM。可以根据优先级层次结构对VM进行分组,以便为位于较高优先级层次结构中的VM组分配相对较大的资源份额。通过这种方式,为更重要、更有价值或更值得的VM组提供层次结构中的较高位置。
例如,考虑主机H以及在H上托管的VM的集合G。可以将G分成子组G1、G2、…、Gn,其中子组Gi中的VM在SLA要求方面是同类的,使得pi指定关联的容许侵犯概率。可以按照pi的升序对子组Gi进行排序,其中pi+1大于pi。这种分组和排序方案在其中各SLA彼此明显不同的SLA实践中特别有用。
相应地,pi是属于子组Gi的成员的VM的允许侵犯概率。对于每个子组Gi,可以将诱导概率(induced probability)p’i定义为p’1=p1和p’i=pi-pi-1(对于1<i≤n),其中为每个子组Gi指定priority(Gi),使得priority(Gi)>priority(Gi+1),并且为每个子组Gi提供较之子组Gj的足够高的优先权(对于j>i)。这样,如果在i<j的情况下满足子组Gi的需求,则可以为Gj分配资源。相应地,为具有较低正规化侵犯概率的组提供的优先级可以高于具有较高正规化侵犯概率的组。
在一种实现中,可以将组Gi定义为资源池,其中每个子池没有预留并且没有最大值,以及其中关联的份额Share(Gi)定义为Share(Gi)=r*Share(Gi+1),其中常数比率r足够大(例如至少100),使得如果在k<i的情况下优选地为所有组Gk完全分配需要的资源,则可以为组Gi分配资源。
对于具有最大容许侵犯概率p的VM的组G,有效大小(ES)可以定义为:
ES(G,p)=∑j∈Gμj+Zα(∑j∈Gσj 2)1/2
其中μj和σj表示组G中的每个VM j的资源需求的平均和标准偏差,并且α=1-p和Zα表示单位正态分布N(0,1)的α百分率。
在一个实施例中,可以基于共同托管的VM组合的有效大小的保守有效大小估计,按如下所示计算G的总有效大小:
ES(G)=∑i ES(Gi,p’i)
在另一个实施例中,G的总有效大小可以计算如下:
诱导概率p’i定义如上所示。
计算每个组的有效大小
将G’i定义为子组Gj的并集(对于j≤i):
G’i=Uj≤iGj
将ES(G)计算为ES(G)=Maxi ES(G’i,p’i)
上面的ES(G)计算方案可以被视为比早期方案中详述的计算更有效。总之,在任何一种实现中,使用来自概率论的联合界(union bound),两个实施例中的组Gi的侵犯概率最多为pi
例如,再次参考图1,假设要在给定主机H上放置10个VM(例如V1、V2、...、V10)而不违反VM的侵犯概率。例如,可以根据最大容许侵犯概率将VM分成三个组:
G1—具有侵犯概率p1=0.01%
G2—具有侵犯概率p2=0.1%
G3—具有侵犯概率p3=1.0%
其中:
G1={v1,v2,v3}
G2={v4,v5,v6}
G3={v7,v8,v9,v10}
从G1/G2/G3及其关联的侵犯概率获得新组:
G1’、G2’和G3’定义如下:
G1’=G1,即{v1,v2,v3}
G2’=G1∪G2,即{v1,v2,v3,v4,v5,v6}
G3’=G1∪G2∪G3,即所有10个VM
与Gi’关联的概率可以提供如下:
G1’具有关联的概率:p1’=p1=0.01%
G2’具有关联的概率:p2’=p2-p1=0.1%-0.01%=0.09%
G3’具有关联的概率:p3’=p3-p2=1.0%-0.1%=0.9%
对于每个Gi’,与同类侵犯概率pi’关联的有效大小ES(Gi’)可以计算如下:
G1’p1’产生ES1
G2’p2’产生ES2
G3’p3’产生ES3
有效大小:ES=max(ES1,ES2,ES3)
如果给出VM总数及其导出的有效大小ES(按上面解释的计算),则可以将ES的值理解为其中托管10个VM的主机的容量要求。如果主机的容量至少为ES,则每个VM具有的侵犯概率最多为该VM所需的侵犯概率。为了确保VM组与正确的优先级别关联(例如在VMware中,通过指定将较高数量的份额与VM或VM子集关联,实现指定优先级的概念),在上面的实例中,份额可以指定如下:
G3具有关联的SHARES=1(最低优先级)
G2具有关联的SHARES=G3*100=100
G1具有关联的SHARES=G2*100=10000(最高优先级)
该份额设置确保系统管理程序112将根据需要确定不同VM的优先级,以便如果出现争用,则在低优先级的组中发生侵犯。
本说明书中对“一实施例”、“一个实施例”、“一个或多个实施例”等的引用指描述的特定元素、特性、结构或特征被包括在所公开主题的至少一个实施例中。本说明书中出现的这种短语不应被具体解释为指同一实施例,也不应将这种短语解释为指针对所讨论的特性或元素相互排斥的实施例。
在不同的实施例中,所要求保护的主题可以实现为硬件和软件元素的组合,或者备选地完全以硬件形式或完全以软件形式实现。进一步,在此公开的计算系统和程序软件可以包括受控计算环境,其可以根据执行的硬件组件或逻辑代码提供,这些硬件组件或逻辑代码用于执行实现在此构想的结果的方法和过程。当由通用计算系统或机器执行时,所述方法和过程将通用机器转换为专用机器。
参考图2A和2B,根据一个示例性实施例的计算系统环境可以包括硬件环境1110和软件环境1120。硬件环境1110可以包括逻辑单元、电路或其它机器和设备,它们为软件环境1120的组件提供执行环境。反过来,软件环境1120可以为硬件环境1110的各种组件提供执行指令,包括底层操作设置和配置。
参考图2A,在此公开的应用软件和逻辑代码可以以机器可读代码的形式实现,机器可读代码在示例性硬件环境1110表示的一个或多个计算系统上执行。如图所示,硬件环境1110可以包括处理器1101,其通过系统总线1100耦合到一个或多个存储元件。存储元件例如可以包括本地存储器1102、存储介质1106、高速缓冲存储器1104或其它机器可用或计算机可读介质。在本公开的上下文中,机器可用或计算机可读存储介质可以包括任何可以用于包含、存储、传送、传播或传输程序代码的可记录制品。
计算机可读存储介质可以是电、磁、光、电磁、红外线或半导体介质、系统、装置或器件。计算机可读存储介质还可以以传播介质实现,但不限于在某种程度上这种实现被视为法定主题。计算机可读存储介质的实例可以包括半导体或固态存储器、磁带、可移动计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘、光盘或载波(如果适用)。光盘的当前实例包括光盘-只读存储器(CD-ROM)、光盘-读/写(CD-R/W)、数字视频盘(DVD)、高清晰度视频盘(HD-DVD)或Blue-rayTM盘。
在一个实施例中,处理器1101将可执行代码从存储介质1106加载到本地存储器1102。高速缓冲存储器1104通过提供临时存储优化处理时间,这种临时存储有助于减少加载代码以便执行的次数。一个或多个用户接口设备1105(例如键盘、指点设备等)和显示屏1107例如可以直接或通过中间I/O控制器1103耦合到硬件环境1110中的其它元件。可以提供通信接口单元1108(例如网络适配器),以使硬件环境1110能够通过中间专用或公共网络(例如因特网)与本地或远程定位的计算系统、打印机和存储器件通信。有线或无线调制解调器和以太网卡是网络适配器的几种示例性类型。
值得指出的是,在某些实现中,硬件环境1110可能不包括上面的部分或全部组件,或者可能包括附加组件以提供补充功能或效用。根据构想的使用和配置,硬件环境1110可以是诸如台式或膝上型计算机之类的机器,或者是可选地包含在嵌入式系统中的其它计算设备,例如机顶盒、个人数字助理(PDA)、个人媒体播放器、移动通信单元(例如无线电话),或者是具有信息处理或数据存储能力的其它类似的硬件平台。
在某些实施例中,通信接口1108用作数据通信端口,以便通过发送和接收数字、电、电磁或光信号提供与一个或多个计算系统通信的手段,这些信号承载表示各种类型信息(包括程序代码)的模拟或数字数据流。通信可以通过本地或远程网络建立,或者备选地通过空气传输或其它介质传输(包括但不限于载波传播)建立。
如在此所提供的,根据本质上示例性的逻辑或功能关系定义在所示硬件元素上执行的所公开的软件元素。但是,应当指出,通过所述示例性软件元素实现的相应方法还可以例如通过配置和编程的处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)和数字信号处理器(DSP)而被编码在所述硬件元素中。
参考图2B,软件环境1120通常可以分为两类,包括在一个或多个硬件环境1110上执行的系统软件1121和应用软件1122。在一个实施例中,在此公开的方法和过程可以实现为系统软件1121、应用软件1122或它们的组合。系统软件1121可以包括诸如操作系统(OS)和信息管理系统之类的控制程序,它们指示硬件环境1110中的一个或多个处理器1101(例如微处理器)如何运行和处理信息。应用软件1122可以包括但不限于程序代码、数据结构、固件、驻留软件、微代码,或者可以由处理器1101读取、分析或执行的任何其它形式的信息或例程。
换言之,应用软件1122可以实现为程序代码,其以机器可用或计算机可读存储介质的形式嵌入在计算机程序产品中,计算机程序产品提供程序代码以便由机器、计算机或任何指令执行系统使用或者与其结合使用。此外,应用软件1122可以包括一个或多个计算机程序,这些计算机程序在从存储介质1106加载到本地存储器1102之后,在系统软件1121之上执行。在客户端-服务器体系结构中,应用软件1122可以包括客户端软件和服务器软件。例如,在一个实施例中,客户端软件可以在客户端计算系统上执行,该客户端计算系统不同于并且独立于执行服务器软件的服务器计算系统。
软件环境1120还可以包括浏览器软件1126以便访问通过本地或远程计算网络提供的数据。进一步,软件环境1120可以包括用户接口1124(例如图形用户接口(GUI))以便接收用户命令和数据。有必要重申,上面描述的硬件和软件体系结构和环境用于实例目的。因此,可以在任何类型的系统体系结构、功能或逻辑平台或处理环境上实现一个或多个实施例。
还应当理解,逻辑代码、程序、模块、过程、方法,以及每种方法的相应过程的执行顺序完全是示例性的。取决于实现,过程或任何底层子过程和方法可以以任何顺序执行或同时执行,除非本公开中另有所指。进一步,除非明确地另有所指,否则本公开的上下文中的逻辑代码定义并不与任何特定程序设计语言相关或限于任何特定程序设计语言,并且可以包括一个或多个模块,它们可以在分布式、非分布式、单处理或多处理环境中的一个或多个处理器上执行。
所属技术领域的技术人员知道,软件实施例可以包括固件、驻留软件、微代码等。包括软件或硬件或者组合软件和硬件方面的某些组件在此通常可以统称为“电路”、“模块”或“系统”。此外,所公开的主题可以实现为包含在一个或多个计算机可读存储介质中的计算机程序产品,这些介质在其中包含计算机可读程序代码。可以使用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者上述的任意合适的组合。
在此文档的上下文中,计算机可读存储介质可以是任何能够包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读程序代码。这种传播的数据信号可以采用多种形式,包括—但不限于—电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括—但不限于—无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行所公开的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。
程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
将参考根据实施例的方法、装置(系统)和计算机程序产品的流程图或框图公开某些实施例。应当理解,流程图或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用机器或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图或框图中的一个或多个方框中规定的功能或动作的装置。
也可以把这些计算机程序指令存储在计算机可读存储介质中,这些指令使得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在计算机可读存储介质中的指令就产生出包括实现流程图或框图中的一个或多个方框中规定的功能或动作的指令的制造品(article ofmanufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机或机器实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图或框图中的一个或多个方框中规定的功能或动作的过程。
附图中的流程图和框图显示了根据不同实施例的系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能可以以任何顺序发生,或者以不同于附图中所标注的顺序发生。
例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在此参考一个或多个特性或实施例提供了所要求保护的主题。所属技术领域的技术人员将认识到并知道,尽管在此提供了示例性实施例的详细性质,但是可以向所述实施例应用更改和修改而不会限制或偏离总体预期的范围。在此提供的实施例的这些和各种其它改变和组合,均在权利要求及其全部等效物限定的所公开的主题的范围之内。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
采用按需自助式服务,云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池允许提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性能力能够被迅速、有弹性地(有时是自动地)部署,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用能力往往显得是无限的,并能在任意时候都能获取任意数量的能力。
可测量的服务允许云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
取决于不同的实现,有几个服务模块可用。软件即服务(SaaS)向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS)向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS)向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其它基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
可以提供几个部署模型。私有云提供单独为某个组织运行的云基础架构。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云提供被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体的云基础架构。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云可以提供向公众或大型产业群提供并由出售云服务的组织拥有的云基础架构。
混合云提供由两个或更多部署模型的云(私有云、共同体云或公共云)组成的云基础架构,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图3A,其中显示了云计算节点的一个例子。图3A显示的云计算节点2010仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点2010能够被用来实现和/或执行以上所述的任何功能。
云计算节点2010具有计算机系统/服务器2012,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器2012一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统或设备的分布式云计算技术环境,等等。
计算机系统/服务器2012可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器2012可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储器件的本地或远程计算机系统存储介质上。
如图3A所示,云计算节点2010中的计算机系统/服务器2012以通用计算设备的形式表现。计算机系统/服务器2012的组件可以包括但不限于:一个或者多个处理器或者处理单元2016,系统存储器2028,连接不同系统组件(包括系统存储器2028和处理器2016)的总线2018。
总线2018表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA(EISA)总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器2012典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器2012访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器2028可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)2030和/或高速缓冲存储器2032。
计算机系统/服务器2012可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统2034可以用于读写不可移动的、非易失性磁介质(图3A未显示,通常称为“硬盘驱动器”)。尽管图3A中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。
在一些情况下,上述组件可以通过一个或者多个数据介质接口与总线2018相连。如下面进一步示出和描述的,存储器2028可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行一个或多个实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器2028中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行一个或多个实施例的功能和/或方法。
计算机系统/服务器2012也可以与一个或多个外部设备2014(例如键盘、指向设备、显示器2024等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器2012交互的设备通信,和/或与使得该计算机系统/服务器2012能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口2022进行。并且,计算机系统/服务器2012还可以通过网络适配器2020与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。
如图所示,网络适配器2020通过总线2018与计算机系统/服务器2012的其它组件通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器2012一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图3B,其中显示了示例性的云计算环境2050。如图所示,云计算环境2050包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点2010,本地计算设备例如可以是个人数字助理(PDA)或移动电话2054A,台式电脑2054B、笔记本电脑2054C和/或汽车计算机系统2054N。
云计算节点2010之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点2010进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境2050提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。
应当理解,图3B显示的各类计算设备2054A-N仅仅是示意性的,云计算节点2010以及云计算环境2050可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3C,其中显示了云计算环境2050(图3B)提供的一组功能抽象层。首先应当理解,图3C所示的组件、层以及功能都仅仅是示意性的,本发明的一个或多个实施例不限于此。如图3C所示,提供下列层和对应功能:
硬件和软件层2060包括硬件和软件组件。硬件组件的例子包括:主机,例如系统;基于RISC(精简指令集计算机)体系结构的服务器,例如IBM系统;IBM系统;IBM系统;存储器件;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM应用服务器软件;数据库软件,例如IBM数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
虚拟层2062提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层2064可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取。
计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。
服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层2066提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;等等。

Claims (8)

1.一种用于判断是否可以在计算系统上托管多个虚拟机VM的方法,所述计算系统具有支持所述VM中的至少一个VM的资源,所述方法包括:
确定VM(v)的最大容许侵犯概率maxPermInfrProb(v),其中“v”是从1到n的值,使得n是集合G中的VM的数量,如所述VM的SLA规定的那样;
将所述集合G分成多个组Gi(G1、...Gi、...Gn),使得每个组就针对组Gi的成员定义的maxPermInfrProb而言是同类的;
基于每个Gi的maxPermInfrProb值来组织组Gi
使用根据组Gi中的VM的资源需求的统计记录计算的maxPermInfrProb(Gi),计算组Gi的有效大小ES;
其中基于以下操作计算组Gi的总有效大小:
定义新组(G’1、...G’i、...G’n),使得G’i是G1、G2、...Gi的并集;
为新组(G’1、...G’i、...G’n)指定第二阈值,所述第二阈值提供最大容许侵犯概率maxPermInfrProb’,使得:
maxPermInfrProb’(G’1)=maxPermInfrProb(G1)
maxPermInfrProb’(G’i)=maxPermInfrProb(Gi)-maxPermInfrProb(Gi-1)
其中组G的总有效大小等于ES(G’i)的最大值。
2.根据权利要求1的方法,其中在所述计算系统上托管所述多个VM的可行性取决于G的所述总有效大小。
3.根据权利要求1的方法,其中响应于确定G的所述总有效大小小于或等于主机容量,可以在计算系统上托管多个虚拟机VM。
4.根据权利要求3的方法,其中如此关联与组Gi相关的份额:使得份额值随着maxPermInfrProb值的减小而增大,这允许在出现争用的情况下,通过根据减小的maxPermInfrProb值分配资源来仲裁资源。
5.一种用于判断是否可以在计算系统上托管多个虚拟机VM的系统,所述计算系统具有支持所述VM中的至少一个VM的资源,所述系统包括:
一逻辑单元,其用于确定VM(v)的最大容许侵犯概率maxPermInfrProb(v),其中“v”是从1到n的值,使得n是集合G中的VM的数量,如所述VM的SLA规定的那样;
一逻辑单元,其用于将所述集合G分成多个组Gi(G1、...Gi、...Gn),使得每个组就针对组Gi的成员定义的maxPermInfrProb而言是同类的;
一逻辑单元,其用于基于每个Gi的maxPermInfrProb值来组织组Gi
一逻辑单元,其用于使用根据组Gi中的VM的侵犯历史的统计分析计算的maxPermInfrProb(Gi),计算组Gi的有效大小ES;
其中基于以下操作计算组Gi的总有效大小:
定义新组(G’1、...G’i、...G’n),使得G’i是G1、G2、...Gi的并集;
为新组(G’1、...G’i、...G’n)指定第二阈值,所述第二阈值提供最大容许侵犯概率maxPermInfrProb’,使得:
maxPermInfrProb’(G’1)=maxPermInfrProb(G1)
maxPermInfrProb’(G’i)=maxPermInfrProb(Gi)-maxPermInfrProb(Gi-1)
其中组G的总有效大小等于ES(G’i)的最大值。
6.根据权利要求5的系统,其中在所述计算系统上托管所述多个VM的可行性取决于G的所述总有效大小。
7.根据权利要求5的系统,其中响应于确定G的所述总有效大小小于或等于主机容量,可以在计算系统上托管多个虚拟机VM。
8.根据权利要求7的系统,其中如此关联与组Gi相关的份额:使得份额值随着maxPermInfrProb值的减小而增大,这允许在出现争用的情况下,通过根据减小的maxPermInfrProb值分配资源来仲裁资源。
CN201310400678.4A 2012-09-06 2013-09-05 虚拟化计算环境中的资源分配方法和系统 Active CN103677998B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/604,640 2012-09-06
US13/604,640 US9047111B2 (en) 2012-09-06 2012-09-06 Resource allocation in a virtualized computing environment

Publications (2)

Publication Number Publication Date
CN103677998A CN103677998A (zh) 2014-03-26
CN103677998B true CN103677998B (zh) 2016-10-26

Family

ID=50098669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310400678.4A Active CN103677998B (zh) 2012-09-06 2013-09-05 虚拟化计算环境中的资源分配方法和系统

Country Status (3)

Country Link
US (1) US9047111B2 (zh)
CN (1) CN103677998B (zh)
DE (1) DE102013216735A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9584435B2 (en) * 2013-08-05 2017-02-28 Verizon Patent And Licensing Inc. Global cloud computing environment resource allocation with local optimization
US10437624B2 (en) 2014-06-10 2019-10-08 Hewlett Packard Enterprise Development Lp Service level based categorization of virtual machines
US9658875B2 (en) 2015-05-01 2017-05-23 International Business Machines Corporation Anti-collocating multiple virtual entities using prioritized graph coloring and iterative placement
US9733970B2 (en) * 2015-08-21 2017-08-15 International Business Machines Corporation Placement of virtual machines on preferred physical hosts
US9852035B2 (en) * 2015-08-25 2017-12-26 International Business Machines Corporation High availability dynamic restart priority calculator
US11461144B2 (en) 2015-10-21 2022-10-04 Hewlett Packard Enterprise Development Lp Assignment of processes to computational resources
US10990926B2 (en) * 2015-10-29 2021-04-27 International Business Machines Corporation Management of resources in view of business goals
US11263006B2 (en) 2015-11-24 2022-03-01 Vmware, Inc. Methods and apparatus to deploy workload domains in virtual server racks
CN106020933B (zh) * 2016-05-19 2018-12-28 山东大学 基于超轻量虚拟机的云计算动态资源调度系统及方法
US10505832B2 (en) * 2017-05-10 2019-12-10 Sap Se Resource coordinate system for data centers
US10719344B2 (en) 2018-01-03 2020-07-21 Acceture Global Solutions Limited Prescriptive analytics based compute sizing correction stack for cloud computing resource scheduling
EP3508976B1 (en) * 2018-01-03 2023-09-20 Accenture Global Solutions Limited Prescriptive analytics based compute sizing correction stack for cloud computing resource scheduling
CN108365991B (zh) * 2018-02-26 2021-09-07 重庆邮电大学 面向无线网络虚拟化环境的下行功率资源分配方法
JP6973292B2 (ja) * 2018-05-24 2021-11-24 日本電信電話株式会社 Vm優先度制御システムおよびvm優先度制御方法
US11366702B1 (en) * 2019-03-29 2022-06-21 United Services Automobile Association (Usaa) Dynamic allocation of resources
US10459757B1 (en) 2019-05-13 2019-10-29 Accenture Global Solutions Limited Prescriptive cloud computing resource sizing based on multi-stream data sources
US11782602B2 (en) * 2021-06-24 2023-10-10 Western Digital Technologies, Inc. Providing priority indicators for NVMe data communication streams

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1764127A (zh) * 2004-10-18 2006-04-26 国际商业机器公司 向高级客户分配资源的方法和数据处理机
CN101540771A (zh) * 2008-03-20 2009-09-23 Sap股份公司 利用隔离等级条款自动供给托管应用

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291411B2 (en) 2007-05-21 2012-10-16 International Business Machines Corporation Dynamic placement of virtual machines for managing violations of service level agreements (SLAs)
JP5368907B2 (ja) 2009-08-10 2013-12-18 株式会社エヌ・ティ・ティ・データ サーバ管理システム、サーバ管理方法、及びプログラム
JP5531831B2 (ja) * 2010-07-06 2014-06-25 富士通株式会社 通信装置、及び通信方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1764127A (zh) * 2004-10-18 2006-04-26 国际商业机器公司 向高级客户分配资源的方法和数据处理机
CN101540771A (zh) * 2008-03-20 2009-09-23 Sap股份公司 利用隔离等级条款自动供给托管应用

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Effective VM sizing in virtualized data centers;Ming Chen等;《Integrated Network Management (IM), 2011 IFIP/IEEE International Symposium on》;20110527;第594-601页 *
SLA-Based Service Composition in Enterprise Computing;Kaiqi Xiong等;《Quality of Service, 2008. IWQoS 2008. 16th International Workshop on》;20080604;第30-39页 *
云计算中基于SLA的服务可信协商与访问控制策略;胡春华等;《中国科学:信息科学》;20120331;第42卷(第3期);第314-332页 *
云计算环境下的自适应资源管理技术综述;王晶等;《计算机工程与设计》;20120630;第33卷(第6期);第2127-2132页 *

Also Published As

Publication number Publication date
CN103677998A (zh) 2014-03-26
US20140068609A1 (en) 2014-03-06
DE102013216735A1 (de) 2014-03-06
US9047111B2 (en) 2015-06-02

Similar Documents

Publication Publication Date Title
CN103677998B (zh) 虚拟化计算环境中的资源分配方法和系统
CN103946831B (zh) 用于模板的成本感知的选择以供应共享资源的系统和方法
US11409556B2 (en) Custom placement policies for virtual machines
CN106020940B (zh) 用于确定数据集的放置的存储层级的方法和系统
CN103729250B (zh) 用于选择被配置为满足一组要求的数据节点的方法和系统
US20180239880A1 (en) Detecting and tracking virtual containers
CN104731658B (zh) 供应和合并共享资源以最大化资源可用性的方法和系统
CN103379114B (zh) 用于在MapReduce系统中保护隐私数据的方法和装置
CN110163474A (zh) 一种任务分配的方法及设备
CN102736972B (zh) 对待测试应用的测试例进行处理的方法和系统
CN104216662B (zh) 用于跨远程复制关系的卷布置的方法和系统
CN103593755A (zh) 授权计算资源访问的方法和系统
CN103970607A (zh) 使用等价集合来计算优化虚拟机分配的方法和装置
US9424403B2 (en) Obtaining software asset insight by analyzing collected metrics using analytic services
CN104866513A (zh) 用于跨租户数据访问的系统和方法
CN103814358A (zh) 服务器群内的虚拟机放置
CN106066812A (zh) 基于应用的历史信息管理资源
US10686720B2 (en) Integrated capacity and architecture design tool
CN105938525B (zh) 虚拟机设备的基于目录的发现
CN104657411B (zh) 用于信息技术资源管理的方法和系统
CN104252345A (zh) 在云环境中管理复杂对象的方法及系统
CN107343041A (zh) 一种基于云计算的精准扶贫管理系统与方法
CN103793457B (zh) 用于使用利用率分析管理存储器利用率的系统和方法
CN104166581B (zh) 一种面向增量制造设备的虚拟化方法
US11526791B2 (en) Methods and systems for diverse instance generation in artificial intelligence planning

Legal Events

Date Code Title Description
PB01 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